summaryrefslogtreecommitdiffstats
path: root/rust/src/lib.rs
diff options
context:
space:
mode:
authorBryan Newbold <bnewbold@robocracy.org>2018-12-14 22:01:14 +0800
committerBryan Newbold <bnewbold@robocracy.org>2018-12-14 22:01:16 +0800
commit595a15cfd3b3bd1e06d13f6274867616bea61ef0 (patch)
treedfb10d3da8cc16d3868723cb66a1e2dc8d49ea3f /rust/src/lib.rs
parente2deb74b7839aa05c1827a830ffc5e3c68ed58b4 (diff)
downloadfatcat-595a15cfd3b3bd1e06d13f6274867616bea61ef0.tar.gz
fatcat-595a15cfd3b3bd1e06d13f6274867616bea61ef0.zip
many redirect implementations
Probably should have split this commit up, it's huge: - accept the state of "redirect to a deletion", where redirect_id is Some but rev_id is None. call this a "redirect"; previously this was an invalid state. - GET for a deleted entity returns a 200 and a stub entity, not a 404 - to PUT a redirect, or to "revert" an entity to point at a specific pre-existing revision, PUT a stub entity. things are getting messy here... to detect this state, ensure the 'state' field is blank/none (this is for API usage ergonomics, where results from a GET are often re-used in a PUT or even POST) - rustfmt - maybe even more small tweaks along the way? mystery meat! Tests are in python, not rust (and a future commit)
Diffstat (limited to 'rust/src/lib.rs')
-rw-r--r--rust/src/lib.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/rust/src/lib.rs b/rust/src/lib.rs
index ab293fa9..b7f1817a 100644
--- a/rust/src/lib.rs
+++ b/rust/src/lib.rs
@@ -1,5 +1,5 @@
#![allow(proc_macro_derive_resolution_fallback)]
-#![recursion_limit="128"]
+#![recursion_limit = "128"]
extern crate chrono;
extern crate fatcat_api_spec;
@@ -67,6 +67,10 @@ pub mod errors {
description("Invalid Entity State Transform")
display("tried to mutate an entity which was not in an appropriate state: {}", message)
}
+ OtherBadRequest(message: String) {
+ description("catch-all error for bad or unallowed requests")
+ display("broke a constraint or made an otherwise invalid request: {}", message)
+ }
}
}
}