Currently the frontend uses the following endpoints:
POST /projects -> creates a new project (updates DB)
PUT /projects/{puuid} --> replaces the current project (updates DB) - is called a lot from frontend
POST /projects/{puuid}/nodes --> create a new node BUT does not update the DB
DELETE /projects/{puuid}/nodes --> deletes node (stops dynamic service) BUT does not update DB
All this needs a review and should at least be modified like so (all should modify the DB):
POST /projects -> creates a new project, returns among other the project UUID
PUT /projects/{puuid} --> replaces the current project , its use should be reduced
PATCH /projects/{puuid} --> updates the project (for sharing rights, TSR, etc, project related stuff mostly)
POST /projects/{puuid}/nodes --> create a new node (pass key,version, params if frontend node)
(- GET /projects/{puuid}/nodes --> get all the nodes in the project)
GET /projects/{puuid}/nodes/{nuuid} --> get a node
(- PUT /projects/{puuid}/nodes/{nuuid} --> replaces node)
PATCH /projects/{puuid}/nodes/{nuuid} --> modify a node (for example position, parameters, etc...)
DELETE /projects/{puuid}/nodes/{nuuid} --> deletes node (stops dynamic service, stops computation if running and forced)
Currently the frontend uses the following endpoints:
POST /projects
-> creates a new project (updates DB)PUT /projects/{puuid}
--> replaces the current project (updates DB) - is called a lot from frontendPOST /projects/{puuid}/nodes
--> create a new node BUT does not update the DBDELETE /projects/{puuid}/nodes
--> deletes node (stops dynamic service) BUT does not update DBAll this needs a review and should at least be modified like so (all should modify the DB):
POST /projects
-> creates a new project, returns among other the project UUIDPUT /projects/{puuid}
--> replaces the current project , its use should be reducedPATCH /projects/{puuid}
--> updates the project (for sharing rights, TSR, etc, project related stuff mostly)POST /projects/{puuid}/nodes
--> create a new node (pass key,version, params if frontend node) (-GET /projects/{puuid}/nodes
--> get all the nodes in the project)GET /projects/{puuid}/nodes/{nuuid}
--> get a node (-PUT /projects/{puuid}/nodes/{nuuid}
--> replaces node)PATCH /projects/{puuid}/nodes/{nuuid}
--> modify a node (for example position, parameters, etc...)DELETE /projects/{puuid}/nodes/{nuuid}
--> deletes node (stops dynamic service, stops computation if running and forced)