aboutsummaryrefslogtreecommitdiffstats
path: root/proposals/2019-05-10_editgroup_endpoint_prefix.md
diff options
context:
space:
mode:
authorBryan Newbold <bnewbold@robocracy.org>2023-01-04 19:55:30 -0800
committerBryan Newbold <bnewbold@robocracy.org>2023-01-04 20:18:25 -0800
commit276ac2aa24166660bc6ffe7601cee44b5d848dae (patch)
tree8a35ce06e7ab9e6755b24abc41dee1115cf62788 /proposals/2019-05-10_editgroup_endpoint_prefix.md
parentee46c33544941a5104182a2e221e841a32cbbf78 (diff)
downloadfatcat-276ac2aa24166660bc6ffe7601cee44b5d848dae.tar.gz
fatcat-276ac2aa24166660bc6ffe7601cee44b5d848dae.zip
proposals: update status; add some old ones; consistent file names
Diffstat (limited to 'proposals/2019-05-10_editgroup_endpoint_prefix.md')
-rw-r--r--proposals/2019-05-10_editgroup_endpoint_prefix.md81
1 files changed, 81 insertions, 0 deletions
diff --git a/proposals/2019-05-10_editgroup_endpoint_prefix.md b/proposals/2019-05-10_editgroup_endpoint_prefix.md
new file mode 100644
index 00000000..6794266e
--- /dev/null
+++ b/proposals/2019-05-10_editgroup_endpoint_prefix.md
@@ -0,0 +1,81 @@
+
+Status: implemented
+
+# Editgroup API Endpoint Prefixes
+
+In summary, change the API URL design such that entity mutations (create,
+update, delete) happen under the URL path of an editgroup, with the
+`editgroup_id` as a path component, instead of being REST actions on the
+canonical URL with `editgroup_id` as a query parameter.
+
+This is a fairly large/systemic breaking change, though it should not change
+code *structure* much (just argument order/passing), and requires no SQL
+changes. It may remove corner-case features (like non-auto match operations?).
+
+
+## Renamed API URLs
+
+For all entity types:
+
+ /editgroup/<editgroup_id>/release/<ident>
+ PUT: update_release(editgroup_id, ident, entity)
+ DELETE: delete_release(editgroup_id, ident)
+
+ /editgroup/<editgroup_id>/release
+ POST: create_release(editgroup_id, entity)
+
+ /editgroup/auto/release/batch
+ POST: create_release_auto_batch(editgroup, [entity])
+ => actually new ReleaseAutoBatch(editgroup, entity_list) body
+
+ /editgroup/<editgroup_id>/release/edit/<edit_uuid>
+ DELETE: delete_release_edit(editgroup_id, edit_uuid)
+
+
+## New Webface URLs
+
+ /editgroup/<editgroup_id>/release/<ident>
+ GET: shows the (potentially WIP) entity as of this editgroup
+
+ Some way to delete an edit from an editgroup
+
+
+## Future: New API URLs
+
+Will not actually implement these for now.
+
+For all entity types:
+
+ /editgroup/<editgroup_id>/release/<ident>
+ GET: get_editgroup_release(editgroup_id, ident) => entity revision
+
+ /editgroup/<editgroup_id>/release/batch
+ POST: create_release_batch([entity])
+
+
+## SCRATCH
+
+container
+creator
+file
+fileset
+webcapture
+release
+work
+
+per entity:
+x auto_batch type
+x create_* path and editgroup_id parameter
+x delete old parameter
+x batch:
+x url
+x operationId
+x new single parameter
+x return type
+x put/delete
+x new url section
+x remove old editgroup_id parameters (2x)
+x delete edit
+x new url section
+x remove old edit_id
+