From 06fcbe198dd74b0666b6653f9c92fdc6a865e236 Mon Sep 17 00:00:00 2001 From: Pierre-Yves FARE Date: Fri, 12 Nov 2021 10:32:35 +0000 Subject: [PATCH 1/2] Update roadmap to include completed APIs. --- project/roadmap.md | 34 +++++++++++++++++++++++++++------- 1 file changed, 27 insertions(+), 7 deletions(-) diff --git a/project/roadmap.md b/project/roadmap.md index c133075d..19ff5573 100644 --- a/project/roadmap.md +++ b/project/roadmap.md @@ -7,7 +7,7 @@ - [X] Usage guide - [X] License - [X] Automated CI build -- [ ] Nuget package +- [X] Nuget package ### API Implementations @@ -81,16 +81,40 @@ A tick indicates an item is implemented and has automated tests in place. - [X] PATCH/_api/gharial/{graph}/vertex/{collection}/{vertex} Update a vertex - [X] PUT/_api/gharial/{graph}/vertex/{collection}/{vertex} Replace a vertex -#### Transactions API +#### Javascript Transaction API - [X] POST/_api/transaction Execute transaction +#### Stream Transaction API + +- [X] POST /_api/transaction/begin Begin transaction +- [X] GET /_api/transaction/{transaction-id} Get transaction status +- [X] PUT /_api/transaction/{transaction-id} Commit transaction +- [X] DELETE /_api/transaction/{transaction-id} Abort transaction +- [X] GET /_api/transaction Get currently running transactions + #### AQL User Functions API - [X] POST /_api/aqlfunction - [X] DELETE /_api/aqlfunction/{name} - [X] GET /_api/aqlfunction +#### User Management API + +- [X] POST /_api/user Create User +- [X] PUT /_api/user/{user}/database/{dbname} Set the database access level +- [X] PUT /_api/user/{user}/database/{dbname}/{collection} Set the collection access level +- [X] DELETE /_api/user/{user}/database/{dbname} Clear the database access level +- [X] DELETE /_api/user/{user}/database/{dbname}/{collection} Clear the collection access level +- [X] GET /_api/user/{user}/database/ List the accessible databases for a user +- [X] GET /_api/user/{user}/database/{dbname} Get the database access level +- [X] GET /_api/user/{user}/database/{dbname}/{collection} Get the specific collection access level +- [X] PUT /_api/user/{user} Replace User +- [X] PATCH /_api/user/{user} Modify User +- [X] DELETE /_api/user/{user} Remove User +- [X] GET /_api/user/{user} Fetch User +- [X] GET /_api/user/ List available Users + ## Versions 1.1+ ### Other API implementations @@ -99,7 +123,7 @@ A tick indicates an item is implemented and has automated tests in place. - [ ] PUT/_api/collection/{collection-name}/unload Unload collection - [ ] PUT/_api/collection/{collection-name}/load Load collection - [ ] GET/_api/collection/{collection-name}/checksum Return checksum for the collection -- [ ] GET/_api/collection/{collection-name}/figures Return statistics for a collection +- [X] GET/_api/collection/{collection-name}/figures Return statistics for a collection - [ ] PUT/_api/collection/{collection-name}/loadIndexesIntoMemory Load Indexes into Memory - [ ] PUT/_api/collection/{collection-name}/recalculateCount Recalculate count of a collection - [ ] PUT/_api/collection/{collection-name}/rotate Rotate journal of a collection @@ -142,10 +166,6 @@ A tick indicates an item is implemented and has automated tests in place. - [ ] TODO -#### User Management API - -- [ ] TODO - ## Version 2.0 #### New transport implementations From 7047a4016260dc41d1a93ceea03099097c41b7f8 Mon Sep 17 00:00:00 2001 From: Pierre-Yves FARE Date: Fri, 12 Nov 2021 10:42:51 +0000 Subject: [PATCH 2/2] Format endpoints as code for clarity. --- project/roadmap.md | 163 +++++++++++++++++++++++---------------------- 1 file changed, 82 insertions(+), 81 deletions(-) diff --git a/project/roadmap.md b/project/roadmap.md index 19ff5573..53ce0398 100644 --- a/project/roadmap.md +++ b/project/roadmap.md @@ -20,113 +20,114 @@ A tick indicates an item is implemented and has automated tests in place. #### Collections API -- [X] GET/_api/collection reads all collections -- [X] POST/_api/collection Create collection -- [X] DELETE/_api/collection/{collection-name} Drops a collection -- [X] GET/_api/collection/{collection-name} Return information about a collection -- [X] GET/_api/collection/{collection-name}/count Return number of documents in a collection -- [X] GET/_api/collection/{collection-name}/properties Read properties of a collection -- [X] PUT/_api/collection/{collection-name}/properties Change properties of a collection -- [X] PUT/_api/collection/{collection-name}/rename Rename collection -- [X] GET/_api/collection/{collection-name}/revision Return collection revision id -- [X] PUT/_api/collection/{collection-name}/truncate Truncate collection -- [X] GET/_api/collection/{collection-name}/figures Return statistics for a collection +- [X] `GET/_api/collection` reads all collections +- [X] `POST/_api/collection` Create collection +- [X] `DELETE/_api/collection/{collection-name}` Drops a collection +- [X] `GET/_api/collection/{collection-name}` Return information about a collection +- [X] `GET/_api/collection/{collection-name}/count` Return number of documents in a collection +- [X] `GET/_api/collection/{collection-name}/properties` Read properties of a collection +- [X] `PUT/_api/collection/{collection-name}/properties` Change properties of a collection +- [X] `PUT/_api/collection/{collection-name}/rename` Rename collection +- [X] `GET/_api/collection/{collection-name}/revision` Return collection revision id +- [X] `PUT/_api/collection/{collection-name}/truncate` Truncate collection +- [X] `GET/_api/collection/{collection-name}/figures` Return statistics for a collection #### Cursor API -- [X] POST/_api/cursor Create cursor -- [X] DELETE/_api/cursor/{cursor-identifier} Delete cursor -- [X] PUT/_api/cursor/{cursor-identifier} Read next batch from cursor +- [X] `POST/_api/cursor` Create cursor +- [X] `DELETE/_api/cursor/{cursor-identifier}` Delete cursor +- [X] `PUT/_api/cursor/{cursor-identifier}` Read next batch from cursor #### Database API -- [X] GET/_api/database List of databases -- [X] POST/_api/database Create database -- [X] GET/_api/database/current Information of the database -- [X] GET/_api/database/user List of accessible databases -- [X] DELETE/_api/database/{database-name} Drop database +- [X] `GET/_api/database` List of databases +- [X] `POST/_api/database` Create database +- [X] `GET/_api/database/current` Information of the database +- [X] `GET/_api/database/user` List of accessible databases +- [X] `DELETE/_api/database/{database-name}` Drop database #### Document API -- [X] DELETE/_api/document/{collection} Removes multiple documents -- [X] PATCH/_api/document/{collection} Update documents -- [X] POST/_api/document/{collection} Create document -- [X] PUT/_api/document/{collection} Replace documents -- [X] DELETE/_api/document/{document-handle} Removes a document -- [X] GET/_api/document/{document-handle} Read document -- [X] HEAD/_api/document/{document-handle} Read document header -- [X] PATCH/_api/document/{document-handle} Update document -- [X] PUT/_api/document/{document-handle} Replace document +- [X] `DELETE/_api/document/{collection}` Removes multiple documents +- [X] `PATCH/_api/document/{collection}` Update documents +- [X] `POST/_api/document/{collection}` Create document +- [X] `PUT/_api/document/{collection}` Replace documents +- [X] `DELETE/_api/document/{document-handle}` Removes a document +- [X] `GET/_api/document/{document-handle}` Read document +- [X] `HEAD/_api/document/{document-handle}` Read document header +- [X] `PATCH/_api/document/{document-handle}` Update document +- [X] `PUT/_api/document/{document-handle}` Replace document #### Graph API -- [X] GET/_api/gharial List all graphs -- [X] POST/_api/gharial Create a graph -- [X] DELETE/_api/gharial/{graph} Drop a graph -- [X] GET/_api/gharial/{graph} Get a graph -- [X] GET/_api/gharial/{graph}/edge List edge definitions -- [X] POST/_api/gharial/{graph}/edge Add edge definition -- [X] POST/_api/gharial/{graph}/edge/{collection} Create an edge -- [X] DELETE/_api/gharial/{graph}/edge/{collection}/{edge} Remove an edge -- [X] GET/_api/gharial/{graph}/edge/{collection}/{edge} Get an edge -- [X] PATCH/_api/gharial/{graph}/edge/{collection}/{edge} Modify an edge -- [X] PUT/_api/gharial/{graph}/edge/{collection}/{edge} Replace an edge -- [X] DELETE/_api/gharial/{graph}/edge/{definition} Remove an edge definition from the graph -- [X] PUT/_api/gharial/{graph}/edge/{definition} Replace an edge definition -- [X] GET/_api/gharial/{graph}/vertex List vertex collections -- [X] POST/_api/gharial/{graph}/vertex Add vertex collection -- [X] DELETE/_api/gharial/{graph}/vertex/{collection} Remove vertex collection -- [X] POST/_api/gharial/{graph}/vertex/{collection} Create a vertex -- [X] DELETE/_api/gharial/{graph}/vertex/{collection}/{vertex} Remove a vertex -- [X] GET/_api/gharial/{graph}/vertex/{collection}/{vertex} Get a vertex -- [X] PATCH/_api/gharial/{graph}/vertex/{collection}/{vertex} Update a vertex -- [X] PUT/_api/gharial/{graph}/vertex/{collection}/{vertex} Replace a vertex +- [X] `GET/_api/gharial` List all graphs +- [X] `POST/_api/gharial` Create a graph +- [X] `DELETE/_api/gharial/{graph}` Drop a graph +- [X] `GET/_api/gharial/{graph}` Get a graph +- [X] `GET/_api/gharial/{graph}/edge` List edge definitions +- [X] `POST/_api/gharial/{graph}/edge` Add edge definition +- [X] `POST/_api/gharial/{graph}/edge/{collection}` Create an edge +- [X] `DELETE/_api/gharial/{graph}/edge/{collection}/{edge}` Remove an edge +- [X] `GET/_api/gharial/{graph}/edge/{collection}/{edge}` Get an edge +- [X] `PATCH/_api/gharial/{graph}/edge/{collection}/{edge}` Modify an edge +- [X] `PUT/_api/gharial/{graph}/edge/{collection}/{edge}` Replace an edge +- [X] `DELETE/_api/gharial/{graph}/edge/{definition}` Remove an edge definition from the graph +- [X] `PUT/_api/gharial/{graph}/edge/{definition}` Replace an edge definition +- [X] `GET/_api/gharial/{graph}/vertex` List vertex collections +- [X] `POST/_api/gharial/{graph}/vertex` Add vertex collection +- [X] `DELETE/_api/gharial/{graph}/vertex/{collection}` Remove vertex collection +- [X] `POST/_api/gharial/{graph}/vertex/{collection}` Create a vertex +- [X] `DELETE/_api/gharial/{graph}/vertex/{collection}/{vertex}` Remove a vertex +- [X] `GET/_api/gharial/{graph}/vertex/{collection}/{vertex}` Get a vertex +- [X] `PATCH/_api/gharial/{graph}/vertex/{collection}/{vertex}` Update a vertex +- [X] `PUT/_api/gharial/{graph}/vertex/{collection}/{vertex}` Replace a vertex #### Javascript Transaction API -- [X] POST/_api/transaction Execute transaction +- [X] `POST/_api/transaction` Execute transaction #### Stream Transaction API -- [X] POST /_api/transaction/begin Begin transaction -- [X] GET /_api/transaction/{transaction-id} Get transaction status -- [X] PUT /_api/transaction/{transaction-id} Commit transaction -- [X] DELETE /_api/transaction/{transaction-id} Abort transaction -- [X] GET /_api/transaction Get currently running transactions +- [X] `POST /_api/transaction/begin` Begin transaction +- [X] `GET /_api/transaction/{transaction-id}` Get transaction status +- [X] `PUT /_api/transaction/{transaction-id}` Commit transaction +- [X] `DELETE /_api/transaction/{transaction-id}` Abort transaction +- [X] `GET /_api/transaction` Get currently running transactions -#### AQL User Functions API +#### AQL User Functions Management API -- [X] POST /_api/aqlfunction -- [X] DELETE /_api/aqlfunction/{name} -- [X] GET /_api/aqlfunction +- [X] `POST /_api/aqlfunction` Create AQL user function +- [X] `DELETE /_api/aqlfunction/{name}` Remove existing AQL user function +- [X] `GET /_api/aqlfunction` Return registered AQL user functions #### User Management API -- [X] POST /_api/user Create User -- [X] PUT /_api/user/{user}/database/{dbname} Set the database access level -- [X] PUT /_api/user/{user}/database/{dbname}/{collection} Set the collection access level -- [X] DELETE /_api/user/{user}/database/{dbname} Clear the database access level -- [X] DELETE /_api/user/{user}/database/{dbname}/{collection} Clear the collection access level -- [X] GET /_api/user/{user}/database/ List the accessible databases for a user -- [X] GET /_api/user/{user}/database/{dbname} Get the database access level -- [X] GET /_api/user/{user}/database/{dbname}/{collection} Get the specific collection access level -- [X] PUT /_api/user/{user} Replace User -- [X] PATCH /_api/user/{user} Modify User -- [X] DELETE /_api/user/{user} Remove User -- [X] GET /_api/user/{user} Fetch User -- [X] GET /_api/user/ List available Users +- [X] `POST /_api/user` Create User +- [X] `PUT /_api/user/{user}/database/{dbname}` Set the database access level +- [X] `PUT /_api/user/{user}/database/{dbname}/{collection}` Set the collection access level +- [X] `DELETE /_api/user/{user}/database/{dbname}` Clear the database access level +- [X] `DELETE /_api/user/{user}/database/{dbname}/{collection}` Clear the collection access level +- [X] `GET /_api/user/{user}/database/` List the accessible databases for a user +- [X] `GET /_api/user/{user}/database/{dbname}` Get the database access level +- [X] `GET /_api/user/{user}/database/{dbname}/{collection}` Get the specific collection access level +- [X] `PUT /_api/user/{user}` Replace User +- [X] `PATCH /_api/user/{user}` Modify User +- [X] `DELETE /_api/user/{user}` Remove User +- [X] `GET /_api/user/{user}` Fetch User +- [X] `GET /_api/user/` List available Users ## Versions 1.1+ ### Other API implementations #### Collections API -- [ ] PUT/_api/collection/{collection-name}/unload Unload collection -- [ ] PUT/_api/collection/{collection-name}/load Load collection -- [ ] GET/_api/collection/{collection-name}/checksum Return checksum for the collection -- [X] GET/_api/collection/{collection-name}/figures Return statistics for a collection -- [ ] PUT/_api/collection/{collection-name}/loadIndexesIntoMemory Load Indexes into Memory -- [ ] PUT/_api/collection/{collection-name}/recalculateCount Recalculate count of a collection -- [ ] PUT/_api/collection/{collection-name}/rotate Rotate journal of a collection + +- [ ] `PUT/_api/collection/{collection-name}/unload` Unload collection +- [ ] `PUT/_api/collection/{collection-name}/load` Load collection +- [ ] `GET/_api/collection/{collection-name}/checksum` Return checksum for the collection +- [X] `GET/_api/collection/{collection-name}/figures` Return statistics for a collection +- [ ] `PUT/_api/collection/{collection-name}/loadIndexesIntoMemory` Load Indexes into Memory +- [ ] `PUT/_api/collection/{collection-name}/recalculateCount` Recalculate count of a collection +- [ ] `PUT/_api/collection/{collection-name}/rotate` Rotate journal of a collection #### Simple Queries API @@ -138,11 +139,11 @@ A tick indicates an item is implemented and has automated tests in place. #### Graph Edges API -- [ ] GET/_api/edges/{collection-id} Read in- or outbound edges +- [ ] `GET/_api/edges/{collection-id}` Read in- or outbound edges #### Graph Traversal API -- [ ] POST/_api/traversal executes a traversal +- [ ] `POST/_api/traversal` executes a traversal ### Database Management API implementations