Skip to content

Endpoints

Yazan edited this page Dec 11, 2023 · 5 revisions

Creating a house for a user

  • URL: /create-house
  • Rest method: POST
  • Request body example:
{
    "userId": "{some user id}",
    "rooms": [
        {
            "gasSensor": {},
            "humiditySensor": {},
            "lightSensor": {},
            "temperatureSensor": {},
            "ventilationSensor": {},
            "waterLeakSensor": {},
            "windows": [
                {
                    "material": "wood",
                    "windowSensor": {
                        "isWindowOpen": false
                    }
                }
            ],
            "doors": [
                {
                    "material": "wood",
                    "doorSensor": {
                        "isDoorOpen": false
                    }
                }
            ]
        }
    ],
    "kitchens": [
        {
            "gasSensor": {},
            "humiditySensor": {},
            "lightSensor": {},
            "temperatureSensor": {},
            "ventilationSensor": {},
            "waterLeakSensor": {},
            "windows": [
                {
                    "material": "wood",
                    "windowSensor": {
                        "isWindowOpen": false
                    }
                }
            ],
            "doors": [
                {
                    "material": "wood",
                    "doorSensor": {
                        "isDoorOpen": false
                    }
                }
            ]
        }
    ],
    "bathrooms": [
        {
            "gasSensor": {},
            "humiditySensor": {},
            "lightSensor": {},
            "temperatureSensor": {},
            "ventilationSensor": {},
            "waterLeakSensor": {},
            "windows": [
                {
                    "material": "wood",
                    "windowSensor": {
                        "isWindowOpen": false
                    }
                }
            ],
            "doors": [
                {
                    "material": "wood",
                    "doorSensor": {
                        "isDoorOpen": false
                    }
                }
            ]
        }
    ],
    "garages": [
        {
            "gasSensor": {},
            "humiditySensor": {},
            "lightSensor": {},
            "temperatureSensor": {},
            "ventilationSensor": {},
            "waterLeakSensor": {},
            "windows": [
                {
                    "material": "wood",
                    "windowSensor": {
                        "isWindowOpen": false
                    }
                }
            ],
            "doors": [
                {
                    "material": "wood",
                    "doorSensor": {
                        "isDoorOpen": false
                    }
                }
            ]
        }
    ],
    "livingRooms": [
        {
            "gasSensor": {},
            "humiditySensor": {},
            "lightSensor": {},
            "temperatureSensor": {},
            "ventilationSensor": {},
            "waterLeakSensor": {},
            "windows": [
                {
                    "windowSensor": {}
                }
            ],
            "doors": [
                {
                    "material": "wood",
                    "doorSensor": {
                        "isDoorOpen": false
                    }
                }
            ]
        }
    ],
    "gardens": [
        {
            "gasSensor": {},
            "humiditySensor": {},
            "lightSensor": {},
            "temperatureSensor": {},
            "doors": [
                {
                    "material": "wood",
                    "doorSensor": {
                        "isDoorOpen": false
                    }
                }
            ]
        }
    ],
    "doors": [
        {
            "material": "wood",
            "doorSensor": {
                "isDoorOpen": false
            }
        }
    ],
    "address": {
        "streetNumber": 29,
        "city": "Budapest",
        "country": "Hungary",
        "postcode": 1071
    }
}

Fetching generated data from sensors from houses in the system

  • URL: /fetch-all-sensors-data
  • Rest method: GET
  • Response body contains a list of house objects

Fetching stored data from sensors from houses in the system

  • URL: /fetch-all-sensors-data-no-generation
  • Rest method: GET
  • Response body contains a list of house objects

Create a user

  • URL: /users
  • Rest method: POST
  • Request body example:
{
    "username":"John doe",
    "email":"JohnDoe@gmail.com",
    "passwordHash":"8273y423ihr8374w"
}
  • Response body contains a response message

Remove a user

  • URL: /users/{id}
  • Rest method: DELETE
  • Response body contains a response message

Authenticate a user

  • URL: /users/login
  • Rest method: POST
  • Request body example:
{
    "username": "John Doe",
    "passwordHash": "some hash ksllsdkfdfklkdf"
}
  • Response body contains a response message

Update user

  • URL: /users/{id}
  • Rest method: PUT
  • Response body contains a response message

Get user by id

  • URL: /users/{id}
  • Rest method: GET
  • Response body contains user

Get all users

  • URL: /users
  • Rest method: GET
  • Response body contains a list of all users