refactor: reorganize ValueSet endpoints - Move user valueset items to /api/valueset/user/items - Move valueset definitions to /api/valueset/user/def - Keep lib valueset at /api/valueset/*

This commit is contained in:
mahdahar 2026-02-10 10:05:44 +07:00
parent 40ecb4e6e8
commit f47a43b061
2 changed files with 99 additions and 46 deletions

View File

@ -126,18 +126,33 @@ $routes->group('api', function ($routes) {
$routes->patch('/', 'Contact\MedicalSpecialtyController::update');
});
// Lib ValueSet (file-based)
$routes->group('valueset', function ($routes) {
$routes->get('/', 'ValueSetController::index');
$routes->get('(:any)', 'ValueSetController::index/$1');
$routes->post('refresh', 'ValueSetController::refresh');
$routes->get('items', 'ValueSetController::items');
$routes->get('items/(:num)', 'ValueSetController::showItem/$1');
$routes->post('items', 'ValueSetController::createItem');
$routes->put('items/(:num)', 'ValueSetController::updateItem/$1');
$routes->delete('items/(:num)', 'ValueSetController::deleteItem/$1');
// User ValueSet (database-based)
$routes->group('user', function ($routes) {
$routes->group('items', function ($routes) {
$routes->get('/', 'ValueSetController::items');
$routes->get('(:num)', 'ValueSetController::showItem/$1');
$routes->post('/', 'ValueSetController::createItem');
$routes->put('(:num)', 'ValueSetController::updateItem/$1');
$routes->delete('(:num)', 'ValueSetController::deleteItem/$1');
});
$routes->group('def', function ($routes) {
$routes->get('/', 'ValueSetDefController::index');
$routes->get('(:num)', 'ValueSetDefController::show/$1');
$routes->post('/', 'ValueSetDefController::create');
$routes->put('(:num)', 'ValueSetDefController::update/$1');
$routes->delete('(:num)', 'ValueSetDefController::delete/$1');
});
});
});
// Result ValueSet
$routes->group('result', function ($routes) {
$routes->group('valueset', function ($routes) {
$routes->get('/', 'Result\ResultValueSetController::index');
@ -146,14 +161,6 @@ $routes->group('api', function ($routes) {
$routes->put('(:num)', 'Result\ResultValueSetController::update/$1');
$routes->delete('(:num)', 'Result\ResultValueSetController::delete/$1');
});
$routes->group('valuesetdef', function ($routes) {
$routes->get('/', 'ValueSetDefController::index');
$routes->get('(:num)', 'ValueSetDefController::show/$1');
$routes->post('/', 'ValueSetDefController::create');
$routes->put('(:num)', 'ValueSetDefController::update/$1');
$routes->delete('(:num)', 'ValueSetDefController::delete/$1');
});
});
// Counter

View File

@ -2222,18 +2222,49 @@ paths:
/api/valueset:
get:
tags: [ValueSets]
summary: List value set definitions
summary: List lib value sets
description: List all library/system value sets from JSON files
security:
- bearerAuth: []
parameters:
- name: VSetCode
in: path
description: Optional value set code to get specific valueset
- name: search
in: query
schema:
type: string
description: Optional search term to filter value sets
responses:
'200':
description: List of value sets
description: List of lib value sets with item counts
content:
application/json:
schema:
type: object
properties:
status:
type: string
data:
type: object
additionalProperties:
type: integer
description: Number of items in each value set
/api/valueset/{key}:
get:
tags: [ValueSets]
summary: Get lib value set by key
description: Get a specific library/system value set from JSON files
security:
- bearerAuth: []
parameters:
- name: key
in: path
required: true
schema:
type: string
description: Value set key (e.g., marital_status, sex)
responses:
'200':
description: Lib value set details
content:
application/json:
schema:
@ -2244,23 +2275,29 @@ paths:
data:
type: array
items:
$ref: '#/components/schemas/ValueSetDef'
type: object
properties:
value:
type: string
label:
type: string
/api/valueset/refresh:
post:
tags: [ValueSets]
summary: Refresh ValueSet cache
description: Clear and reload the ValueSet library cache
summary: Refresh lib ValueSet cache
description: Clear and reload the library/system ValueSet cache from JSON files
security:
- bearerAuth: []
responses:
'200':
description: Cache refreshed
description: Lib ValueSet cache refreshed
/api/valueset/items:
/api/valueset/user/items:
get:
tags: [ValueSets]
summary: List value set items
summary: List user value set items
description: List value set items from database (user-defined)
security:
- bearerAuth: []
parameters:
@ -2271,7 +2308,7 @@ paths:
description: Filter by ValueSet ID
responses:
'200':
description: List of value set items
description: List of user value set items
content:
application/json:
schema:
@ -2284,7 +2321,8 @@ paths:
post:
tags: [ValueSets]
summary: Create value set item
summary: Create user value set item
description: Create value set item in database (user-defined)
security:
- bearerAuth: []
requestBody:
@ -2295,12 +2333,13 @@ paths:
$ref: '#/components/schemas/ValueSetItem'
responses:
'201':
description: Value set item created
description: User value set item created
/api/valueset/items/{id}:
/api/valueset/user/items/{id}:
get:
tags: [ValueSets]
summary: Get value set item by ID
summary: Get user value set item by ID
description: Get value set item from database (user-defined)
security:
- bearerAuth: []
parameters:
@ -2311,11 +2350,12 @@ paths:
type: integer
responses:
'200':
description: Value set item details
description: User value set item details
put:
tags: [ValueSets]
summary: Update value set item
summary: Update user value set item
description: Update value set item in database (user-defined)
security:
- bearerAuth: []
parameters:
@ -2332,11 +2372,12 @@ paths:
$ref: '#/components/schemas/ValueSetItem'
responses:
'200':
description: Value set item updated
description: User value set item updated
delete:
tags: [ValueSets]
summary: Delete value set item
summary: Delete user value set item
description: Delete value set item from database (user-defined)
security:
- bearerAuth: []
parameters:
@ -2347,21 +2388,23 @@ paths:
type: integer
responses:
'200':
description: Value set item deleted
description: User value set item deleted
/api/valuesetdef:
/api/valueset/user/def:
get:
tags: [ValueSets]
summary: List value set definitions
summary: List user value set definitions
description: List value set definitions from database (user-defined)
security:
- bearerAuth: []
responses:
'200':
description: List of value set definitions
description: List of user value set definitions
post:
tags: [ValueSets]
summary: Create value set definition
summary: Create user value set definition
description: Create value set definition in database (user-defined)
security:
- bearerAuth: []
requestBody:
@ -2372,12 +2415,13 @@ paths:
$ref: '#/components/schemas/ValueSetDef'
responses:
'201':
description: Value set definition created
description: User value set definition created
/api/valuesetdef/{id}:
/api/valueset/user/def/{id}:
get:
tags: [ValueSets]
summary: Get value set definition by ID
summary: Get user value set definition by ID
description: Get value set definition from database (user-defined)
security:
- bearerAuth: []
parameters:
@ -2388,11 +2432,12 @@ paths:
type: integer
responses:
'200':
description: Value set definition details
description: User value set definition details
put:
tags: [ValueSets]
summary: Update value set definition
summary: Update user value set definition
description: Update value set definition in database (user-defined)
security:
- bearerAuth: []
parameters:
@ -2409,11 +2454,12 @@ paths:
$ref: '#/components/schemas/ValueSetDef'
responses:
'200':
description: Value set definition updated
description: User value set definition updated
delete:
tags: [ValueSets]
summary: Delete value set definition
summary: Delete user value set definition
description: Delete value set definition from database (user-defined)
security:
- bearerAuth: []
parameters:
@ -2424,7 +2470,7 @@ paths:
type: integer
responses:
'200':
description: Value set definition deleted
description: User value set definition deleted
# ========================================
# Master Data Routes