2353 lines
59 KiB
YAML
2353 lines
59 KiB
YAML
basePath: /api/v1
|
|
definitions:
|
|
models.Cabinet:
|
|
properties:
|
|
createdAt:
|
|
type: string
|
|
description:
|
|
type: string
|
|
id:
|
|
type: integer
|
|
name:
|
|
type: string
|
|
roomId:
|
|
type: integer
|
|
updatedAt:
|
|
type: string
|
|
type: object
|
|
models.Component:
|
|
properties:
|
|
componentTypeId:
|
|
type: integer
|
|
createdAt:
|
|
type: string
|
|
description:
|
|
type: string
|
|
id:
|
|
type: integer
|
|
metadata:
|
|
items:
|
|
type: integer
|
|
type: array
|
|
minQuantity:
|
|
type: integer
|
|
name:
|
|
type: string
|
|
totalQuantity:
|
|
type: integer
|
|
unit:
|
|
type: string
|
|
updatedAt:
|
|
type: string
|
|
type: object
|
|
models.ComponentCode:
|
|
properties:
|
|
code:
|
|
type: string
|
|
codeType:
|
|
type: string
|
|
componentId:
|
|
type: integer
|
|
createdAt:
|
|
type: string
|
|
id:
|
|
type: integer
|
|
isPrimary:
|
|
type: boolean
|
|
metadata:
|
|
items:
|
|
type: integer
|
|
type: array
|
|
type: object
|
|
models.ComponentItem:
|
|
properties:
|
|
componentId:
|
|
type: integer
|
|
containerId:
|
|
type: integer
|
|
createdAt:
|
|
type: string
|
|
id:
|
|
type: integer
|
|
metadata:
|
|
items:
|
|
type: integer
|
|
type: array
|
|
quantity:
|
|
type: integer
|
|
status:
|
|
type: string
|
|
updatedAt:
|
|
type: string
|
|
type: object
|
|
models.ComponentType:
|
|
properties:
|
|
createdAt:
|
|
type: string
|
|
description:
|
|
type: string
|
|
id:
|
|
type: integer
|
|
metadata:
|
|
items:
|
|
type: integer
|
|
type: array
|
|
name:
|
|
type: string
|
|
updatedAt:
|
|
type: string
|
|
type: object
|
|
models.Container:
|
|
properties:
|
|
containerType:
|
|
type: string
|
|
createdAt:
|
|
type: string
|
|
description:
|
|
type: string
|
|
id:
|
|
type: integer
|
|
maxCapacity:
|
|
type: integer
|
|
metadata:
|
|
items:
|
|
type: integer
|
|
type: array
|
|
name:
|
|
type: string
|
|
shelfId:
|
|
type: integer
|
|
updatedAt:
|
|
type: string
|
|
type: object
|
|
models.FindComponentItemResult:
|
|
properties:
|
|
cabinetName:
|
|
type: string
|
|
componentName:
|
|
type: string
|
|
containerName:
|
|
type: string
|
|
containerType:
|
|
type: string
|
|
quantity:
|
|
type: integer
|
|
roomName:
|
|
type: string
|
|
shelfName:
|
|
type: string
|
|
status:
|
|
type: string
|
|
typeName:
|
|
type: string
|
|
warehouseName:
|
|
type: string
|
|
type: object
|
|
models.Room:
|
|
properties:
|
|
createdAt:
|
|
type: string
|
|
description:
|
|
type: string
|
|
id:
|
|
type: integer
|
|
name:
|
|
type: string
|
|
updatedAt:
|
|
type: string
|
|
warehouseId:
|
|
type: integer
|
|
type: object
|
|
models.Shelve:
|
|
properties:
|
|
cabinetId:
|
|
type: integer
|
|
createdAt:
|
|
type: string
|
|
description:
|
|
type: string
|
|
id:
|
|
type: integer
|
|
levelIndex:
|
|
type: integer
|
|
name:
|
|
type: string
|
|
updatedAt:
|
|
type: string
|
|
type: object
|
|
models.Warehouse:
|
|
properties:
|
|
address:
|
|
type: string
|
|
createdAt:
|
|
type: string
|
|
description:
|
|
type: string
|
|
id:
|
|
type: integer
|
|
name:
|
|
type: string
|
|
updatedAt:
|
|
type: string
|
|
type: object
|
|
requests.BodyRegisterRequest:
|
|
properties:
|
|
email:
|
|
type: string
|
|
fullName:
|
|
type: string
|
|
password:
|
|
minLength: 8
|
|
type: string
|
|
username:
|
|
type: string
|
|
required:
|
|
- email
|
|
- password
|
|
- username
|
|
type: object
|
|
requests.CreateCabinetRequest:
|
|
properties:
|
|
description:
|
|
type: string
|
|
name:
|
|
type: string
|
|
roomId:
|
|
type: integer
|
|
required:
|
|
- name
|
|
- roomId
|
|
type: object
|
|
requests.CreateComponentCodeRequest:
|
|
properties:
|
|
code:
|
|
type: string
|
|
codeType:
|
|
type: string
|
|
componentId:
|
|
type: integer
|
|
isPrimary:
|
|
type: boolean
|
|
metadata:
|
|
items:
|
|
type: integer
|
|
type: array
|
|
required:
|
|
- code
|
|
- componentId
|
|
type: object
|
|
requests.CreateComponentItemRequest:
|
|
properties:
|
|
componentId:
|
|
type: integer
|
|
containerId:
|
|
type: integer
|
|
metadata:
|
|
items:
|
|
type: integer
|
|
type: array
|
|
quantity:
|
|
type: integer
|
|
status:
|
|
type: string
|
|
required:
|
|
- componentId
|
|
- containerId
|
|
- quantity
|
|
- status
|
|
type: object
|
|
requests.CreateComponentRequest:
|
|
properties:
|
|
componentTypeId:
|
|
type: integer
|
|
description:
|
|
type: string
|
|
metadata:
|
|
items:
|
|
type: integer
|
|
type: array
|
|
minQuantity:
|
|
type: integer
|
|
name:
|
|
type: string
|
|
unit:
|
|
type: string
|
|
required:
|
|
- componentTypeId
|
|
- minQuantity
|
|
- name
|
|
- unit
|
|
type: object
|
|
requests.CreateComponentTypeRequest:
|
|
properties:
|
|
description:
|
|
type: string
|
|
metadata:
|
|
items:
|
|
type: integer
|
|
type: array
|
|
name:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
requests.CreateContainerRequest:
|
|
properties:
|
|
containerType:
|
|
type: string
|
|
description:
|
|
type: string
|
|
maxCapacity:
|
|
type: integer
|
|
metadata:
|
|
items:
|
|
type: integer
|
|
type: array
|
|
name:
|
|
type: string
|
|
shelfId:
|
|
type: integer
|
|
required:
|
|
- containerType
|
|
- name
|
|
- shelfId
|
|
type: object
|
|
requests.CreateRoomRequest:
|
|
properties:
|
|
description:
|
|
type: string
|
|
name:
|
|
type: string
|
|
warehouseId:
|
|
type: integer
|
|
required:
|
|
- name
|
|
- warehouseId
|
|
type: object
|
|
requests.CreateShelveRequest:
|
|
properties:
|
|
cabinetId:
|
|
type: integer
|
|
description:
|
|
type: string
|
|
levelIndex:
|
|
type: integer
|
|
name:
|
|
type: string
|
|
required:
|
|
- cabinetId
|
|
- levelIndex
|
|
- name
|
|
type: object
|
|
requests.CreateWarehouseRequest:
|
|
properties:
|
|
address:
|
|
type: string
|
|
description:
|
|
type: string
|
|
name:
|
|
type: string
|
|
required:
|
|
- address
|
|
- name
|
|
type: object
|
|
requests.UpdateCabinetRequest:
|
|
properties:
|
|
description:
|
|
type: string
|
|
name:
|
|
type: string
|
|
type: object
|
|
requests.UpdateComponentCodeRequest:
|
|
properties:
|
|
code:
|
|
type: string
|
|
codeType:
|
|
type: string
|
|
componentId:
|
|
type: integer
|
|
isPrimary:
|
|
type: boolean
|
|
metadata:
|
|
items:
|
|
type: integer
|
|
type: array
|
|
type: object
|
|
requests.UpdateComponentItemRequest:
|
|
properties:
|
|
componentId:
|
|
type: integer
|
|
containerId:
|
|
type: integer
|
|
metadata:
|
|
items:
|
|
type: integer
|
|
type: array
|
|
type: object
|
|
requests.UpdateComponentItemStatusRequest:
|
|
properties:
|
|
changedQuantity:
|
|
type: integer
|
|
note:
|
|
type: string
|
|
status:
|
|
enum:
|
|
- normal
|
|
- damaged
|
|
- long_unused
|
|
- expired
|
|
- pending_inspection
|
|
type: string
|
|
required:
|
|
- status
|
|
type: object
|
|
requests.UpdateComponentRequest:
|
|
properties:
|
|
componentTypeId:
|
|
type: integer
|
|
description:
|
|
type: string
|
|
metadata:
|
|
items:
|
|
type: integer
|
|
type: array
|
|
minQuantity:
|
|
type: integer
|
|
name:
|
|
type: string
|
|
unit:
|
|
type: string
|
|
type: object
|
|
requests.UpdateComponentTypeRequest:
|
|
properties:
|
|
description:
|
|
type: string
|
|
metadata:
|
|
items:
|
|
type: integer
|
|
type: array
|
|
name:
|
|
type: string
|
|
type: object
|
|
requests.UpdateContainerRequest:
|
|
properties:
|
|
containerType:
|
|
type: string
|
|
description:
|
|
type: string
|
|
maxCapacity:
|
|
type: integer
|
|
metadata:
|
|
items:
|
|
type: integer
|
|
type: array
|
|
name:
|
|
type: string
|
|
type: object
|
|
requests.UpdateRoomRequest:
|
|
properties:
|
|
description:
|
|
type: string
|
|
name:
|
|
type: string
|
|
type: object
|
|
requests.UpdateShelveRequest:
|
|
properties:
|
|
description:
|
|
type: string
|
|
levelIndex:
|
|
type: integer
|
|
name:
|
|
type: string
|
|
type: object
|
|
requests.UpdateWarehouseRequest:
|
|
properties:
|
|
address:
|
|
type: string
|
|
description:
|
|
type: string
|
|
name:
|
|
type: string
|
|
type: object
|
|
response.ErrorResponse:
|
|
properties:
|
|
code:
|
|
type: integer
|
|
message:
|
|
type: string
|
|
now:
|
|
type: integer
|
|
status:
|
|
type: integer
|
|
type: object
|
|
response.SuccessResponse:
|
|
properties:
|
|
data: {}
|
|
message:
|
|
type: string
|
|
option: {}
|
|
reason_status_code:
|
|
type: string
|
|
status:
|
|
type: integer
|
|
type: object
|
|
responses.BodyRegisterResponse:
|
|
properties:
|
|
id:
|
|
type: string
|
|
type: object
|
|
responses.CreateCabinetResponse:
|
|
properties:
|
|
id:
|
|
type: integer
|
|
type: object
|
|
responses.CreateComponentCodeResponse:
|
|
properties:
|
|
id:
|
|
type: integer
|
|
type: object
|
|
responses.CreateComponentItemResponse:
|
|
properties:
|
|
id:
|
|
type: integer
|
|
type: object
|
|
responses.CreateComponentResponse:
|
|
properties:
|
|
id:
|
|
type: integer
|
|
type: object
|
|
responses.CreateComponentTypeResponse:
|
|
properties:
|
|
id:
|
|
type: integer
|
|
type: object
|
|
responses.CreateContainerResponse:
|
|
properties:
|
|
id:
|
|
type: integer
|
|
type: object
|
|
responses.CreateRoomResponse:
|
|
properties:
|
|
id:
|
|
type: integer
|
|
type: object
|
|
responses.CreateShelveResponse:
|
|
properties:
|
|
id:
|
|
type: integer
|
|
type: object
|
|
responses.CreateWarehouseResponse:
|
|
properties:
|
|
id:
|
|
type: integer
|
|
type: object
|
|
responses.UpdateCabinetResponse:
|
|
properties:
|
|
description:
|
|
type: string
|
|
id:
|
|
type: integer
|
|
name:
|
|
type: string
|
|
roomId:
|
|
type: integer
|
|
type: object
|
|
responses.UpdateComponentCodeResponse:
|
|
properties:
|
|
code:
|
|
type: string
|
|
codeType:
|
|
type: string
|
|
componentId:
|
|
type: integer
|
|
id:
|
|
type: integer
|
|
isPrimary:
|
|
type: boolean
|
|
type: object
|
|
responses.UpdateComponentItemResponse:
|
|
properties:
|
|
componentId:
|
|
type: integer
|
|
containerId:
|
|
type: integer
|
|
id:
|
|
type: integer
|
|
metadata:
|
|
items:
|
|
type: integer
|
|
type: array
|
|
quantity:
|
|
type: integer
|
|
status:
|
|
type: string
|
|
type: object
|
|
responses.UpdateComponentItemStatusResponse:
|
|
properties:
|
|
changedQuantity:
|
|
type: integer
|
|
historyId:
|
|
type: integer
|
|
id:
|
|
type: integer
|
|
mergedComponentItemId:
|
|
type: integer
|
|
newComponentItemId:
|
|
type: integer
|
|
newStatus:
|
|
type: string
|
|
oldStatus:
|
|
type: string
|
|
type: object
|
|
responses.UpdateComponentResponse:
|
|
properties:
|
|
componentTypeId:
|
|
type: integer
|
|
description:
|
|
type: string
|
|
id:
|
|
type: integer
|
|
minQuantity:
|
|
type: integer
|
|
name:
|
|
type: string
|
|
unit:
|
|
type: string
|
|
type: object
|
|
responses.UpdateComponentTypeResponse:
|
|
properties:
|
|
description:
|
|
type: string
|
|
id:
|
|
type: integer
|
|
name:
|
|
type: string
|
|
type: object
|
|
responses.UpdateContainerResponse:
|
|
properties:
|
|
containerType:
|
|
type: string
|
|
description:
|
|
type: string
|
|
id:
|
|
type: integer
|
|
maxCapacity:
|
|
type: integer
|
|
metadata:
|
|
items:
|
|
type: integer
|
|
type: array
|
|
name:
|
|
type: string
|
|
shelfId:
|
|
type: integer
|
|
type: object
|
|
responses.UpdateRoomResponse:
|
|
properties:
|
|
description:
|
|
type: string
|
|
id:
|
|
type: integer
|
|
name:
|
|
type: string
|
|
warehouseId:
|
|
type: integer
|
|
type: object
|
|
responses.UpdateShelveResponse:
|
|
properties:
|
|
cabinetId:
|
|
type: integer
|
|
description:
|
|
type: string
|
|
id:
|
|
type: integer
|
|
levelIndex:
|
|
type: integer
|
|
name:
|
|
type: string
|
|
type: object
|
|
responses.UpdateWarehouseResponse:
|
|
properties:
|
|
address:
|
|
type: string
|
|
description:
|
|
type: string
|
|
id:
|
|
type: integer
|
|
name:
|
|
type: string
|
|
type: object
|
|
host: localhost:3000
|
|
info:
|
|
contact: {}
|
|
description: This is the Warehouse Management API server.
|
|
title: Warehouse Management API
|
|
version: "1.0"
|
|
paths:
|
|
/api/v1/component-codes:
|
|
get:
|
|
consumes:
|
|
- application/json
|
|
description: Retrieve a list of all component codes ordered by creation date
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
allOf:
|
|
- $ref: '#/definitions/response.SuccessResponse'
|
|
- properties:
|
|
data:
|
|
items:
|
|
$ref: '#/definitions/models.ComponentCode'
|
|
type: array
|
|
type: object
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
summary: List all component codes
|
|
tags:
|
|
- component-code
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Create a new component code with the provided details
|
|
parameters:
|
|
- description: Component code request body
|
|
in: body
|
|
name: body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/requests.CreateComponentCodeRequest'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
schema:
|
|
allOf:
|
|
- $ref: '#/definitions/response.SuccessResponse'
|
|
- properties:
|
|
data:
|
|
$ref: '#/definitions/responses.CreateComponentCodeResponse'
|
|
type: object
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
summary: Create a new component code
|
|
tags:
|
|
- component-code
|
|
/api/v1/component-codes/{id}:
|
|
delete:
|
|
consumes:
|
|
- application/json
|
|
description: Delete a component code by its unique identifier
|
|
parameters:
|
|
- description: Component code ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: integer
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/response.SuccessResponse'
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
summary: Delete component code
|
|
tags:
|
|
- component-code
|
|
get:
|
|
consumes:
|
|
- application/json
|
|
description: Retrieve a single component code using its unique identifier
|
|
parameters:
|
|
- description: Component code ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: integer
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
allOf:
|
|
- $ref: '#/definitions/response.SuccessResponse'
|
|
- properties:
|
|
data:
|
|
$ref: '#/definitions/models.ComponentCode'
|
|
type: object
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
summary: Get component code by ID
|
|
tags:
|
|
- component-code
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: Update an existing component code by its ID. Only non-empty fields
|
|
will be updated.
|
|
parameters:
|
|
- description: Component code ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: integer
|
|
- description: Component code request body
|
|
in: body
|
|
name: body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/requests.UpdateComponentCodeRequest'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
allOf:
|
|
- $ref: '#/definitions/response.SuccessResponse'
|
|
- properties:
|
|
data:
|
|
$ref: '#/definitions/responses.UpdateComponentCodeResponse'
|
|
type: object
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
summary: Update component code
|
|
tags:
|
|
- component-code
|
|
/api/v1/component-items:
|
|
get:
|
|
consumes:
|
|
- application/json
|
|
description: Retrieve a list of all component items ordered by creation date
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
allOf:
|
|
- $ref: '#/definitions/response.SuccessResponse'
|
|
- properties:
|
|
data:
|
|
items:
|
|
$ref: '#/definitions/models.ComponentItem'
|
|
type: array
|
|
type: object
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
summary: List all component items
|
|
tags:
|
|
- component-item
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Create a new component item with the provided details
|
|
parameters:
|
|
- description: Component item request body
|
|
in: body
|
|
name: body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/requests.CreateComponentItemRequest'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
schema:
|
|
allOf:
|
|
- $ref: '#/definitions/response.SuccessResponse'
|
|
- properties:
|
|
data:
|
|
$ref: '#/definitions/responses.CreateComponentItemResponse'
|
|
type: object
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
summary: Create a new component item
|
|
tags:
|
|
- component-item
|
|
/api/v1/component-items/{id}:
|
|
delete:
|
|
consumes:
|
|
- application/json
|
|
description: Delete a component item by its unique identifier
|
|
parameters:
|
|
- description: Component item ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: integer
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/response.SuccessResponse'
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
summary: Delete component item
|
|
tags:
|
|
- component-item
|
|
get:
|
|
consumes:
|
|
- application/json
|
|
description: Retrieve a single component item using its unique identifier
|
|
parameters:
|
|
- description: Component item ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: integer
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
allOf:
|
|
- $ref: '#/definitions/response.SuccessResponse'
|
|
- properties:
|
|
data:
|
|
$ref: '#/definitions/models.ComponentItem'
|
|
type: object
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
summary: Get component item by ID
|
|
tags:
|
|
- component-item
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: Update an existing component item by its ID. Only non-empty fields
|
|
will be updated.
|
|
parameters:
|
|
- description: Component item ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: integer
|
|
- description: Component item request body
|
|
in: body
|
|
name: body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/requests.UpdateComponentItemRequest'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
allOf:
|
|
- $ref: '#/definitions/response.SuccessResponse'
|
|
- properties:
|
|
data:
|
|
$ref: '#/definitions/responses.UpdateComponentItemResponse'
|
|
type: object
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
summary: Update component item
|
|
tags:
|
|
- component-item
|
|
/api/v1/component-items/{id}/status:
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: Change the status of a component item. Supports partial quantity
|
|
change with automatic split/merge logic. A status history record is created
|
|
automatically.
|
|
parameters:
|
|
- description: Component item ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: integer
|
|
- description: Status change request body
|
|
in: body
|
|
name: body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/requests.UpdateComponentItemStatusRequest'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
allOf:
|
|
- $ref: '#/definitions/response.SuccessResponse'
|
|
- properties:
|
|
data:
|
|
$ref: '#/definitions/responses.UpdateComponentItemStatusResponse'
|
|
type: object
|
|
"400":
|
|
description: Validation error (e.g., changed_quantity > quantity, status
|
|
unchanged)
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"404":
|
|
description: Component item not found
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"500":
|
|
description: Internal server error
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
summary: Change component item status
|
|
tags:
|
|
- component-item
|
|
/api/v1/component-items/find/{componentId}:
|
|
get:
|
|
consumes:
|
|
- application/json
|
|
description: Retrieve component items with full location details (container,
|
|
shelf, cabinet, room, warehouse) for a given component ID
|
|
parameters:
|
|
- description: Component ID
|
|
in: path
|
|
name: componentId
|
|
required: true
|
|
type: integer
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
allOf:
|
|
- $ref: '#/definitions/response.SuccessResponse'
|
|
- properties:
|
|
data:
|
|
items:
|
|
$ref: '#/definitions/models.FindComponentItemResult'
|
|
type: array
|
|
type: object
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
summary: Find component items by component ID
|
|
tags:
|
|
- component-item
|
|
/api/v1/component-types:
|
|
get:
|
|
consumes:
|
|
- application/json
|
|
description: Retrieve a list of all component types ordered by creation date
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
allOf:
|
|
- $ref: '#/definitions/response.SuccessResponse'
|
|
- properties:
|
|
data:
|
|
items:
|
|
$ref: '#/definitions/models.ComponentType'
|
|
type: array
|
|
type: object
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
summary: List all component types
|
|
tags:
|
|
- component-type
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Create a new component type with the provided details
|
|
parameters:
|
|
- description: Component type request body
|
|
in: body
|
|
name: body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/requests.CreateComponentTypeRequest'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
schema:
|
|
allOf:
|
|
- $ref: '#/definitions/response.SuccessResponse'
|
|
- properties:
|
|
data:
|
|
$ref: '#/definitions/responses.CreateComponentTypeResponse'
|
|
type: object
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
summary: Create a new component type
|
|
tags:
|
|
- component-type
|
|
/api/v1/component-types/{id}:
|
|
delete:
|
|
consumes:
|
|
- application/json
|
|
description: Delete a component type by its unique identifier
|
|
parameters:
|
|
- description: Component type ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: integer
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/response.SuccessResponse'
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
summary: Delete component type
|
|
tags:
|
|
- component-type
|
|
get:
|
|
consumes:
|
|
- application/json
|
|
description: Retrieve a single component type using its unique identifier
|
|
parameters:
|
|
- description: Component type ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: integer
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
allOf:
|
|
- $ref: '#/definitions/response.SuccessResponse'
|
|
- properties:
|
|
data:
|
|
$ref: '#/definitions/models.ComponentType'
|
|
type: object
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
summary: Get component type by ID
|
|
tags:
|
|
- component-type
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: Update an existing component type by its ID. Only non-empty fields
|
|
will be updated.
|
|
parameters:
|
|
- description: Component type ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: integer
|
|
- description: Component type request body
|
|
in: body
|
|
name: body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/requests.UpdateComponentTypeRequest'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
allOf:
|
|
- $ref: '#/definitions/response.SuccessResponse'
|
|
- properties:
|
|
data:
|
|
$ref: '#/definitions/responses.UpdateComponentTypeResponse'
|
|
type: object
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
summary: Update component type
|
|
tags:
|
|
- component-type
|
|
/api/v1/components:
|
|
get:
|
|
consumes:
|
|
- application/json
|
|
description: Retrieve a list of all components ordered by creation date
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
allOf:
|
|
- $ref: '#/definitions/response.SuccessResponse'
|
|
- properties:
|
|
data:
|
|
items:
|
|
$ref: '#/definitions/models.Component'
|
|
type: array
|
|
type: object
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
summary: List all components
|
|
tags:
|
|
- component
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Create a new component with the provided details
|
|
parameters:
|
|
- description: Component request body
|
|
in: body
|
|
name: body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/requests.CreateComponentRequest'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
schema:
|
|
allOf:
|
|
- $ref: '#/definitions/response.SuccessResponse'
|
|
- properties:
|
|
data:
|
|
$ref: '#/definitions/responses.CreateComponentResponse'
|
|
type: object
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
summary: Create a new component
|
|
tags:
|
|
- component
|
|
/api/v1/components/{id}:
|
|
delete:
|
|
consumes:
|
|
- application/json
|
|
description: Delete a component by its unique identifier
|
|
parameters:
|
|
- description: Component ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: integer
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/response.SuccessResponse'
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
summary: Delete component
|
|
tags:
|
|
- component
|
|
get:
|
|
consumes:
|
|
- application/json
|
|
description: Retrieve a single component using its unique identifier
|
|
parameters:
|
|
- description: Component ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: integer
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
allOf:
|
|
- $ref: '#/definitions/response.SuccessResponse'
|
|
- properties:
|
|
data:
|
|
$ref: '#/definitions/models.Component'
|
|
type: object
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
summary: Get component by ID
|
|
tags:
|
|
- component
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: Update an existing component by its ID. Only non-empty fields will
|
|
be updated.
|
|
parameters:
|
|
- description: Component ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: integer
|
|
- description: Component request body
|
|
in: body
|
|
name: body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/requests.UpdateComponentRequest'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
allOf:
|
|
- $ref: '#/definitions/response.SuccessResponse'
|
|
- properties:
|
|
data:
|
|
$ref: '#/definitions/responses.UpdateComponentResponse'
|
|
type: object
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
summary: Update component
|
|
tags:
|
|
- component
|
|
/auth/register:
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Register with email, username and password
|
|
parameters:
|
|
- description: Register request
|
|
in: body
|
|
name: body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/requests.BodyRegisterRequest'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
schema:
|
|
allOf:
|
|
- $ref: '#/definitions/response.SuccessResponse'
|
|
- properties:
|
|
data:
|
|
$ref: '#/definitions/responses.BodyRegisterResponse'
|
|
type: object
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"409":
|
|
description: Conflict
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
summary: Register a new user
|
|
tags:
|
|
- auth
|
|
/ping:
|
|
get:
|
|
consumes:
|
|
- application/json
|
|
description: Check server is running
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
summary: Health check
|
|
tags:
|
|
- health
|
|
/v1/cabinets:
|
|
get:
|
|
consumes:
|
|
- application/json
|
|
description: Retrieve a list of all cabinets ordered by creation date
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
allOf:
|
|
- $ref: '#/definitions/response.SuccessResponse'
|
|
- properties:
|
|
data:
|
|
items:
|
|
$ref: '#/definitions/models.Cabinet'
|
|
type: array
|
|
type: object
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
summary: List all cabinets
|
|
tags:
|
|
- cabinet
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Create a new cabinet with the provided details
|
|
parameters:
|
|
- description: Cabinet request body
|
|
in: body
|
|
name: body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/requests.CreateCabinetRequest'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
schema:
|
|
allOf:
|
|
- $ref: '#/definitions/response.SuccessResponse'
|
|
- properties:
|
|
data:
|
|
$ref: '#/definitions/responses.CreateCabinetResponse'
|
|
type: object
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
summary: Create a new cabinet
|
|
tags:
|
|
- cabinet
|
|
/v1/cabinets/{id}:
|
|
delete:
|
|
consumes:
|
|
- application/json
|
|
description: Delete a cabinet by its unique identifier
|
|
parameters:
|
|
- description: Cabinet ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: integer
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/response.SuccessResponse'
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
summary: Delete cabinet
|
|
tags:
|
|
- cabinet
|
|
get:
|
|
consumes:
|
|
- application/json
|
|
description: Retrieve a single cabinet using its unique identifier
|
|
parameters:
|
|
- description: Cabinet ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: integer
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
allOf:
|
|
- $ref: '#/definitions/response.SuccessResponse'
|
|
- properties:
|
|
data:
|
|
$ref: '#/definitions/models.Cabinet'
|
|
type: object
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
summary: Get cabinet by ID
|
|
tags:
|
|
- cabinet
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: Update an existing cabinet by its ID. Only non-empty fields will
|
|
be updated.
|
|
parameters:
|
|
- description: Cabinet ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: integer
|
|
- description: Cabinet request body
|
|
in: body
|
|
name: body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/requests.UpdateCabinetRequest'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
allOf:
|
|
- $ref: '#/definitions/response.SuccessResponse'
|
|
- properties:
|
|
data:
|
|
$ref: '#/definitions/responses.UpdateCabinetResponse'
|
|
type: object
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
summary: Update cabinet
|
|
tags:
|
|
- cabinet
|
|
/v1/containers:
|
|
get:
|
|
consumes:
|
|
- application/json
|
|
description: Retrieve a list of all containers ordered by creation date
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
allOf:
|
|
- $ref: '#/definitions/response.SuccessResponse'
|
|
- properties:
|
|
data:
|
|
items:
|
|
$ref: '#/definitions/models.Container'
|
|
type: array
|
|
type: object
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
summary: List all containers
|
|
tags:
|
|
- container
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Create a new container with the provided details
|
|
parameters:
|
|
- description: Container request body
|
|
in: body
|
|
name: body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/requests.CreateContainerRequest'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
schema:
|
|
allOf:
|
|
- $ref: '#/definitions/response.SuccessResponse'
|
|
- properties:
|
|
data:
|
|
$ref: '#/definitions/responses.CreateContainerResponse'
|
|
type: object
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
summary: Create a new container
|
|
tags:
|
|
- container
|
|
/v1/containers/{id}:
|
|
delete:
|
|
consumes:
|
|
- application/json
|
|
description: Delete a container by its unique identifier
|
|
parameters:
|
|
- description: Container ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: integer
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/response.SuccessResponse'
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
summary: Delete container
|
|
tags:
|
|
- container
|
|
get:
|
|
consumes:
|
|
- application/json
|
|
description: Retrieve a single container using its unique identifier
|
|
parameters:
|
|
- description: Container ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: integer
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
allOf:
|
|
- $ref: '#/definitions/response.SuccessResponse'
|
|
- properties:
|
|
data:
|
|
$ref: '#/definitions/models.Container'
|
|
type: object
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
summary: Get container by ID
|
|
tags:
|
|
- container
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: Update an existing container by its ID. Only non-empty fields will
|
|
be updated.
|
|
parameters:
|
|
- description: Container ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: integer
|
|
- description: Container request body
|
|
in: body
|
|
name: body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/requests.UpdateContainerRequest'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
allOf:
|
|
- $ref: '#/definitions/response.SuccessResponse'
|
|
- properties:
|
|
data:
|
|
$ref: '#/definitions/responses.UpdateContainerResponse'
|
|
type: object
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
summary: Update container
|
|
tags:
|
|
- container
|
|
/v1/rooms:
|
|
get:
|
|
consumes:
|
|
- application/json
|
|
description: Retrieve a list of all rooms ordered by creation date
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
allOf:
|
|
- $ref: '#/definitions/response.SuccessResponse'
|
|
- properties:
|
|
data:
|
|
items:
|
|
$ref: '#/definitions/models.Room'
|
|
type: array
|
|
type: object
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
summary: List all rooms
|
|
tags:
|
|
- room
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Create a new room with the provided details
|
|
parameters:
|
|
- description: Room request body
|
|
in: body
|
|
name: body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/requests.CreateRoomRequest'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
schema:
|
|
allOf:
|
|
- $ref: '#/definitions/response.SuccessResponse'
|
|
- properties:
|
|
data:
|
|
$ref: '#/definitions/responses.CreateRoomResponse'
|
|
type: object
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
summary: Create a new room
|
|
tags:
|
|
- room
|
|
/v1/rooms/{id}:
|
|
delete:
|
|
consumes:
|
|
- application/json
|
|
description: Delete a room by its unique identifier
|
|
parameters:
|
|
- description: Room ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: integer
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/response.SuccessResponse'
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
summary: Delete room
|
|
tags:
|
|
- room
|
|
get:
|
|
consumes:
|
|
- application/json
|
|
description: Retrieve a single room using its unique identifier
|
|
parameters:
|
|
- description: Room ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: integer
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
allOf:
|
|
- $ref: '#/definitions/response.SuccessResponse'
|
|
- properties:
|
|
data:
|
|
$ref: '#/definitions/models.Room'
|
|
type: object
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
summary: Get room by ID
|
|
tags:
|
|
- room
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: Update an existing room by its ID. Only non-empty fields will be
|
|
updated.
|
|
parameters:
|
|
- description: Room ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: integer
|
|
- description: Room request body
|
|
in: body
|
|
name: body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/requests.UpdateRoomRequest'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
allOf:
|
|
- $ref: '#/definitions/response.SuccessResponse'
|
|
- properties:
|
|
data:
|
|
$ref: '#/definitions/responses.UpdateRoomResponse'
|
|
type: object
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
summary: Update room
|
|
tags:
|
|
- room
|
|
/v1/shelves:
|
|
get:
|
|
consumes:
|
|
- application/json
|
|
description: Retrieve a list of all shelves ordered by creation date
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
allOf:
|
|
- $ref: '#/definitions/response.SuccessResponse'
|
|
- properties:
|
|
data:
|
|
items:
|
|
$ref: '#/definitions/models.Shelve'
|
|
type: array
|
|
type: object
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
summary: List all shelves
|
|
tags:
|
|
- shelve
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Create a new shelve with the provided details
|
|
parameters:
|
|
- description: Shelve request body
|
|
in: body
|
|
name: body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/requests.CreateShelveRequest'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
schema:
|
|
allOf:
|
|
- $ref: '#/definitions/response.SuccessResponse'
|
|
- properties:
|
|
data:
|
|
$ref: '#/definitions/responses.CreateShelveResponse'
|
|
type: object
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
summary: Create a new shelve
|
|
tags:
|
|
- shelve
|
|
/v1/shelves/{id}:
|
|
delete:
|
|
consumes:
|
|
- application/json
|
|
description: Delete a shelve by its unique identifier
|
|
parameters:
|
|
- description: Shelve ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: integer
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/response.SuccessResponse'
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
summary: Delete shelve
|
|
tags:
|
|
- shelve
|
|
get:
|
|
consumes:
|
|
- application/json
|
|
description: Retrieve a single shelve using its unique identifier
|
|
parameters:
|
|
- description: Shelve ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: integer
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
allOf:
|
|
- $ref: '#/definitions/response.SuccessResponse'
|
|
- properties:
|
|
data:
|
|
$ref: '#/definitions/models.Shelve'
|
|
type: object
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
summary: Get shelve by ID
|
|
tags:
|
|
- shelve
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: Update an existing shelve by its ID. Only non-empty fields will
|
|
be updated.
|
|
parameters:
|
|
- description: Shelve ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: integer
|
|
- description: Shelve request body
|
|
in: body
|
|
name: body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/requests.UpdateShelveRequest'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
allOf:
|
|
- $ref: '#/definitions/response.SuccessResponse'
|
|
- properties:
|
|
data:
|
|
$ref: '#/definitions/responses.UpdateShelveResponse'
|
|
type: object
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
summary: Update shelve
|
|
tags:
|
|
- shelve
|
|
/v1/warehouses:
|
|
get:
|
|
consumes:
|
|
- application/json
|
|
description: Retrieve a list of all warehouses ordered by creation date
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
allOf:
|
|
- $ref: '#/definitions/response.SuccessResponse'
|
|
- properties:
|
|
data:
|
|
items:
|
|
$ref: '#/definitions/models.Warehouse'
|
|
type: array
|
|
type: object
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
summary: List all warehouses
|
|
tags:
|
|
- warehouse
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Create a new warehouse with the provided details
|
|
parameters:
|
|
- description: Warehouse request body
|
|
in: body
|
|
name: body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/requests.CreateWarehouseRequest'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
schema:
|
|
allOf:
|
|
- $ref: '#/definitions/response.SuccessResponse'
|
|
- properties:
|
|
data:
|
|
$ref: '#/definitions/responses.CreateWarehouseResponse'
|
|
type: object
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
summary: Create a new warehouse
|
|
tags:
|
|
- warehouse
|
|
/v1/warehouses/{id}:
|
|
delete:
|
|
consumes:
|
|
- application/json
|
|
description: Delete a warehouse by its unique identifier
|
|
parameters:
|
|
- description: Warehouse ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: integer
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/response.SuccessResponse'
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
summary: Delete warehouse
|
|
tags:
|
|
- warehouse
|
|
get:
|
|
consumes:
|
|
- application/json
|
|
description: Retrieve a single warehouse using its unique identifier
|
|
parameters:
|
|
- description: Warehouse ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: integer
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
allOf:
|
|
- $ref: '#/definitions/response.SuccessResponse'
|
|
- properties:
|
|
data:
|
|
$ref: '#/definitions/models.Warehouse'
|
|
type: object
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
summary: Get warehouse by ID
|
|
tags:
|
|
- warehouse
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: Update an existing warehouse by its ID with the provided details
|
|
parameters:
|
|
- description: Warehouse ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: integer
|
|
- description: Warehouse request body
|
|
in: body
|
|
name: body
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/requests.UpdateWarehouseRequest'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
allOf:
|
|
- $ref: '#/definitions/response.SuccessResponse'
|
|
- properties:
|
|
data:
|
|
$ref: '#/definitions/responses.UpdateWarehouseResponse'
|
|
type: object
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/response.ErrorResponse'
|
|
summary: Update warehouse
|
|
tags:
|
|
- warehouse
|
|
swagger: "2.0"
|