2025-10-14 16:54:43 +07:00
|
|
|
<?php
|
|
|
|
|
namespace App\Controllers\ValueSet;
|
|
|
|
|
|
|
|
|
|
use CodeIgniter\API\ResponseTrait;
|
|
|
|
|
use App\Controllers\BaseController;
|
2026-01-12 16:53:41 +07:00
|
|
|
use App\Libraries\ValueSet;
|
2025-10-14 16:54:43 +07:00
|
|
|
|
2026-01-05 16:55:34 +07:00
|
|
|
class ValueSetController extends BaseController {
|
2025-10-14 16:54:43 +07:00
|
|
|
use ResponseTrait;
|
2026-01-12 16:53:41 +07:00
|
|
|
|
2025-10-14 16:54:43 +07:00
|
|
|
public function index() {
|
|
|
|
|
$param = $this->request->getVar('param');
|
2026-01-12 16:53:41 +07:00
|
|
|
|
|
|
|
|
if ($param) {
|
|
|
|
|
$all = ValueSet::getAll();
|
|
|
|
|
$filtered = array_filter($all, function($item) use ($param) {
|
|
|
|
|
return stripos($item['VSName'] ?? '', $param) !== false ||
|
|
|
|
|
stripos($item['name'] ?? '', $param) !== false;
|
|
|
|
|
});
|
|
|
|
|
return $this->respond([
|
|
|
|
|
'status' => 'success',
|
|
|
|
|
'data' => array_values($filtered)
|
|
|
|
|
], 200);
|
|
|
|
|
}
|
|
|
|
|
|
2025-12-30 14:30:35 +07:00
|
|
|
return $this->respond([
|
|
|
|
|
'status' => 'success',
|
2026-01-12 16:53:41 +07:00
|
|
|
'data' => ValueSet::getAll()
|
2026-01-09 16:58:43 +07:00
|
|
|
], 200);
|
2025-10-14 16:54:43 +07:00
|
|
|
}
|
2026-01-12 16:53:41 +07:00
|
|
|
|
|
|
|
|
public function showByName(string $name = null) {
|
|
|
|
|
if (!$name) {
|
|
|
|
|
return $this->respond([
|
|
|
|
|
'status' => 'error',
|
|
|
|
|
'message' => 'Name is required'
|
|
|
|
|
], 400);
|
2025-10-14 16:54:43 +07:00
|
|
|
}
|
2026-01-12 16:53:41 +07:00
|
|
|
|
|
|
|
|
$data = ValueSet::get($name);
|
|
|
|
|
if (!$data) {
|
|
|
|
|
return $this->respond([
|
|
|
|
|
'status' => 'error',
|
|
|
|
|
'message' => "ValueSet '$name' not found"
|
|
|
|
|
], 404);
|
2025-10-14 16:54:43 +07:00
|
|
|
}
|
2026-01-12 16:53:41 +07:00
|
|
|
|
|
|
|
|
return $this->respond([
|
|
|
|
|
'status' => 'success',
|
|
|
|
|
'data' => $data
|
|
|
|
|
], 200);
|
2025-10-14 16:54:43 +07:00
|
|
|
}
|
2026-01-12 16:53:41 +07:00
|
|
|
|
2025-10-14 16:54:43 +07:00
|
|
|
public function create() {
|
2026-01-12 16:53:41 +07:00
|
|
|
return $this->respond([
|
|
|
|
|
'status' => 'error',
|
|
|
|
|
'message' => 'CRUD operations on value sets are disabled. Edit JSON files directly.'
|
|
|
|
|
], 403);
|
2025-10-14 16:54:43 +07:00
|
|
|
}
|
2026-01-12 16:53:41 +07:00
|
|
|
|
2025-10-14 16:54:43 +07:00
|
|
|
public function update() {
|
2026-01-12 16:53:41 +07:00
|
|
|
return $this->respond([
|
|
|
|
|
'status' => 'error',
|
|
|
|
|
'message' => 'CRUD operations on value sets are disabled. Edit JSON files directly.'
|
|
|
|
|
], 403);
|
2025-10-14 16:54:43 +07:00
|
|
|
}
|
2026-01-12 16:53:41 +07:00
|
|
|
|
2025-10-14 16:54:43 +07:00
|
|
|
public function delete() {
|
2026-01-12 16:53:41 +07:00
|
|
|
return $this->respond([
|
|
|
|
|
'status' => 'error',
|
|
|
|
|
'message' => 'CRUD operations on value sets are disabled. Edit JSON files directly.'
|
|
|
|
|
], 403);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function refresh() {
|
|
|
|
|
ValueSet::clearCache();
|
|
|
|
|
return $this->respond([
|
|
|
|
|
'status' => 'success',
|
|
|
|
|
'message' => 'Cache cleared'
|
|
|
|
|
], 200);
|
2025-10-14 16:54:43 +07:00
|
|
|
}
|
2026-01-05 16:55:34 +07:00
|
|
|
}
|