Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
167 changes: 94 additions & 73 deletions project/roadmap.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
- [X] Usage guide
- [X] License
- [X] Automated CI build
- [ ] Nuget package
- [X] Nuget package

### API Implementations

Expand All @@ -20,89 +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

#### Transactions API

- [X] POST/_api/transaction Execute transaction

#### AQL User Functions API

- [X] POST /_api/aqlfunction
- [X] DELETE /_api/aqlfunction/{name}
- [X] GET /_api/aqlfunction
- [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

#### 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 Management API

- [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

## 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
- [ ] 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

Expand All @@ -114,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

Expand All @@ -142,10 +167,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
Expand Down