dbr
7c665c9a77
Clippy things
2021-05-28 20:41:03 +10:00
dbr
aa2340965e
Merge branch 'main' into sqlstore
2021-05-28 12:17:09 +10:00
dbr
f91f797244
Implement storage for local server
2021-05-28 11:38:46 +10:00
dbr
991b29da6c
WIP
2021-05-21 15:52:07 +10:00
Dustin J. Mitchell
73b6648d06
assert that working-set element 0 is None
2021-05-16 09:42:18 -04:00
Dustin J. Mitchell
5f6918fbc7
Skip element 0 when rebuilding the working set
...
The existing code was correct, assuming that element 0 is always None,
but this is clearer.
2021-05-16 09:42:17 -04:00
Dustin J. Mitchell
fa7623ebe7
Handle setting a working set item to None twice
...
Without this, setting an item to None that did not already exist failed,
because the kv delete operation did not find the referenced key.
This also checks that the index is not 0, which is not allowed as the
working set is 1-indexed.
2021-05-16 09:40:35 -04:00
Dustin J. Mitchell
3a2450cb23
provide context for errors to help debugging
2021-05-16 09:40:35 -04:00
Dustin J. Mitchell
cbe11a1d3d
fix new clippy warnings
2021-05-16 09:38:40 -04: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
ff894f6ff6
Comments and rustfmt
2021-04-29 11:01:46 +10:00
dbr
a3c9a76f1d
Explicit check that rusqlite::Transaction isn't auto-commited on drop
2021-04-29 10:58:34 +10:00
dbr
23531d73c4
Remove debug junk
2021-04-29 10:57:43 +10:00
dbr
e479c25c34
Tidier
2021-04-29 10:41:17 +10:00
dbr
cefd6fd6cc
Serialize Uuid as string for nicer debugging
...
Also implement ToSql/FromSql for Operation/TaskMap so errors are handled properly
2021-04-29 10:39:29 +10:00
dbr
d5724c4dc2
Unused
2021-04-29 10:37:04 +10:00
dbr
e06e33bee4
Remove kv storage backend
...
Now uses sqlite by default
2021-04-29 00:20:13 +10:00
dbr
cf70ef49ed
Minor tidying
2021-04-29 00:10:53 +10:00
dbr
5ae828b1eb
Implement working set methods
2021-04-29 00:09:54 +10:00
dbr
2b7e121e7e
Implement operations storage for SQLite
2021-04-28 12:35:50 +10:00
dbr
1959f0c63a
Implement all_task_uuids and base version methods
2021-04-27 19:35:45 +10:00
dbr
305e6e2ede
Appease clippy
2021-04-22 14:16:07 +10:00
dbr
11d0172bf8
fmt
2021-04-22 14:15:50 +10:00
dbr
a9b93e7c20
Use names for row.get(...)
2021-04-22 13:33:54 +10:00
dbr
4bd6c40daf
Use uuid feature of rusqlite
2021-04-22 13:31:15 +10:00
dbr
0f3729d4c8
sqlite: Get all rows
...
Needs some improvement to error handling
2021-04-22 12:54:34 +10:00
dbr
e40724b381
Start of SQLite backed storage #131
2021-04-22 11:48:05 +10:00
Dustin J. Mitchell
c8d6619d71
Replace tempfile with tempdir
2021-04-16 19:29:27 -04:00
Dustin J. Mitchell
c2349cf708
Update links to point to new org
2021-04-03 19:44:31 -04:00
Dustin J. Mitchell
3fc07c9e83
Merge pull request #170 from djmitche/dependabot/cargo/ureq-2.1.0
...
Bump ureq from 1.5.2 to 2.1.0
2021-03-29 19:51:16 -04:00
Dustin J. Mitchell
fdeadfd981
Fix upper_case_acronyms lint
2021-03-29 13:26:02 +00:00
Dustin J. Mitchell
0f02b38fd8
Modify ureq usage for new version
2021-03-28 17:48:31 -04:00
dbr
5ee67d65e2
Remove whitespace in comment to avoid cargo fmt doing weird things
2021-03-25 18:29:53 +11:00
dbr
6d77b9a319
cargo fmt
2021-03-25 17:10:11 +11:00
dbr
4d9755c43b
Replace 'failure' crate with anyhow+thiserror
...
Closes #148
2021-03-25 16:33:35 +11:00
Dustin J. Mitchell
ae4cee1ac3
add docs for the 'server' and 'storage' modules
2021-01-10 22:22:18 -05:00
Dustin J. Mitchell
02d9c577ab
use StorageConfig instead of ReplicaConfig
2021-01-10 22:22:18 -05:00
Dustin J. Mitchell
b004b6cb93
use ServerConfig::into_server instead of server::from_config
2021-01-10 22:22:18 -05:00
Dustin J. Mitchell
15ffc62279
rename taskstorage to storage
2021-01-10 22:22:17 -05:00
Dustin J. Mitchell
b95c146a7e
Adjust Tag syntax to match TaskWarrior
2021-01-10 03:47:38 +00:00
Dustin J. Mitchell
087769146e
Centralize API for working set to a single struct
...
Rather than allow addressing tasks either by working set ID or uuid,
with attendant performance issues, this moves the API for the working
set to a single struct that just serves as a 1-1 mapping of indexes to
UUIDs. It's up to the caller to use this information.
2021-01-09 23:42:27 +00:00
Dustin J. Mitchell
45d3e38c63
Always pass Uuids by value
...
Rust handles this well. Fixes #125 .
2021-01-09 22:09:06 +00:00
Dustin J. Mitchell
5e92770eb8
Automatically rebuild working set after sync
2021-01-02 14:47:36 -05:00
Dustin J. Mitchell
dc2df10158
Control whether to renumber the working set when rebuilding it
2021-01-02 14:47:36 -05:00
Dustin J. Mitchell
b62370c150
Rename replica.gc to replica.rebuild_working_set
...
The command-line operation is still `gc`, but we'll break that down into
finer pieces in the replica.
2021-01-02 13:23:48 -05: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
a8d45c67c6
Encrypt content sent to the server
...
This implements client-side encryption, so that users' task information
is not availble to the server (or to anyone who does not have the
`encryption_secret`).
2020-12-27 18:51:41 +00:00
Dustin J. Mitchell
00f548c713
implement generic report generation
2020-12-26 04:11:20 +00:00
Dustin J. Mitchell
e7b7e88bc9
convert unrwap to expect and add testing
2020-12-25 02:52:49 +00:00