aboutsummaryrefslogtreecommitdiffstats
path: root/rust
diff options
context:
space:
mode:
authorBryan Newbold <bnewbold@robocracy.org>2023-01-04 19:44:27 -0800
committerBryan Newbold <bnewbold@robocracy.org>2023-01-04 20:18:25 -0800
commitee46c33544941a5104182a2e221e841a32cbbf78 (patch)
tree9534426f03678c3e78996e685402d3d3c38496f7 /rust
parent1b2cff693eeec25468d7dcf743408720a49859b9 (diff)
downloadfatcat-ee46c33544941a5104182a2e221e841a32cbbf78.tar.gz
fatcat-ee46c33544941a5104182a2e221e841a32cbbf78.zip
rust: update TODO and dev docs
Diffstat (limited to 'rust')
-rw-r--r--rust/HACKING.md20
-rw-r--r--rust/TODO14
2 files changed, 33 insertions, 1 deletions
diff --git a/rust/HACKING.md b/rust/HACKING.md
index 997c849d..6a89f169 100644
--- a/rust/HACKING.md
+++ b/rust/HACKING.md
@@ -70,3 +70,23 @@ Creating entities via API:
## Authentication
Uses macaroons. See `notes/auth.md` and maybe look in the guide.
+
+## Codegen Updates
+
+These are notes from another branch?
+
+### OpenAPI Generator 5.0
+
+ export OPENAPI_GENERATOR_VERSION=5.0.0-SNAPSHOT
+ ./openapi-generator-cli.sh version
+
+### OpenAPI Standard 3.0
+
+Should consider doing this conversion by hand, not using converter tool.
+
+Motivation to make this change for CLI was that rust-server doesn't support
+client Bearer authentication from OpenAPI 2.0.
+
+Request bodies now don't have a "name", so the parameter ends up being infered
+from the type. For auto_batch, this means "auto_batch_fileset" or whatever
+instead of "auto_batch".
diff --git a/rust/TODO b/rust/TODO
index 1baff6ea..a90727c5 100644
--- a/rust/TODO
+++ b/rust/TODO
@@ -1,7 +1,19 @@
-correctness
+from recent rust learning:
+- entity_crud: don't need "generic" implementations, can have default implementaiton in the trait itself
+- refactor all fatcatd code into `fatcat-server` directory (crate?)
+- possibly a single fatcat-admin command (part of fatcat-server) instead of individual ones? also much better ergonomics for this command (eg, lookups by username)
+
+correctness:
- changelog sequence without gaps
+observability:
+- remove sentry integration, we never use it and it is large/complex dependency
+- improve logging, especially errors
+ => query parameters for errors (but not auth tokens)
+ => database timing?
+ => any message for 400 errors
+
huge compile times:
- iron not small, but mostly reasonable deps
- does macaroon need both rustc-serialize and serde?