- 
                Notifications
    You must be signed in to change notification settings 
- Fork 0
Installations
RESTful protocol for Installations.
The following Foreign Key apply:
installations.scenario_id : Foreign Key to Scenarios
installations.belongsToInstallation : Foreign Key to Installations
GET /api/inst?scn_id={scn_id}&filter={filter}&sort={sort}&limit={limit}&skip={skip} |  index
Added to installations (for now) example:
Valid query parameters: @QueryParam("scn_id") String scn_id,
@QueryParam("filter") String filter,
@QueryParam("sort") String sort,
@QueryParam("limit") int limit,
@QueryParam("skip") int skip
sort parameter should be a JSON object, e.g. &sort={y:1} for ascending order and &sort={y:-1} for descending order More info on: http://www.mongodb.org/display/DOCS/Sorting+and+Natural+Order
filter should be a JSON object, e.g. &filter={x:234.232}
Retrieves the installations in the scenario (names, ids).
Consumes: Route, Parameter
Produces: JSON
{ "success": true, "message": "Installations retrieved successfully", "size": 2, "data": [ { "_id": { "$oid": "4ff5bca7e4b0082c63d08df6" }, "name": "Installation 1", "type": "Installation Type", "description": "Installation description", "scenario_id": "4ff5bca7e4b0082c63d08df3" }, { "_id": { "$oid": "4ff5bca7e4b0082c63d08df7" }, "name": "Installation 2", "description": "Installation description 2", "scenario_id": "4ff5bca7e4b0082c63d08df3", "belongsToInstallation": "4ff5bca7e4b0082c63d08df6" } ] }
GET /api/inst/{inst_id} | show
Fetches the properties of the Installation and other included entities (names, ids) such as Appliances that are included in the Installation.
Consumes: Route
Produces: JSON
POST /api/inst | create
Creates a new Installation based on the things added in the form.
Consumes: Route, JSON
 {
    name: "Installation 1",
    type : "Installation Type",
    description : "Installation description",
    scenario_id: "4ff5bca7e4b0082c63d08df3",
    belongsToInstallation : "4ff5bca7e4b0082c63d08df6"
    location : "Description of location",
    x : 234.232,
    y : 12.12
 }
Produces: JSON
{
  "success": true,
  "message": "Installation created successfully",
  "objectCreated": {
    name: "Installation 1",
    type : "Installation Type",
    description : "Installation description",
    scenario_id: "4ff5bca7e4b0082c63d08df3",
    belongsToInstallation : "4ff5bca7e4b0082c63d08df6"
    location : "Description of location",
    x : 234.232,
    y : 12.12,
    "_id": {
      "$oid": "4ff5c327e4b0082c63d08e01"
    }
  }
}
PUT /api/inst/{inst_id} | update
Updates the properties of the Installation after editing.
Consumes: Route, JSON
Produces: JSON
Send back the full JSON defining the Installation with the updated fields.
DELETE /api/inst/{inst-id} | delete
Deletes the existing Installation. The Appliances are not deleted if they are referenced in other Installations.
Consumes: Route
Produces: Delete status
{
    "name": "Installation",
    "type": "object",
    "description": "A consumer/producer of energy",
    "properties": {
        "scenario_id": {
            "type": "string",
            "description": "The Scenario this Installation belongs to",
            "optional": false
        },
        "name": {
            "type": "string",
            "description": "Name of the installation",
            "optional": true
        },
        "type": {
            "type": "string",
            "description": "Type of the installation",
            "optional": true
        },                
        "description": {
            "type": "string",
            "description": "Description of the installation",
            "optional": true
        },
        "belongsToInstallation": {
            "type": "string",
            "description": "The ObjectId of the Installation this installation belongs to",
            "optional": true
        },
        "location": {
            "type": "string",
            "description": "The location of the Installation",
            "optional": true
        },
        "x": {
            "type": "number",
            "description": "The X coordinates of the Installation",
            "optional": true
        },
        "y": {
            "type": "number",
            "description": "The Y coordinates of the Installation",
            "optional": true
        }
    },
    "additionalProperties" : false
}