fix : 테넌트 관리자 사용자 API 추가

- 사용자 목록
- 사용자 생성
- 사용자 단건 조회
- 사용자 수정
- 사용자 삭제(소프트 삭제)
- 활성/비활성 전환
- 삭제 복구
- 비밀번호 초기화

- 수정필요 : 역할부여, 역할 해재
This commit is contained in:
2025-08-15 16:32:11 +09:00
parent 9935bba84e
commit 06197a1366
7 changed files with 644 additions and 145 deletions

View File

@@ -1,37 +0,0 @@
<?php
namespace App\Http\Controllers\Api\V1;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Helpers\ApiResponse;
use App\Models\SiteAdmin;
class AdminApiController extends Controller
{
/* /**
* @OA\Post(
* path="/api/v1/admin/list",
* summary="관리자 리스트",
* tags={"Admin"},
* security={{"ApiKeyAuth":{}}},
* @OA\RequestBody(
* required=true,
* @OA\JsonContent(
* required={"user_token"},
* @OA\Property(property="user_token", type="string", example="XXXXXXX")
* )
* ),
* @OA\Response(response=200, description="성공"),
* @OA\Response(response=401, description="실패")
* )
*/
public function list(Request $request)
{
return ApiResponse::handle(function () use ($request) {
$admins = new SiteAdmin;
return ApiResponse::response('get', $admins, $request->debug);
}, '관리자 목록 조회 성공', '관리자 목록 조회 실패');
}
}

View File

@@ -0,0 +1,82 @@
<?php
namespace App\Http\Controllers\Api\V1;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Services\AdminService;
use App\Helpers\ApiResponse;
class AdminController extends Controller
{
public function index(Request $request)
{
return ApiResponse::handle(function () use ($request) {
return AdminService::getTenants($request->all());
}, '테넌트 사용자 목록 조회');
}
public function store(Request $request)
{
return ApiResponse::handle(function () use ($request) {
return AdminService::store($request->all());
}, '테넌트 사용자 추가');
}
public function show($userNo)
{
return ApiResponse::handle(function () use ($userNo) {
return AdminService::show($userNo);
}, '테넌트 사용자 단건 조회');
}
public function update(Request $request, $userNo)
{
return ApiResponse::handle(function () use ($request, $userNo) {
return AdminService::update($request->all(), $userNo);
}, '테넌트 사용자 수정');
}
public function destroy($userNo)
{
return ApiResponse::handle(function () use ($userNo) {
return AdminService::destroy($userNo);
}, '테넌트 사용자 삭제(연결 삭제)');
}
public function restore($userNo)
{
return ApiResponse::handle(function () use ($userNo) {
return AdminService::restore($userNo);
}, '테넌트 사용자 삭제 복구');
}
public function toggle($userNo)
{
return ApiResponse::handle(function () use ($userNo) {
return AdminService::toggle($userNo);
}, '테넌트 사용자 활성/비활성');
}
public function attach(Request $request)
{
return ApiResponse::handle(function () use ($request) {
return AdminService::attach($request->all());
}, '테넌트 사용자 역할 부여');
}
public function detach(Request $request)
{
return ApiResponse::handle(function () use ($request) {
return AdminService::detach($request->all());
}, '테넌트 사용자 역할 해제');
}
public function reset(Request $request, $userNo)
{
return ApiResponse::handle(function () use ($request, $userNo) {
return AdminService::reset($request->all(), $userNo);
}, '테넌트 사용자 비밀번호 초기화');
}
}