fix : 결과 전달시 두번 래핑되는 부분 수정

- 컨트롤러와 서비스에서 각각 래핑 후 결과 전달됨으로 이중 래핑되고 있음
  -> 서비스에서 래핑하는 부분을 컨트롤러로 옮겨서 컨트롤러에서만 한번 래핑하는 걸로 수정
This commit is contained in:
2025-08-19 12:41:17 +09:00
parent aa190bf48d
commit 43e4c507a7
18 changed files with 299 additions and 277 deletions

View File

@@ -32,12 +32,12 @@ public static function index(int $groupId, array $params = [])
{
$tenantId = self::tenantId();
if (!$tenantId) {
return ApiResponse::error('활성 테넌트가 없습니다.', 400);
return ['error' => '활성 테넌트가 없습니다.', 'code' => 400];
}
$group = self::loadGroup($tenantId, $groupId);
if (!$group) {
return ApiResponse::error('옵션 그룹을 찾을 수 없습니다.', 404);
return ['error' => '옵션 그룹을 찾을 수 없습니다.', 'code' => 404];
}
$q = TenantOptionValue::where('group_id', $group->id)
@@ -50,7 +50,7 @@ public static function index(int $groupId, array $params = [])
$list = $q->get();
return ApiResponse::response('result', $list);
return $list;
}
/**
@@ -60,12 +60,12 @@ public static function store(int $groupId, array $params = [])
{
$tenantId = self::tenantId();
if (!$tenantId) {
return ApiResponse::error('활성 테넌트가 없습니다.', 400);
return ['error' => '활성 테넌트가 없습니다.', 'code' => 400];
}
$group = self::loadGroup($tenantId, $groupId);
if (!$group) {
return ApiResponse::error('옵션 그룹을 찾을 수 없습니다.', 404);
return ['error' => '옵션 그룹을 찾을 수 없습니다.', 'code' => 404];
}
$v = Validator::make($params, [
@@ -80,14 +80,14 @@ public static function store(int $groupId, array $params = [])
]);
if ($v->fails()) {
return ApiResponse::error($v->errors()->first(), 422);
return ['error' => $v->errors()->first(), 'code' => 422];
}
$data = $v->validated();
$data['group_id'] = $group->id;
$item = TenantOptionValue::create($data);
return ApiResponse::response('result', $item->toArray());
return $item->toArray();
}
/**
@@ -97,20 +97,20 @@ public static function show(int $groupId, int $id)
{
$tenantId = self::tenantId();
if (!$tenantId) {
return ApiResponse::error('활성 테넌트가 없습니다.', 400);
return ['error' => '활성 테넌트가 없습니다.', 'code' => 400];
}
$group = self::loadGroup($tenantId, $groupId);
if (!$group) {
return ApiResponse::error('옵션 그룹을 찾을 수 없습니다.', 404);
return ['error' => '옵션 그룹을 찾을 수 없습니다.', 'code' => 404];
}
$item = TenantOptionValue::where('group_id', $group->id)->find($id);
if (!$item) {
return ApiResponse::error('옵션 값을 찾을 수 없습니다.', 404);
return ['error' => '옵션 값을 찾을 수 없습니다.', 'code' => 404];
}
return ApiResponse::response('result', $item->toArray());
return $item->toArray();
}
/**
@@ -120,17 +120,17 @@ public static function update(int $groupId, int $id, array $params = [])
{
$tenantId = self::tenantId();
if (!$tenantId) {
return ApiResponse::error('활성 테넌트가 없습니다.', 400);
return ['error' => '활성 테넌트가 없습니다.', 'code' => 400];
}
$group = self::loadGroup($tenantId, $groupId);
if (!$group) {
return ApiResponse::error('옵션 그룹을 찾을 수 없습니다.', 404);
return ['error' => '옵션 그룹을 찾을 수 없습니다.', 'code' => 404];
}
$item = TenantOptionValue::where('group_id', $group->id)->find($id);
if (!$item) {
return ApiResponse::error('옵션 값을 찾을 수 없습니다.', 404);
return ['error' => '옵션 값을 찾을 수 없습니다.', 'code' => 404];
}
$v = Validator::make($params, [
@@ -146,17 +146,17 @@ public static function update(int $groupId, int $id, array $params = [])
]);
if ($v->fails()) {
return ApiResponse::error($v->errors()->first(), 422);
return ['error' => $v->errors()->first(), 'code' => 422];
}
$data = $v->validated();
if (empty($data)) {
return ApiResponse::error('수정할 항목이 없습니다.', 422);
return ['error' => '수정할 항목이 없습니다.', 'code' => 422];
}
$item->fill($data)->save();
return ApiResponse::response('result', $item->toArray());
return $item->toArray();
}
/**
@@ -167,23 +167,23 @@ public static function destroy(int $groupId, int $id)
{
$tenantId = self::tenantId();
if (!$tenantId) {
return ApiResponse::error('활성 테넌트가 없습니다.', 400);
return ['error' => '활성 테넌트가 없습니다.', 'code' => 400];
}
$group = self::loadGroup($tenantId, $groupId);
if (!$group) {
return ApiResponse::error('옵션 그룹을 찾을 수 없습니다.', 404);
return ['error' => '옵션 그룹을 찾을 수 없습니다.', 'code' => 404];
}
$item = TenantOptionValue::where('group_id', $group->id)->find($id);
if (!$item) {
return ApiResponse::error('옵션 값을 찾을 수 없습니다.', 404);
return ['error' => '옵션 값을 찾을 수 없습니다.', 'code' => 404];
}
// TODO: 참조 무결성 검사(필요 시 구현)
$item->delete();
return ApiResponse::response('result', ['deleted' => true]);
return ['deleted' => true];
}
/**
@@ -194,12 +194,12 @@ public static function reorder(int $groupId, array $params = [])
{
$tenantId = self::tenantId();
if (!$tenantId) {
return ApiResponse::error('활성 테넌트가 없습니다.', 400);
return ['error' => '활성 테넌트가 없습니다.', 'code' => 400];
}
$group = self::loadGroup($tenantId, $groupId);
if (!$group) {
return ApiResponse::error('옵션 그룹을 찾을 수 없습니다.', 404);
return ['error' => '옵션 그룹을 찾을 수 없습니다.', 'code' => 404];
}
$v = Validator::make($params, [
@@ -209,7 +209,7 @@ public static function reorder(int $groupId, array $params = [])
]);
if ($v->fails()) {
return ApiResponse::error($v->errors()->first(), 422);
return ['error' => $v->errors()->first(), 'code' => 422];
}
$rows = $v->validated()['items'];
@@ -223,9 +223,9 @@ public static function reorder(int $groupId, array $params = [])
}
});
} catch (\Throwable $e) {
return ApiResponse::error('정렬 순서 저장 중 오류가 발생했습니다.', 500);
return ['error' => '정렬 순서 저장 중 오류가 발생했습니다.', 'code' => 500];
}
return ApiResponse::response('result', ['reordered' => true]);
return ['reordered' => true];
}
}