aboutsummaryrefslogtreecommitdiffstats
path: root/rust/TODO
blob: 81ed7a06d0db04a891841a1c9e23db4be207e15a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40

correctness
- extra or typo-d fields in requests don't seem to be errors (silently accepted)
- enforce "previous_rev" required in updates
- reread/review editgroup accept code
- enforce "no editing if editgroup accepted" behavior
- changelog sequence without gaps
- batch insert editgroup behavior; always a new editgroup?
- redirect rev_id needs to be updated when primary changes

edit lifecycle
- editgroup: state to track review status?
- per-edit extra JSON

account helper tool
- set admin bit
- create editors
- create keypairs
- generate tokens
- test/validate tokens

later:
- tried using sync::Once to wrap test database initilization (so it would only
  run migrations once), but it didn't seem to work, maybe I had a bug or it
  didn't compile?
    => could also do a global mutex: https://github.com/SergioBenitez/Rocket/issues/697
- could some of the EntityCrud trait macro stuff be re-implemented as an enum type?
- pure-rust "benchmark" scripts that hit, eg, lookups and batch endpoints
    => criterion.rs benchmarking
- try new actix/openapi3 codegen branch
- refactor logging; use slog
- test using hash indexes for some UUID column indexes, or at least sha1 and
  other hashes (abstracts, file lookups)

schema/api questions:
- url table (for files)
- get works/releases by creator
- "types"
- define release field stuff
- what should entity POST return? include both the entity and the edit?