Commit Graph

27 Commits

Author SHA1 Message Date
zegkljan
8e713ae8da Existing proposals in data.
All checks were successful
continuous-integration/drone Build is passing
* Data contains existing proposals too.

#2
2023-08-03 22:46:20 +02:00
zegkljan
8440e3b7d7 Collecting usage info, change sqlite lib.
All checks were successful
continuous-integration/drone/push Build is passing
* X-User-ID header is processed to get user ID.
* Time of last request for a user is saved into DB.
* Time of last upload and download is stored for a user.
* Added DB migration to add columns into users table to store the times and app version.
* Backward fix of datatype of the deadline column in features table.
* Switched from crawshaw.io/sqlite to zombiezen.com/go/sqlite.
  * Refactored DB handling.
  * Used migration routine from zombiezen in favour of manual one.
  * Runtime DB reinit simply deletes the db file and initializes the db anew.

Fix #6
2023-06-11 18:06:52 +02:00
zegkljan
63e79c657c API doc, removed -reinit-db option.
All checks were successful
continuous-integration/drone/push Build is passing
* Finished API documentation.
* Removed -reinit-db command line argument.

Fix #5
2023-06-11 17:41:26 +02:00
zegkljan
f168a5966b Readme, removed APK option.
All checks were successful
continuous-integration/drone/push Build is passing
* Added README. (Fix #5)
* Removed -apk option.
2023-06-10 17:27:59 +02:00
zegkljan
90f8fef40a Utility APIs for app version management.
All checks were successful
continuous-integration/drone Build is passing
* GETing individual app versions.
* DELETEing individual app versions.

Fix #3
2022-10-02 16:31:13 +02:00
zegkljan
f9850c3264 Debug logging configuration.
* Accepts a -debug option which sets logging level to debug.
2022-09-27 21:56:28 +02:00
zegkljan
7c8a430f49 App version management.
* DB migration adds app_versions table for managing known app versions.
* /ping reads app version from User-Agent header and responds with latest version if the app is OKO and its version is older than the latest one stored.
* Added endpoint /app-versions which
  * lists all known versions via GET
  * adds/updates a version via POST

#3
Fix #4
2022-09-23 00:59:20 +02:00
zegkljan
c9377b04fc DB migration, small technicalities.
* DB migration rewritten:
  * Migration scripts are embedded as FS.
  * Migration versions are handled automatically.
* Use generics in utils.
2022-09-22 22:05:41 +02:00
zegkljan
c1cdd4f904 Retrieving proposals.
* Added GET /data/proposals endpoint which returns all submitted enhancement proposals.

Fix #2
2022-09-15 21:03:17 +02:00
zegkljan
a5d98c2eb7 Resizing photos, db vacuuming.
* Incoming feature photos are resized and compressed to JPEG to the given dimensions and quality.
* Database is vacuumed during cleanup.
2022-09-11 19:40:52 +02:00
zegkljan
7b1c3cfc28 Bugfix: failsafe join for images.
* Added failsafe join to only provide images that are bound to some photos.
2022-08-14 13:13:13 +02:00
zegkljan
19fc8e0322 DB migration, proposals.
* DB schema is migrated.
* Added mechanism for proposing app improvements.
2022-08-13 02:20:34 +02:00
zegkljan
e6fef137e7 Upgraded go & alpine, fix db checkpointing.
* Go version set to 1.19 in go.mod.
* Alpine upgraded to 3.16 in Dockerfile.
* DB restart checkpoint is forced manually after 15 mins of inactivity.
* DB truncate checkpoint is forced manually at exit.
2022-08-09 10:50:49 +02:00
zegkljan
7506421848 thumbnail content type
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone Build is passing
* content type of thumbnail is separated from the full photo content type
* remove git from build dependencies in Dockerfile
2022-02-20 01:09:54 +01:00
zegkljan
1cf44e3bfc build info
All checks were successful
continuous-integration/drone/push Build is passing
* API endpoint
* dockerfile adds commit hash and build time during build
2022-02-20 00:20:19 +01:00
zegkljan
7deb7e3f39 refining photo handling
All checks were successful
continuous-integration/drone/push Build is passing
* photo metedata provided with downloaded data
* data download recognizes application/json and application/zip accepted types and serves bare json and zip with photos respectively
* thumbnail handling and storage
2022-02-19 23:38:58 +01:00
zegkljan
7b4eb8d5d2 deadline of features
* features can have a deadline
* features with non-null deadline < now are deleted upon request for data
2022-02-13 02:40:28 +01:00
zegkljan
3615deb985 remote DB reset 2022-02-12 11:34:29 +01:00
zegkljan
e2aa0d1aea Dockerfile, settable port
* added Dockerfile
* server listenting port is configurable via CLI argument
2022-02-11 08:02:27 +01:00
zegkljan
a5500ec685 log update size 2022-02-06 22:10:49 +01:00
zegkljan
08a203e4a6 dual offline/online, map info
* Server provides map info with zoom, default center and paths to both downloadable pack and tile url template.
2022-02-05 17:56:13 +01:00
zegkljan
caeb5c9198 owner ID not null
* Feature owner ID is never null.
* For 'extra geometry', system user ID=0 is used.
2022-02-03 09:22:11 +01:00
zegkljan
7471c89143 db reinitialization flag 2022-01-30 10:37:35 +01:00
zegkljan
b512bc0d2f remove description and category, introduce properties
* fatures no longer have distinct description and category fields
* features now have a json field 'properties'
2022-01-30 10:31:41 +01:00
zegkljan
5deff38890 refactoring, support for storing feature photos
* errors put into separate package
* added table to store feature photos
* added API endpoints for serving photos
* POST /data extended to accept photos using a multipart/form-data body
2022-01-30 01:34:38 +01:00
zegkljan
395b17d1be data update
* foreign keys always enabled on each connection
* implemented data update (create, update, delete)
2022-01-29 00:48:32 +01:00
zegkljan
38318ca654 basic server
* basic untested implementation of server
* updating data not implemented yet
2022-01-28 00:29:06 +01:00