zegkljan
8e713ae8da
Existing proposals in data.
...
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.
...
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.
...
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.
...
continuous-integration/drone/push Build is passing
* Added README. (Fix #5 )
* Removed -apk option.
2023-06-10 17:27:59 +02:00
zegkljan
d25e58905f
OpenAPI spec, upgraded deps.
...
continuous-integration/drone/push Build is passing
* Added OpenAPI specification. (#5 )
* Upgraded to go 1.20.
* Upgraded dependencies.
2023-06-10 16:12:50 +02:00
zegkljan
90f8fef40a
Utility APIs for app version management.
...
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
2379a33594
Removed entrypoint script, launched directly.
2022-08-10 00:28:06 +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
4234c29ae2
Docker: add default to ARG to suppress a warning
continuous-integration/drone/push Build is passing
2022-02-20 10:51:23 +01:00
17256ad351
Fix CI git hash
continuous-integration/drone/push Build is passing
2022-02-20 10:42:57 +01:00
zegkljan
7506421848
thumbnail content type
...
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
...
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
...
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
f8b42f35f6
Merge pull request #1 from Cernobor/deploy-ci
...
continuous-integration/drone/push Build is passing
Tweak Dockerfile & add auto-deployment stuff
2022-02-13 17:41:09 +01:00
4f2b0a3e11
CI: master -> main branch
continuous-integration/drone/push Build is passing
2022-02-13 17:17:52 +01:00
88fa84790d
Add CI configs
continuous-integration/drone/push Build is passing
2022-02-13 17:08:53 +01:00
75f5300db3
Add Dockerignore
2022-02-13 17:06:51 +01:00
7e24464387
Split Dockerfile into build & run images
2022-02-13 16:38:58 +01:00
96db44ce34
Tweak Dockerfile
...
- Don't use git, copy local copy.
- Define volume as early as possible.
2022-02-13 16:26:40 +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
859d9c93ed
cosmetic change of CLI help message
2022-02-11 00:43:13 +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
01fb4c75f8
ignore vscode files
2022-01-28 00:42:46 +01:00
zegkljan
862350b875
fix cmdline flags, fix initdb script
...
* Actually parse the command line flags.
* Remove CASCADE from drop table.
2022-01-28 00:37:22 +01:00
zegkljan
38318ca654
basic server
...
* basic untested implementation of server
* updating data not implemented yet
2022-01-28 00:29:06 +01:00