Skip to content
kvavliak edited this page Jul 5, 2012 · 5 revisions

RESTful protocol for projects.

READ 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" } ] }

READ 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" }

UPDATE Project

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" } ] }

CREATE 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 Project

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" } }

Clone this wiki locally