companyService->checkBusinessNumber( $request->validated()['business_number'] ); return ApiResponse::handle('message.company.checked', $result); } /** * 회사 추가 신청 */ public function request(CompanyRequestStoreRequest $request): JsonResponse { $result = $this->companyService->createRequest($request->validated()); return ApiResponse::handle('message.company.request_created', $result, 201); } /** * 회사 추가 신청 목록 (관리자용) */ public function requests(CompanyRequestIndexRequest $request): JsonResponse { $result = $this->companyService->getRequests($request->validated()); return ApiResponse::handle('message.fetched', $result); } /** * 회사 추가 신청 상세 */ public function showRequest(int $id): JsonResponse { $result = $this->companyService->getRequest($id); return ApiResponse::handle('message.fetched', $result); } /** * 회사 추가 신청 승인 */ public function approve(int $id): JsonResponse { $result = $this->companyService->approveRequest($id); return ApiResponse::handle('message.company.request_approved', $result); } /** * 회사 추가 신청 반려 */ public function reject(CompanyRequestActionRequest $request, int $id): JsonResponse { $result = $this->companyService->rejectRequest($id, $request->validated()['reason'] ?? null); return ApiResponse::handle('message.company.request_rejected', $result); } /** * 내 회사 추가 신청 목록 */ public function myRequests(CompanyRequestIndexRequest $request): JsonResponse { $result = $this->companyService->getMyRequests($request->validated()); return ApiResponse::handle('message.fetched', $result); } }