Files
sam-api/app/Http/Controllers/Api/V1/CommonController.php
kent 9f8bff2f3d feat(common-codes): order_status/order_type 공용 코드 추가
- common_codes 테이블에 order_status 코드 그룹 추가 (DRAFT, CONFIRMED, IN_PROGRESS, COMPLETED, CANCELLED)
- common_codes 테이블에 order_type 코드 그룹 추가 (ORDER, PURCHASE)
- CommonController index 메서드 구현 (GET /api/v1/settings/common/{group})
- 멀티테넌트 지원 (tenant_id NULL 또는 현재 테넌트)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 17:25:14 +09:00

76 lines
2.1 KiB
PHP

<?php
namespace App\Http\Controllers\Api\V1;
use App\Helpers\ApiResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class CommonController
{
public static function getComeCode()
{
return ApiResponse::handle(function () {
return DB::table('common_codes')
->select(['code_group', 'code', 'name', 'description', 'is_active'])
->where('tenant_id', app('tenant_id'))
->get();
}, '공통코드');
}
public function list(Request $request)
{
return ApiResponse::handle(function () {
// Service implementation needed
return [];
}, __('message.fetched'));
}
/**
* 특정 그룹의 공통 코드 목록 조회
*
* GET /api/v1/settings/common/{group}
*/
public function index(Request $request, string $group)
{
return ApiResponse::handle(function () use ($group) {
$tenantId = app('tenant_id');
return DB::table('common_codes')
->select(['id', 'code', 'name', 'description', 'sort_order', 'attributes'])
->where('code_group', $group)
->where('is_active', true)
->where(function ($query) use ($tenantId) {
$query->where('tenant_id', $tenantId)
->orWhereNull('tenant_id');
})
->orderBy('sort_order')
->get();
}, __('message.fetched'));
}
public function store(Request $request)
{
return ApiResponse::handle(function () {
// Service implementation needed
return [];
}, __('message.settings.common_code_saved'));
}
public function update(Request $request, int $id)
{
return ApiResponse::handle(function () {
// Service implementation needed
return [];
}, __('message.updated'));
}
public function destroy(Request $request, int $id)
{
return ApiResponse::handle(function () {
// Service implementation needed
return [];
}, __('message.deleted'));
}
}