fix : 결과 전달시 두번 래핑되는 부분 수정
- 컨트롤러와 서비스에서 각각 래핑 후 결과 전달됨으로 이중 래핑되고 있음 -> 서비스에서 래핑하는 부분을 컨트롤러로 옮겨서 컨트롤러에서만 한번 래핑하는 걸로 수정
This commit is contained in:
@@ -26,7 +26,7 @@ public static function index(array $params = [])
|
||||
{
|
||||
$tenantId = self::tenantId();
|
||||
if (!$tenantId) {
|
||||
return ApiResponse::error('활성 테넌트가 없습니다.', 400);
|
||||
return ['error' => '활성 테넌트가 없습니다.', 'code' => 400];
|
||||
}
|
||||
|
||||
$per = (int)($params['per_page'] ?? $params['size'] ?? 20);
|
||||
@@ -44,7 +44,7 @@ public static function index(array $params = [])
|
||||
|
||||
$data = $q->paginate($per, ['*'], 'page', $page);
|
||||
|
||||
return ApiResponse::response('result', $data);
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -54,7 +54,7 @@ public static function store(array $params = [])
|
||||
{
|
||||
$tenantId = self::tenantId();
|
||||
if (!$tenantId) {
|
||||
return ApiResponse::error('활성 테넌트가 없습니다.', 400);
|
||||
return ['error' => '활성 테넌트가 없습니다.', 'code' => 400];
|
||||
}
|
||||
|
||||
$v = Validator::make($params, [
|
||||
@@ -68,7 +68,7 @@ public static function store(array $params = [])
|
||||
]);
|
||||
|
||||
if ($v->fails()) {
|
||||
return ApiResponse::error($v->errors()->first(), 422);
|
||||
return ['error' => $v->errors()->first(), 'code' => 422];
|
||||
}
|
||||
|
||||
$data = $v->validated();
|
||||
@@ -76,7 +76,7 @@ public static function store(array $params = [])
|
||||
|
||||
$item = TenantOptionGroup::create($data);
|
||||
|
||||
return ApiResponse::response('result', $item->toArray());
|
||||
return $item->toArray();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -86,18 +86,18 @@ public static function show(int $id)
|
||||
{
|
||||
$tenantId = self::tenantId();
|
||||
if (!$tenantId) {
|
||||
return ApiResponse::error('활성 테넌트가 없습니다.', 400);
|
||||
return ['error' => '활성 테넌트가 없습니다.', 'code' => 400];
|
||||
}
|
||||
if (!$id) {
|
||||
return ApiResponse::error('id가 올바르지 않습니다.', 422);
|
||||
return ['error' => 'id가 올바르지 않습니다.', 'code' => 422];
|
||||
}
|
||||
|
||||
$item = TenantOptionGroup::where('tenant_id', $tenantId)->find($id);
|
||||
if (!$item) {
|
||||
return ApiResponse::error('옵션 그룹을 찾을 수 없습니다.', 404);
|
||||
return ['error' => '옵션 그룹을 찾을 수 없습니다.', 'code' => 404];
|
||||
}
|
||||
|
||||
return ApiResponse::response('result', $item->toArray());
|
||||
return $item->toArray();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -107,15 +107,15 @@ public static function update(int $id, array $params = [])
|
||||
{
|
||||
$tenantId = self::tenantId();
|
||||
if (!$tenantId) {
|
||||
return ApiResponse::error('활성 테넌트가 없습니다.', 400);
|
||||
return ['error' => '활성 테넌트가 없습니다.', 'code' => 400];
|
||||
}
|
||||
if (!$id) {
|
||||
return ApiResponse::error('id가 올바르지 않습니다.', 422);
|
||||
return ['error' => 'id가 올바르지 않습니다.', 'code' => 422];
|
||||
}
|
||||
|
||||
$item = TenantOptionGroup::where('tenant_id', $tenantId)->find($id);
|
||||
if (!$item) {
|
||||
return ApiResponse::error('옵션 그룹을 찾을 수 없습니다.', 404);
|
||||
return ['error' => '옵션 그룹을 찾을 수 없습니다.', 'code' => 404];
|
||||
}
|
||||
|
||||
$v = Validator::make($params, [
|
||||
@@ -130,17 +130,17 @@ public static function update(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();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -153,21 +153,21 @@ public static function destroy(int $id)
|
||||
{
|
||||
$tenantId = self::tenantId();
|
||||
if (!$tenantId) {
|
||||
return ApiResponse::error('활성 테넌트가 없습니다.', 400);
|
||||
return ['error' => '활성 테넌트가 없습니다.', 'code' => 400];
|
||||
}
|
||||
if (!$id) {
|
||||
return ApiResponse::error('id가 올바르지 않습니다.', 422);
|
||||
return ['error' => 'id가 올바르지 않습니다.', 'code' => 422];
|
||||
}
|
||||
|
||||
$item = TenantOptionGroup::where('tenant_id', $tenantId)->find($id);
|
||||
if (!$item) {
|
||||
return ApiResponse::error('옵션 그룹을 찾을 수 없습니다.', 404);
|
||||
return ['error' => '옵션 그룹을 찾을 수 없습니다.', 'code' => 404];
|
||||
}
|
||||
|
||||
// 1) 옵션 값 존재 여부
|
||||
$hasValues = TenantOptionValue::where('group_id', $item->id)->exists();
|
||||
if ($hasValues) {
|
||||
return ApiResponse::error('해당 그룹에 옵션 값이 존재하여 삭제할 수 없습니다.', 409);
|
||||
return ['error' => '해당 그룹에 옵션 값이 존재하여 삭제할 수 없습니다.', 'code' => 409];
|
||||
}
|
||||
|
||||
// 2) 필드 설정에서 참조 여부
|
||||
@@ -175,11 +175,11 @@ public static function destroy(int $id)
|
||||
->where('option_group_id', $item->id)
|
||||
->exists();
|
||||
if ($isReferenced) {
|
||||
return ApiResponse::error('필드 설정에서 참조 중인 그룹은 삭제할 수 없습니다.', 409);
|
||||
return ['error' => '필드 설정에서 참조 중인 그룹은 삭제할 수 없습니다.', 'code' => 409];
|
||||
}
|
||||
|
||||
$item->delete();
|
||||
|
||||
return ApiResponse::response('result', ['deleted' => true]);
|
||||
return ['deleted' => true];
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user