- Add OpenSpec experimental workflow with commands (opsx-apply, opsx-archive, opsx-explore, opsx-propose) - Add Serena memory system for project context - Implement User API (UserController, UserModel, routes) - Add Specimen delete endpoint - Update Test definitions and Routes - Sync API documentation (OpenAPI) - Archive completed 2026-03-08-backend-specs change
121 lines
2.6 KiB
YAML
121 lines
2.6 KiB
YAML
User:
|
|
type: object
|
|
properties:
|
|
UserID:
|
|
type: integer
|
|
description: Unique user identifier
|
|
Username:
|
|
type: string
|
|
description: Unique login username
|
|
Email:
|
|
type: string
|
|
format: email
|
|
description: User email address
|
|
Name:
|
|
type: string
|
|
description: Full name of the user
|
|
Role:
|
|
type: string
|
|
description: User role (admin, technician, doctor, etc.)
|
|
Department:
|
|
type: string
|
|
description: Department name
|
|
IsActive:
|
|
type: boolean
|
|
description: Whether the user account is active
|
|
CreatedAt:
|
|
type: string
|
|
format: date-time
|
|
description: Creation timestamp
|
|
UpdatedAt:
|
|
type: string
|
|
format: date-time
|
|
description: Last update timestamp
|
|
DelDate:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
description: Soft delete timestamp (null if active)
|
|
|
|
UserCreate:
|
|
type: object
|
|
required:
|
|
- Username
|
|
- Email
|
|
properties:
|
|
Username:
|
|
type: string
|
|
minLength: 3
|
|
maxLength: 50
|
|
description: Unique login username
|
|
Email:
|
|
type: string
|
|
format: email
|
|
maxLength: 100
|
|
description: User email address
|
|
Name:
|
|
type: string
|
|
description: Full name of the user
|
|
Role:
|
|
type: string
|
|
description: User role
|
|
Department:
|
|
type: string
|
|
description: Department name
|
|
IsActive:
|
|
type: boolean
|
|
default: true
|
|
description: Whether the user account is active
|
|
|
|
UserUpdate:
|
|
type: object
|
|
required:
|
|
- UserID
|
|
properties:
|
|
UserID:
|
|
type: integer
|
|
description: User ID to update
|
|
Email:
|
|
type: string
|
|
format: email
|
|
description: User email address
|
|
Name:
|
|
type: string
|
|
description: Full name of the user
|
|
Role:
|
|
type: string
|
|
description: User role
|
|
Department:
|
|
type: string
|
|
description: Department name
|
|
IsActive:
|
|
type: boolean
|
|
description: Whether the user account is active
|
|
|
|
UserListResponse:
|
|
type: object
|
|
properties:
|
|
status:
|
|
type: string
|
|
example: success
|
|
message:
|
|
type: string
|
|
example: Users retrieved successfully
|
|
data:
|
|
type: object
|
|
properties:
|
|
users:
|
|
type: array
|
|
items:
|
|
$ref: '#/User'
|
|
pagination:
|
|
type: object
|
|
properties:
|
|
current_page:
|
|
type: integer
|
|
per_page:
|
|
type: integer
|
|
total:
|
|
type: integer
|
|
total_pages:
|
|
type: integer |