clqms-be/public/paths/locations.yaml

194 lines
5.2 KiB
YAML

/api/location:
get:
tags: [Location]
summary: List locations
security:
- bearerAuth: []
parameters:
- name: LocCode
in: query
schema:
type: string
description: Filter by location code
- name: LocName
in: query
schema:
type: string
description: Filter by location name (searches in LocFull)
responses:
'200':
description: List of locations
content:
application/json:
schema:
type: object
properties:
status:
type: string
message:
type: string
data:
type: array
items:
$ref: '../components/schemas/master-data.yaml#/Location'
post:
tags: [Location]
summary: Create location
security:
- bearerAuth: []
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- LocCode
- LocFull
properties:
SiteID:
type: integer
description: Reference to site
LocCode:
type: string
maxLength: 6
description: Location code (short identifier)
Parent:
type: integer
nullable: true
description: Parent location ID for hierarchical locations
LocFull:
type: string
maxLength: 255
description: Full location name
Description:
type: string
maxLength: 255
description: Location description
LocType:
type: string
description: Location type code (e.g., ROOM, WARD, BUILDING)
responses:
'201':
description: Location created successfully
content:
application/json:
schema:
$ref: '../components/schemas/common.yaml#/SuccessResponse'
'422':
description: Validation error
content:
application/json:
schema:
$ref: '../components/schemas/common.yaml#/ErrorResponse'
delete:
tags: [Location]
summary: Delete location
security:
- bearerAuth: []
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- LocationID
properties:
LocationID:
type: integer
description: Location ID to delete
responses:
'200':
description: Location deleted successfully
content:
application/json:
schema:
$ref: '../components/schemas/common.yaml#/SuccessResponse'
/api/location/{id}:
get:
tags: [Location]
summary: Get location by ID
security:
- bearerAuth: []
parameters:
- name: id
in: path
required: true
schema:
type: integer
description: Location ID
responses:
'200':
description: Location details
content:
application/json:
schema:
type: object
properties:
status:
type: string
message:
type: string
data:
$ref: '../components/schemas/master-data.yaml#/Location'
patch:
tags: [Location]
summary: Update location
security:
- bearerAuth: []
parameters:
- name: id
in: path
required: true
schema:
type: integer
description: Location ID to update
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
SiteID:
type: integer
description: Reference to site
LocCode:
type: string
maxLength: 6
description: Location code (short identifier)
Parent:
type: integer
nullable: true
description: Parent location ID for hierarchical locations
LocFull:
type: string
maxLength: 255
description: Full location name
Description:
type: string
maxLength: 255
description: Location description
LocType:
type: string
description: Location type code (e.g., ROOM, WARD, BUILDING)
responses:
'201':
description: Location updated successfully
content:
application/json:
schema:
$ref: '../components/schemas/common.yaml#/SuccessResponse'
'422':
description: Validation error
content:
application/json:
schema:
$ref: '../components/schemas/common.yaml#/ErrorResponse'