- 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 준수 완료
65 lines
2.0 KiB
PHP
65 lines
2.0 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Api\V1;
|
|
|
|
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 $this->service->getMembers($request->all());
|
|
}, __('message.user.fetched'));
|
|
}
|
|
|
|
public function show($userNo)
|
|
{
|
|
return ApiResponse::handle(function () use ($userNo) {
|
|
return $this->service->getMember($userNo);
|
|
}, __('message.user.fetched'));
|
|
}
|
|
|
|
public function me(Request $request)
|
|
{
|
|
return ApiResponse::handle(function () use ($request) {
|
|
return $this->service->getMyInfo($request);
|
|
}, __('message.user.me_fetched'));
|
|
}
|
|
|
|
public function meUpdate(UserUpdateRequest $request)
|
|
{
|
|
return ApiResponse::handle(function () use ($request) {
|
|
return $this->service->getMyUpdate($request);
|
|
}, __('message.user.me_updated'));
|
|
}
|
|
|
|
public function changePassword(PasswordChangeRequest $request)
|
|
{
|
|
return ApiResponse::handle(function () use ($request) {
|
|
return $this->service->setMyPassword($request);
|
|
}, __('message.user.password_changed'));
|
|
}
|
|
|
|
public function tenants(Request $request)
|
|
{
|
|
return ApiResponse::handle(function () use ($request) {
|
|
return $this->service->getMyTenants($request);
|
|
}, __('message.user.tenants_fetched'));
|
|
}
|
|
|
|
public function switchTenant(SwitchTenantRequest $request)
|
|
{
|
|
return ApiResponse::handle(function () use ($request) {
|
|
return $this->service->switchMyTenant($request->validated()['tenant_id']);
|
|
}, __('message.user.tenant_switched'));
|
|
}
|
|
} |