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