Dustin J. Mitchell
5bae2b6464
remove debug print
2021-10-24 21:41:41 -04:00
Dustin J. Mitchell
ef1d8f37a8
write config defaults once
2021-10-10 01:43:30 +00:00
Dustin J. Mitchell
329c0d0aef
move ServerConfig to crate::server
2021-10-10 01:35:12 +00:00
Dustin J. Mitchell
4d19ca7bdb
add server-side config --snapshot-{days,versions}
2021-10-10 01:28:05 +00:00
Dustin J. Mitchell
74aee49107
Merge pull request #297 from djmitche/versionid-nil
...
Replace NO_VERSION_ID with NIL_VERSION_ID
2021-10-09 21:14:43 -04:00
Dustin J. Mitchell
aaac1c3356
Use App::configure to set up actix
...
This avoids the need for the messy cache-control-header macro.
Otherwise, it has no effect.
2021-10-09 18:07:25 -04:00
Dustin J. Mitchell
536b88c8f4
Replace NO_VERSION_ID with NIL_VERSION_ID
...
The docs refer to this as the "nil version ID" so let's do the same.
This started out more ambitiously, to change this to `VersionId::NIL`,
but that required making VersionId a newtype and all of the implicit
conversions from VersionId to Uuid would have to be explicit. That
didn't seem wortht the trouble.
2021-10-09 17:59:09 -04:00
Dustin J. Mitchell
7bb6ea6865
Request snapshots in AddVersion
2021-10-08 23:15:48 -04:00
Dustin J. Mitchell
d1da8eee52
Add add_snapshot API method
2021-10-08 23:15:48 -04:00
Dustin J. Mitchell
e2f79edad6
add get_snapshot API method
2021-10-08 23:15:48 -04:00
Dustin J. Mitchell
53d1f8dbc2
update get_child_version to distinguish gone and not-found
2021-10-08 23:15:48 -04:00
Dustin J. Mitchell
2570956710
[breaking] Add snapshot support to server storage
...
This refactors the storage API pretty substantially, and represents a
breaking change to the schema used by the sqlite storage
2021-10-08 23:15:48 -04:00
Dustin J. Mitchell
8d2be3b495
add get_version to server storage api
2021-10-08 23:15:48 -04:00
Dustin J. Mitchell
bcef6bf392
remove redundant {..}
2021-10-01 22:18:24 -04:00
Dustin J. Mitchell
a143660124
Switch to pretty_assertions
2021-10-02 01:08:26 +00:00
Dustin J. Mitchell
217f3bf28a
Add cache-control headers to API responses
2021-09-15 22:32:35 +00:00
Dustin J. Mitchell
ebcf9527dc
refactor sync-server into a lib crate with a binary
2021-09-12 21:30:04 +00:00
dbr
a4b67d9f4e
Remove unused error variant
2021-09-04 13:29:03 +10:00
dbr/Ben
477bf9e328
Tweaks from code review
...
Co-authored-by: Dustin J. Mitchell <dustin@v.igoro.us>
2021-09-04 12:05:30 +09:30
dbr
86deed3197
Remove unused Transaction from Txn
...
Also note about why StorageTxn isn't implemented
2021-06-16 11:22:17 +10:00
dbr
75f0447c7b
Fix empty-dir problem with server also, and add tests
2021-06-15 22:09:54 +10:00
dbr
c3bc93f631
Clipplease
2021-06-15 22:02:32 +10:00
dbr
7c665c9a77
Clippy things
2021-05-28 20:41:03 +10:00
dbr
0f6323e2de
Unused
2021-05-28 20:35:57 +10:00
dbr
aa2340965e
Merge branch 'main' into sqlstore
2021-05-28 12:17:09 +10:00
dbr
baa6b59e39
Remove KvStorage
2021-05-28 12:10:18 +10:00
dbr
98f2ab51cb
Functional sqlite backend
...
..but not too efficient, creating a new connection pretty much per-query
2021-05-28 12:09:36 +10:00
dbr
991b29da6c
WIP
2021-05-21 15:52:07 +10:00
Dustin J. Mitchell
373cef9d33
[breaking] Include /v1/ in the sync-server paths
...
This is an incompatible change to the sync-server protocol.
2021-05-14 12:51:24 -04:00
dbr
027225d2a3
More WIP.
...
Workaround for !Send SQLite causing problems as each get_txn creates a new transaction
2021-05-08 22:09:48 +10:00
dbr
7ff54ed0de
WIP. Open new connection for each transaction as workaround
2021-05-07 22:24:55 +10:00
dbr
60ff0a8d11
Very WIP (i.e broken) start of SQLite storage in server
2021-04-29 16:00:22 +10:00
Dustin J. Mitchell
c8d6619d71
Replace tempfile with tempdir
2021-04-16 19:29:27 -04:00
Dustin J. Mitchell
fdeadfd981
Fix upper_case_acronyms
lint
2021-03-29 13:26:02 +00:00
dbr
c04ece0e90
Fix one actual clippy lint: remove an unnecessary clone
2021-03-25 18:21:18 +11:00
dbr
4d9755c43b
Replace 'failure' crate with anyhow+thiserror
...
Closes #148
2021-03-25 16:33:35 +11:00
Dustin J. Mitchell
31378cb8d4
Include client key in a header, not the URL
...
Since this value is used both for identification and authentication, it
shouldn't be in the URL where it might be logged or otherwise
discovered.
2020-12-28 23:08:42 +00:00
Dustin J. Mitchell
92d629522b
rename client id -> client key
2020-12-28 21:32:59 +00:00
Dustin J. Mitchell
e555af8895
add request logging
2020-12-28 00:25:26 +00:00
Dustin J. Mitchell
8989b0d2e3
Fix clippy warnings and make them all errors
2020-12-24 17:39:49 +00:00
Dustin J. Mitchell
81cee8d375
use CARGO_PKG_VERSION for version
2020-11-29 20:35:25 -05:00
Dustin J. Mitchell
8f361c28b7
remove unnecessary warning suppression
2020-11-29 20:34:43 -05:00
Dustin J. Mitchell
0a1ee470f7
use log and env_logger, and add some logging around sync
2020-11-29 18:18:28 -05:00
Dustin J. Mitchell
786d5b6a17
Implement actual on-disk storage for sync-server.
2020-11-29 17:41:28 -05:00
Dustin J. Mitchell
42d988d601
fix clippy warnings
2020-11-29 14:05:51 -05:00
Dustin J. Mitchell
97a8a87c24
Merge pull request #64 from djmitche/issue57
...
Add RemoteServer to the taskchampion crate
2020-11-27 20:23:39 -05:00
Dustin J. Mitchell
2a37f090a5
Add RemoteServer to the taskchampion crate
2020-11-27 20:15:17 -05:00
Dustin J. Mitchell
3092a6bb7f
do not require taskchampion from sync-server
2020-11-27 20:08:54 -05:00
Dustin J. Mitchell
5b1b911bf7
Move add_version and get_child_version to server module
...
..and add some tests specifically for those functions, in the absence of
all the HTTP nonsense.
2020-11-26 19:59:52 -05:00
Dustin J. Mitchell
fb22b9686f
refactor sync server to use pluggable storage
...
..with a fixed implementation of the replica / server protocol logic.
There isn't much logic yet, and there's a lot of boilerplate to take
care of, so this looks a little lopsided, but I'm confident this is the
right structure for this code's future.
2020-11-26 19:59:52 -05:00