{ "swagger": "2.0", "info": { "title": "Homethings API", "contact": {}, "version": "1.0" }, "paths": { "/api/v1/auth/check": { "get": { "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Auth" ], "summary": "Check auth", "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.UserResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } } } } }, "/api/v1/auth/login": { "post": { "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Auth" ], "summary": "Log in user", "parameters": [ { "description": "Request body", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/dto.LoginRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.LoginResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } } } } }, "/api/v1/images": { "post": { "security": [ { "APIKey": [] } ], "consumes": [ "multipart/form-data" ], "produces": [ "application/json" ], "tags": [ "Images" ], "summary": "Add images", "parameters": [ { "type": "integer", "description": "Place ID", "name": "place_id", "in": "formData" }, { "type": "integer", "description": "Thing ID", "name": "thing_id", "in": "formData" }, { "type": "array", "items": { "type": "file" }, "description": "Files", "name": "files", "in": "formData", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.EmptyResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } } } } }, "/api/v1/images/place/{imageId}": { "delete": { "security": [ { "APIKey": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Images" ], "summary": "Delete image", "parameters": [ { "type": "integer", "description": "Image ID", "name": "imageId", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.EmptyResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } } } } }, "/api/v1/images/place/{placeId}": { "get": { "security": [ { "APIKey": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Images" ], "summary": "Get images by place ID (with child places)", "parameters": [ { "type": "integer", "description": "Place ID", "name": "placeId", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.ImagesResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } } } } }, "/api/v1/images/thing/{imageId}": { "delete": { "security": [ { "APIKey": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Images" ], "summary": "Delete image", "parameters": [ { "type": "integer", "description": "Image ID", "name": "imageId", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.EmptyResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } } } } }, "/api/v1/images/thing/{thingId}": { "get": { "security": [ { "APIKey": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Images" ], "summary": "Get images by thing ID", "parameters": [ { "type": "integer", "description": "Thing ID", "name": "thingId", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.ImagesResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } } } } }, "/api/v1/places": { "get": { "security": [ { "APIKey": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Places" ], "summary": "Get places list", "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.PlacesResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } } } }, "post": { "security": [ { "APIKey": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Places" ], "summary": "Add place", "parameters": [ { "description": "Request body", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/dto.AddPlaceRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.PlaceResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } } } } }, "/api/v1/places/tree": { "get": { "security": [ { "APIKey": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Places" ], "summary": "Get places tree", "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.PlaceTreeResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } } } } }, "/api/v1/places/{parentPlaceId}/nested": { "get": { "security": [ { "APIKey": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Places" ], "summary": "Get nested places by parent ID", "parameters": [ { "type": "integer", "description": "Place ID", "name": "parentPlaceId", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.PlacesResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } } } } }, "/api/v1/places/{placeId}": { "get": { "security": [ { "APIKey": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Places" ], "summary": "Get one place", "parameters": [ { "type": "integer", "description": "Place ID", "name": "placeId", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.PlaceResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/dto.EmptyResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } } } }, "put": { "security": [ { "APIKey": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Places" ], "summary": "Update place", "parameters": [ { "type": "integer", "description": "Place ID", "name": "placeId", "in": "path", "required": true }, { "description": "Request body", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/dto.UpdatePlaceRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.PlaceResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } } } }, "delete": { "security": [ { "APIKey": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Places" ], "summary": "Delete place", "parameters": [ { "type": "integer", "description": "Place ID", "name": "placeId", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.EmptyResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } } } } }, "/api/v1/tags": { "get": { "security": [ { "APIKey": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Tags" ], "summary": "Get tags", "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.TagsResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } } } }, "post": { "security": [ { "APIKey": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Tags" ], "summary": "Add tag", "parameters": [ { "description": "Request body", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/dto.AddTagRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.TagResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } } } } }, "/api/v1/tags/thing/{thingId}": { "get": { "security": [ { "APIKey": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Tags" ], "summary": "Get thing tags", "parameters": [ { "type": "integer", "description": "Thing ID", "name": "thingId", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.TagsResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } } } } }, "/api/v1/tags/{tagId}": { "get": { "security": [ { "APIKey": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Tags" ], "summary": "Get one tag", "parameters": [ { "type": "integer", "description": "Tag ID", "name": "tagId", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.TagResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/dto.EmptyResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } } } }, "put": { "security": [ { "APIKey": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Tags" ], "summary": "Update tag", "parameters": [ { "type": "integer", "description": "Tag ID", "name": "tagId", "in": "path", "required": true }, { "description": "Request body", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/dto.UpdateTagRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.TagResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } } } }, "delete": { "security": [ { "APIKey": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Tags" ], "summary": "Delete tag", "parameters": [ { "type": "integer", "description": "Tag ID", "name": "tagId", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.EmptyResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } } } } }, "/api/v1/tags/{tagId}/thing/{thingId}": { "post": { "security": [ { "APIKey": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Tags" ], "summary": "Add thing tag", "parameters": [ { "type": "integer", "description": "Tag ID", "name": "tagId", "in": "path", "required": true }, { "type": "integer", "description": "Thing ID", "name": "thingId", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.TagResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } } } }, "delete": { "security": [ { "APIKey": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Tags" ], "summary": "Delete thing tag", "parameters": [ { "type": "integer", "description": "Tag ID", "name": "tagId", "in": "path", "required": true }, { "type": "integer", "description": "Thing ID", "name": "thingId", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.EmptyResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } } } } }, "/api/v1/things": { "post": { "security": [ { "APIKey": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Things" ], "summary": "Add thing", "parameters": [ { "description": "Request body", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/dto.AddThingRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.ThingResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } } } } }, "/api/v1/things/notifications": { "post": { "security": [ { "APIKey": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Notifications" ], "summary": "Add thing notification", "parameters": [ { "description": "Request body", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/dto.AddThingNotificationRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.ThingNotificationResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } } } } }, "/api/v1/things/notifications/expired": { "get": { "security": [ { "APIKey": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Notifications" ], "summary": "Get expired thing notifications", "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.ThingNotificationsExtResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } } } } }, "/api/v1/things/notifications/{thingId}": { "get": { "security": [ { "APIKey": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Notifications" ], "summary": "Get thing notification", "parameters": [ { "type": "integer", "description": "Thing ID", "name": "thingId", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.ThingNotificationResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/dto.EmptyResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } } } }, "put": { "security": [ { "APIKey": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Notifications" ], "summary": "Update thing notification", "parameters": [ { "type": "integer", "description": "Thing ID", "name": "thingId", "in": "path", "required": true }, { "description": "Request body", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/dto.UpdateThingNotificationRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.ThingNotificationResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } } } }, "delete": { "security": [ { "APIKey": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Notifications" ], "summary": "Delete thing notification", "parameters": [ { "type": "integer", "description": "Thing ID", "name": "thingId", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.EmptyResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } } } } }, "/api/v1/things/place/{placeId}": { "get": { "security": [ { "APIKey": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Things" ], "summary": "Get things by place ID", "parameters": [ { "type": "integer", "description": "Place ID", "name": "placeId", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.ThingsExtResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } } } } }, "/api/v1/things/search/{search}": { "get": { "security": [ { "APIKey": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Things" ], "summary": "Search things", "parameters": [ { "type": "string", "description": "Search string", "name": "search", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.ThingResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } } } } }, "/api/v1/things/{thingId}": { "get": { "security": [ { "APIKey": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Things" ], "summary": "Get one thing", "parameters": [ { "type": "integer", "description": "Thing ID", "name": "thingId", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.ThingResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/dto.EmptyResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } } } }, "put": { "security": [ { "APIKey": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Things" ], "summary": "Update thing", "parameters": [ { "type": "integer", "description": "Thing ID", "name": "thingId", "in": "path", "required": true }, { "description": "Request body", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/dto.UpdateThingRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.ThingResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } } } }, "delete": { "security": [ { "APIKey": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Things" ], "summary": "Delete thing", "parameters": [ { "type": "integer", "description": "Thing ID", "name": "thingId", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.EmptyResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } } } } }, "/api/v1/users": { "put": { "security": [ { "APIKey": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Users" ], "summary": "Update user", "parameters": [ { "description": "Request body", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/dto.UpdateUserRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.EmptyResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } } } }, "post": { "security": [ { "APIKey": [] } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Users" ], "summary": "Add user", "parameters": [ { "description": "Request body", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/dto.AddUserRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.EmptyResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/dto.ErrorResponse" } } } } } }, "definitions": { "dto.AddPlaceRequest": { "type": "object", "required": [ "title" ], "properties": { "parent_id": { "type": "integer" }, "title": { "type": "string" } } }, "dto.AddTagRequest": { "type": "object", "required": [ "style", "title" ], "properties": { "style": { "type": "string" }, "title": { "type": "string" } } }, "dto.AddThingNotificationRequest": { "type": "object", "required": [ "notification_date", "thing_id" ], "properties": { "notification_date": { "type": "string", "format": "date-time" }, "thing_id": { "type": "integer" } } }, "dto.AddThingRequest": { "type": "object", "required": [ "place_id", "title" ], "properties": { "description": { "type": "string" }, "place_id": { "type": "integer" }, "title": { "type": "string" } } }, "dto.AddUserRequest": { "type": "object", "required": [ "password", "username" ], "properties": { "password": { "type": "string" }, "username": { "type": "string" } } }, "dto.EmptyResponse": { "type": "object" }, "dto.ErrorResponse": { "type": "object", "properties": { "error": { "type": "string" } } }, "dto.ImageResponse": { "type": "object", "properties": { "created_at": { "type": "string" }, "id": { "type": "integer" }, "image": { "type": "string" }, "place_id": { "type": "integer" }, "thing_id": { "type": "integer" } } }, "dto.ImagesResponse": { "type": "object", "properties": { "images": { "type": "array", "items": { "$ref": "#/definitions/dto.ImageResponse" } } } }, "dto.LoginRequest": { "type": "object", "required": [ "password", "username" ], "properties": { "password": { "type": "string" }, "username": { "type": "string" } } }, "dto.LoginResponse": { "type": "object", "properties": { "token": { "type": "string" } } }, "dto.PlaceResponse": { "type": "object", "properties": { "created_at": { "type": "string" }, "id": { "type": "integer" }, "parent_id": { "type": "integer" }, "title": { "type": "string" }, "updated_at": { "type": "string" } } }, "dto.PlaceTree": { "type": "object", "properties": { "nested": { "type": "array", "items": { "$ref": "#/definitions/dto.PlaceTree" } }, "place": { "$ref": "#/definitions/dto.PlaceResponse" } } }, "dto.PlaceTreeResponse": { "type": "object", "properties": { "places": { "type": "array", "items": { "$ref": "#/definitions/dto.PlaceTree" } } } }, "dto.PlacesResponse": { "type": "object", "properties": { "places": { "type": "array", "items": { "$ref": "#/definitions/dto.PlaceResponse" } } } }, "dto.TagResponse": { "type": "object", "properties": { "created_at": { "type": "string" }, "id": { "type": "integer" }, "style": { "type": "string" }, "title": { "type": "string" }, "updated_at": { "type": "string" } } }, "dto.TagsResponse": { "type": "object", "properties": { "tags": { "type": "array", "items": { "$ref": "#/definitions/dto.TagResponse" } } } }, "dto.ThingExtResponse": { "type": "object", "properties": { "created_at": { "type": "string" }, "description": { "type": "string" }, "id": { "type": "integer" }, "place_id": { "type": "integer" }, "tags": { "type": "array", "items": { "$ref": "#/definitions/dto.TagResponse" } }, "title": { "type": "string" }, "updated_at": { "type": "string" } } }, "dto.ThingNotificationExtResponse": { "type": "object", "properties": { "created_at": { "type": "string" }, "notification_date": { "type": "string" }, "place_id": { "type": "integer" }, "place_title": { "type": "string" }, "thing_id": { "type": "integer" }, "thing_title": { "type": "string" }, "updated_at": { "type": "string" } } }, "dto.ThingNotificationResponse": { "type": "object", "properties": { "created_at": { "type": "string" }, "id": { "type": "integer" }, "notification_date": { "type": "string" }, "updated_at": { "type": "string" } } }, "dto.ThingNotificationsExtResponse": { "type": "object", "properties": { "notifications": { "type": "array", "items": { "$ref": "#/definitions/dto.ThingNotificationExtResponse" } } } }, "dto.ThingResponse": { "type": "object", "properties": { "created_at": { "type": "string" }, "description": { "type": "string" }, "id": { "type": "integer" }, "place_id": { "type": "integer" }, "title": { "type": "string" }, "updated_at": { "type": "string" } } }, "dto.ThingsExtResponse": { "type": "object", "properties": { "things": { "type": "array", "items": { "$ref": "#/definitions/dto.ThingExtResponse" } } } }, "dto.UpdatePlaceRequest": { "type": "object", "required": [ "title" ], "properties": { "parent_id": { "type": "integer" }, "title": { "type": "string" } } }, "dto.UpdateTagRequest": { "type": "object", "required": [ "style", "title" ], "properties": { "style": { "type": "string" }, "title": { "type": "string" } } }, "dto.UpdateThingNotificationRequest": { "type": "object", "required": [ "notification_date" ], "properties": { "notification_date": { "type": "string", "format": "date-time" } } }, "dto.UpdateThingRequest": { "type": "object", "required": [ "place_id", "title" ], "properties": { "description": { "type": "string" }, "place_id": { "type": "integer" }, "title": { "type": "string" } } }, "dto.UpdateUserRequest": { "type": "object", "properties": { "password": { "type": "string" }, "username": { "type": "string" } } }, "dto.UserResponse": { "type": "object", "properties": { "username": { "type": "string" } } } }, "securityDefinitions": { "APIKey": { "type": "apiKey", "name": "Authorization", "in": "header" } } }