-
Notifications
You must be signed in to change notification settings - Fork 2
Projects
kyrcha edited this page Jul 23, 2012
·
5 revisions
RESTful protocol for projects.
GET /api/prj | index
Fetches the projects of the authenticated user. During the first prototype authentication may not be as important.
Consumes: Route
Produces: JSON
{
"success": true,
"message": "Project(s) retrieved successfully",
"size": 2,
"data": [
{
"_id":
{
"$oid": "4ff5bca7e4b0082c63d08df0"
},
"name": "My second project",
"description": "Another project"
},
{
"_id":
{
"$oid": "4ff5bca7e4b0082c63d08df1"
},
"name": "My project",
"description": "A project"
}
]
}
GET /api/prj/{prj_id} | show
Fetch the properties of a specific project.
Consumes: Route
Produces: JSON
{
"success": true,
"message": "Project(s) retrieved successfully",
"size": 1,
"data": [
{
"_id": {
"$oid": "4ff5bca7e4b0082c63d08df1"
},
"name": "My project",
"description": "A project"
}
]
}
if not found:
{
"success": true,
"message": "Project(s) retrieved successfully (No data were found though)",
"size": 0,
"data": []
}
if wrong MongoId provided:
{
"success": false,
"exception": "invalid ObjectId [4ff5bca7e4b0082c63d08df]",
"message": "Cannot get entity for collection: projects with qKey=_id and qValue=4ff5bca7e4b0082c63d08df"
}
PUT /{usrnm}/prj/{prj_id} | update
Updates the properties of a project under the project id in the route.
Consumes: Route, JSON
{
name : "My project",
description : "A project"
}
Produces: JSON
{
"success": true,
"message": "Project updated successfully",
"size": 1,
"data": [
{
"_id": {
"$oid": "4ff5bca7e4b0082c63d08df1"
},
"name": "My project",
"description": "A project"
}
]
}
POST /api/prj | create
Creates a new project based on the properties filled up in the form and sent in JSON format
Consumes: Route, JSON
{
name : "My project",
description : "A project"
}
Produces: JSON, Create status (if failed)
{
"success": true,
"message": "Project created successfully",
"objectCreated": {
"name": "My project",
"description": "A project",
"_id": {
"$oid": "4ff5bf83e4b0082c63d08dff"
}
}
}
DELETE /api/prj/{prj_id} | delete
Deletes the specific project.
Consumes: Route
Produces: Delete status in JSON
{
"success": true,
"message": "Object Removed",
"idToRemove": "4ff5bf83e4b0082c63d08dff",
"objectRemoved": {
"_id": {
"$oid": "4ff5bf83e4b0082c63d08dff"
},
"name": "My project",
"description": "A project"
}
}
{
"name": "Project",
"type": "object",
"description": "The project of a user containing his scenarios of experiments",
"properties": {
"name": {
"type": "string",
"description": "Name of the project",
"optional": true
},
"description": {
"type": "string",
"description": "Description of the project",
"optional": true
}
},
"additionalProperties" : false
}