2025-07-17 10:05:47 +09:00
|
|
|
<?php
|
|
|
|
|
|
2025-07-18 11:37:07 +09:00
|
|
|
namespace App\Http\Controllers\Api\V1;
|
2025-07-17 10:05:47 +09:00
|
|
|
|
2025-11-06 17:45:49 +09:00
|
|
|
use App\Helpers\ApiResponse;
|
2025-07-17 10:05:47 +09:00
|
|
|
use App\Http\Controllers\Controller;
|
2025-11-07 02:44:11 +09:00
|
|
|
use App\Http\Requests\User\PasswordChangeRequest;
|
|
|
|
|
use App\Http\Requests\User\SwitchTenantRequest;
|
|
|
|
|
use App\Http\Requests\User\UserUpdateRequest;
|
2025-07-17 10:05:47 +09:00
|
|
|
use App\Services\MemberService;
|
2025-11-06 17:45:49 +09:00
|
|
|
use Illuminate\Http\Request;
|
2025-07-17 10:05:47 +09:00
|
|
|
|
2025-08-14 00:55:08 +09:00
|
|
|
class UserController extends Controller
|
2025-07-17 10:05:47 +09:00
|
|
|
{
|
2025-11-07 02:44:11 +09:00
|
|
|
public function __construct(private MemberService $service) {}
|
|
|
|
|
|
2025-07-17 10:05:47 +09:00
|
|
|
public function index(Request $request)
|
|
|
|
|
{
|
2025-08-14 17:20:28 +09:00
|
|
|
return ApiResponse::handle(function () use ($request) {
|
2025-11-07 02:44:11 +09:00
|
|
|
return $this->service->getMembers($request->all());
|
|
|
|
|
}, __('message.user.fetched'));
|
2025-07-17 10:05:47 +09:00
|
|
|
}
|
|
|
|
|
|
2025-07-26 16:02:29 +09:00
|
|
|
public function show($userNo)
|
2025-07-17 10:05:47 +09:00
|
|
|
{
|
2025-08-14 00:55:08 +09:00
|
|
|
return ApiResponse::handle(function () use ($userNo) {
|
2025-11-07 02:44:11 +09:00
|
|
|
return $this->service->getMember($userNo);
|
|
|
|
|
}, __('message.user.fetched'));
|
2025-07-17 10:05:47 +09:00
|
|
|
}
|
|
|
|
|
|
2025-07-22 16:45:11 +09:00
|
|
|
public function me(Request $request)
|
|
|
|
|
{
|
|
|
|
|
return ApiResponse::handle(function () use ($request) {
|
2025-11-07 02:44:11 +09:00
|
|
|
return $this->service->getMyInfo($request);
|
|
|
|
|
}, __('message.user.me_fetched'));
|
2025-07-22 16:45:11 +09:00
|
|
|
}
|
|
|
|
|
|
2025-11-07 02:44:11 +09:00
|
|
|
public function meUpdate(UserUpdateRequest $request)
|
2025-07-17 10:05:47 +09:00
|
|
|
{
|
2025-08-14 00:55:08 +09:00
|
|
|
return ApiResponse::handle(function () use ($request) {
|
2025-11-07 02:44:11 +09:00
|
|
|
return $this->service->getMyUpdate($request);
|
|
|
|
|
}, __('message.user.me_updated'));
|
2025-07-17 10:05:47 +09:00
|
|
|
}
|
|
|
|
|
|
2025-11-07 02:44:11 +09:00
|
|
|
public function changePassword(PasswordChangeRequest $request)
|
2025-07-17 10:05:47 +09:00
|
|
|
{
|
2025-08-14 00:55:08 +09:00
|
|
|
return ApiResponse::handle(function () use ($request) {
|
2025-11-07 02:44:11 +09:00
|
|
|
return $this->service->setMyPassword($request);
|
|
|
|
|
}, __('message.user.password_changed'));
|
2025-08-14 00:55:08 +09:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function tenants(Request $request)
|
|
|
|
|
{
|
|
|
|
|
return ApiResponse::handle(function () use ($request) {
|
2025-11-07 02:44:11 +09:00
|
|
|
return $this->service->getMyTenants($request);
|
|
|
|
|
}, __('message.user.tenants_fetched'));
|
2025-08-14 00:55:08 +09:00
|
|
|
}
|
|
|
|
|
|
2025-11-07 02:44:11 +09:00
|
|
|
public function switchTenant(SwitchTenantRequest $request)
|
2025-08-14 00:55:08 +09:00
|
|
|
{
|
2025-11-07 02:44:11 +09:00
|
|
|
return ApiResponse::handle(function () use ($request) {
|
|
|
|
|
return $this->service->switchMyTenant($request->validated()['tenant_id']);
|
|
|
|
|
}, __('message.user.tenant_switched'));
|
2025-07-17 10:05:47 +09:00
|
|
|
}
|
2025-11-07 02:44:11 +09:00
|
|
|
}
|