feat: UserApi.php Swagger 점검 및 개선 (Phase 3-4)
- UserUpdateRequest.php 생성 (검증 로직 분리) - PasswordChangeRequest.php 생성 (비밀번호 변경 검증) - SwitchTenantRequest.php 생성 (테넌트 전환 검증) - UserApi.php에 Request 스키마 추가 - UserController.php FormRequest 적용 및 DI 패턴 적용 - MemberService static 호출 → DI 인스턴스 호출 - lang/ko/message.php user 메시지 키 추가 - SAM API Development Rules 준수 완료
This commit is contained in:
@@ -4,59 +4,62 @@
|
||||
|
||||
use App\Helpers\ApiResponse;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests\User\PasswordChangeRequest;
|
||||
use App\Http\Requests\User\SwitchTenantRequest;
|
||||
use App\Http\Requests\User\UserUpdateRequest;
|
||||
use App\Services\MemberService;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class UserController extends Controller
|
||||
{
|
||||
public function __construct(private MemberService $service) {}
|
||||
|
||||
public function index(Request $request)
|
||||
{
|
||||
return ApiResponse::handle(function () use ($request) {
|
||||
return MemberService::getMembers($request->all());
|
||||
}, '회원목록 조회');
|
||||
return $this->service->getMembers($request->all());
|
||||
}, __('message.user.fetched'));
|
||||
}
|
||||
|
||||
public function show($userNo)
|
||||
{
|
||||
return ApiResponse::handle(function () use ($userNo) {
|
||||
return MemberService::getMember($userNo);
|
||||
}, '회원 상세조회');
|
||||
return $this->service->getMember($userNo);
|
||||
}, __('message.user.fetched'));
|
||||
}
|
||||
|
||||
public function me(Request $request)
|
||||
{
|
||||
return ApiResponse::handle(function () use ($request) {
|
||||
return MemberService::getMyInfo($request);
|
||||
}, '나의 정보 조회');
|
||||
return $this->service->getMyInfo($request);
|
||||
}, __('message.user.me_fetched'));
|
||||
}
|
||||
|
||||
public function meUpdate(Request $request)
|
||||
public function meUpdate(UserUpdateRequest $request)
|
||||
{
|
||||
return ApiResponse::handle(function () use ($request) {
|
||||
return MemberService::getMyUpdate($request);
|
||||
}, '나의 정보 수정');
|
||||
return $this->service->getMyUpdate($request);
|
||||
}, __('message.user.me_updated'));
|
||||
}
|
||||
|
||||
public function changePassword(Request $request)
|
||||
public function changePassword(PasswordChangeRequest $request)
|
||||
{
|
||||
return ApiResponse::handle(function () use ($request) {
|
||||
return MemberService::setMyPassword($request);
|
||||
}, '나의 비밀번호 수정');
|
||||
return $this->service->setMyPassword($request);
|
||||
}, __('message.user.password_changed'));
|
||||
}
|
||||
|
||||
public function tenants(Request $request)
|
||||
{
|
||||
return ApiResponse::handle(function () use ($request) {
|
||||
return MemberService::getMyTenants($request);
|
||||
}, '나의 테넌트 목록 조회');
|
||||
return $this->service->getMyTenants($request);
|
||||
}, __('message.user.tenants_fetched'));
|
||||
}
|
||||
|
||||
public function switchTenant(Request $request)
|
||||
public function switchTenant(SwitchTenantRequest $request)
|
||||
{
|
||||
$tenant_id = $request->tenant_id;
|
||||
|
||||
return ApiResponse::handle(function () use ($tenant_id) {
|
||||
return MemberService::switchMyTenant($tenant_id);
|
||||
}, '활성 테넌트 전환');
|
||||
return ApiResponse::handle(function () use ($request) {
|
||||
return $this->service->switchMyTenant($request->validated()['tenant_id']);
|
||||
}, __('message.user.tenant_switched'));
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user