Files
sam-api/app/Http/Controllers/Api/V1/UserController.php

65 lines
2.0 KiB
PHP
Raw Normal View History

2025-07-17 10:05:47 +09:00
<?php
namespace App\Http\Controllers\Api\V1;
2025-07-17 10:05:47 +09:00
use App\Helpers\ApiResponse;
2025-07-17 10:05:47 +09:00
use App\Http\Controllers\Controller;
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;
use Illuminate\Http\Request;
2025-07-17 10:05:47 +09:00
class UserController extends Controller
2025-07-17 10:05:47 +09:00
{
public function __construct(private MemberService $service) {}
2025-07-17 10:05:47 +09:00
public function index(Request $request)
{
return ApiResponse::handle(function () use ($request) {
return $this->service->getMembers($request->all());
}, __('message.user.fetched'));
2025-07-17 10:05:47 +09:00
}
public function show($userNo)
2025-07-17 10:05:47 +09:00
{
return ApiResponse::handle(function () use ($userNo) {
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) {
return $this->service->getMyInfo($request);
}, __('message.user.me_fetched'));
2025-07-22 16:45:11 +09:00
}
public function meUpdate(UserUpdateRequest $request)
2025-07-17 10:05:47 +09:00
{
return ApiResponse::handle(function () use ($request) {
return $this->service->getMyUpdate($request);
}, __('message.user.me_updated'));
2025-07-17 10:05:47 +09:00
}
public function changePassword(PasswordChangeRequest $request)
2025-07-17 10:05:47 +09:00
{
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'));
2025-07-17 10:05:47 +09:00
}
}