feat: TenantApi.php & CategoryApi.php Swagger 점검 및 개선 (Phase 3-5, 3-6)

Phase 3-5 (TenantApi.php):
- TenantStoreRequest.php 생성 (검증 로직 분리)
- TenantUpdateRequest.php 생성 (검증 로직 분리)
- TenantController.php FormRequest 적용 및 DI 패턴 적용
- TenantService static 호출 → DI 인스턴스 호출
- lang/ko/message.php tenant 메시지 키 추가

Phase 3-6 (CategoryApi.php):
- CategoryStoreRequest.php 생성 (검증 로직 분리)
- CategoryUpdateRequest.php 생성 (검증 로직 분리)
- CategoryMoveRequest.php 생성 (카테고리 이동 검증)
- CategoryReorderRequest.php 생성 (정렬순서 일괄 변경 검증)
- CategoryController.php FormRequest 적용
- lang/ko/message.php category 메시지 키 추가
- SAM API Development Rules 준수 완료
This commit is contained in:
2025-11-07 02:47:30 +09:00
parent 97c0d8245e
commit 17a710f8ef
9 changed files with 198 additions and 29 deletions

View File

@@ -4,50 +4,54 @@
use App\Helpers\ApiResponse;
use App\Http\Controllers\Controller;
use App\Http\Requests\Tenant\TenantStoreRequest;
use App\Http\Requests\Tenant\TenantUpdateRequest;
use App\Services\TenantService;
use Illuminate\Http\Request;
class TenantController extends Controller
{
public function __construct(private TenantService $service) {}
public function index(Request $request)
{
return ApiResponse::handle(function () use ($request) {
return TenantService::getTenants($request->all());
}, '테넌트목록 조회');
return $this->service->getTenants($request->all());
}, __('message.tenant.fetched'));
}
public function show(Request $request)
{
return ApiResponse::handle(function () use ($request) {
return TenantService::getTenant($request->all());
}, '테넌트정보 조회');
return $this->service->getTenant($request->all());
}, __('message.tenant.fetched'));
}
public function update(Request $request)
public function store(TenantStoreRequest $request)
{
return ApiResponse::handle(function () use ($request) {
return TenantService::updateTenant($request->all());
}, '테넌트정보 수정');
return $this->service->storeTenants($request->validated());
}, __('message.tenant.created'));
}
public function store(Request $request)
public function update(TenantUpdateRequest $request)
{
return ApiResponse::handle(function () use ($request) {
return TenantService::storeTenants($request->all());
}, '테넌트 등록');
return $this->service->updateTenant($request->validated());
}, __('message.tenant.updated'));
}
public function destroy(Request $request)
{
return ApiResponse::handle(function () use ($request) {
return TenantService::destroyTenant($request->all());
}, '테넌트 삭제(탈퇴)');
return $this->service->destroyTenant($request->all());
}, __('message.tenant.deleted'));
}
public function restore(Request $request)
{
return ApiResponse::handle(function () use ($request) {
return TenantService::restoreTenant($request->all());
}, '테넌트 복구');
return $this->service->restoreTenant($request->all());
}, __('message.tenant.restored'));
}
}
}