$e->getMessage(), ]); } } /** * Show the form for creating a new resource. */ public function create() { // } /** * Store a newly created resource in storage. */ public function store(Request $request) { return ApiResponse::handle(function () use ($request) { return MemberService::setMember($request->all()); }, '회원등록 성공', '회원등록 실패'); } /** * @OA\Get ( * path="/api/v1/member/show/{user_no}", * summary="회원 상세조회", * description="user_no 기준으로 회원 상세 정보를 조회합니다.", * tags={"Member"}, * security={ * {"ApiKeyAuth": {}}, * {"BearerAuth": {}} * }, * * @OA\Parameter( * name="user_no", * in="path", * required=true, * description="회원 번호 (USER_NO)", * @OA\Schema(type="integer", example=1) * ), * * @OA\Response( * response=200, * description="회원 상세조회 성공", * @OA\JsonContent( * @OA\Property(property="success", type="boolean", example=true), * @OA\Property(property="message", type="string", example="회원 상세조회 성공"), * @OA\Property( * property="data", * type="object", * @OA\Property(property="id", type="integer", example=1), * @OA\Property(property="user_id", type="string", example="hamss"), * @OA\Property(property="phone", type="string", example="010-4820-9104"), * @OA\Property(property="options", type="string", nullable=true, example=null), * @OA\Property(property="name", type="string", example="권혁성"), * @OA\Property(property="email", type="string", example="shine1324@gmail.com"), * @OA\Property(property="email_verified_at", type="string", format="date-time", nullable=true, example=null), * @OA\Property(property="last_login_at", type="string", format="date-time", nullable=true, example=null), * @OA\Property(property="current_team_id", type="integer", nullable=true, example=null), * @OA\Property(property="profile_photo_path", type="string", nullable=true, example=null), * @OA\Property(property="created_at", type="string", format="date-time", example="2025-07-16 18:28:41"), * @OA\Property(property="updated_at", type="string", format="date-time", example="2025-07-25 23:13:06"), * @OA\Property(property="deleted_at", type="string", format="date-time", nullable=true, example=null) * ) * ) * ) , * * @OA\Response(response=401, description="인증 실패"), * @OA\Response(response=404, description="회원 정보 없음"), * ) */ public function show($userNo) { try { $result = MemberService::getMember($userNo); return ApiResponse::success($result['data'], '회원 상세조회 성공',$result['query']); } catch (\Throwable $e) { return ApiResponse::error('회원 상세조회 실패', 500, [ 'details' => $e->getMessage(), ]); } } /** * @OA\Get( * path="/api/v1/member/me", * summary="내 정보 조회", * description="내정보와 테넌트 정보를 전달 합니다.", * tags={"Member"}, * security={ * {"ApiKeyAuth":{}}, * {"BearerAuth":{}} * }, * @OA\Response( * response=200, * description="나의 정보 조회 성공", * @OA\JsonContent( * @OA\Property(property="success", type="boolean", example=true), * @OA\Property(property="message", type="string", example="나의 정보 조회 성공"), * @OA\Property( * property="data", * type="object", * @OA\Property( * property="user", * type="object", * @OA\Property(property="id", type="integer", example=3), * @OA\Property(property="user_id", type="string", example="test"), * @OA\Property(property="phone", type="string", example="010-1234-5678"), * @OA\Property(property="options", type="string", nullable=true, example=null), * @OA\Property(property="name", type="string", example="테스트"), * @OA\Property(property="email", type="string", example="test@5130.co.kr"), * @OA\Property(property="email_verified_at", type="string", format="date-time", nullable=true, example=null), * @OA\Property(property="last_login_at", type="string", format="date-time", nullable=true, example=null), * @OA\Property(property="current_team_id", type="integer", nullable=true, example=null), * @OA\Property(property="profile_photo_path", type="string", nullable=true, example=null), * @OA\Property(property="created_at", type="string", format="date-time", example="2025-07-17 13:19:37"), * @OA\Property(property="updated_at", type="string", format="date-time", example="2025-07-26 15:51:14"), * @OA\Property(property="deleted_at", type="string", format="date-time", nullable=true, example=null) * ), * @OA\Property( * property="tenant", * type="object", * @OA\Property(property="id", type="integer", example=1), * @OA\Property(property="company_name", type="string", example="(주)경동기업"), * @OA\Property(property="code", type="string", example="KDCOM"), * @OA\Property(property="email", type="string", example="kd5130@naver.com"), * @OA\Property(property="phone", type="string", example="01083935130"), * @OA\Property(property="address", type="string", example="경기도 김포시 통진읍 옹정로 45-22"), * @OA\Property(property="business_num", type="string", example="1398700333"), * @OA\Property(property="corp_reg_no", type="string", nullable=true, example=null), * @OA\Property(property="ceo_name", type="string", example="이경호"), * @OA\Property(property="homepage", type="string", nullable=true, example=null), * @OA\Property(property="fax", type="string", nullable=true, example=null), * @OA\Property(property="logo", type="string", nullable=true, example=null), * @OA\Property(property="admin_memo", type="string", nullable=true, example=null), * @OA\Property(property="options", type="string", nullable=true, example=null), * ) * ) * ) * ), * @OA\Response( * response=401, * description="인증 실패 (헤더 누락, 유효하지 않은 토큰/키 등)" * ) * ) */ public function me(Request $request) { return ApiResponse::handle(function () use ($request) { return MemberService::getMyInfo($request); }, '나의 정보 조회 성공', '나의 정보 조회 실패'); } /** * Show the form for editing the specified resource. */ public function edit(string $id) { // } /** * Update the specified resource in storage. */ public function update(Request $request, string $id) { // } /** * Remove the specified resource from storage. */ public function delAdmin($userNo, Request $request) { return ApiResponse::handle(function () use ($userNo, $request) { return MemberService::delAdmin($userNo); }, '관리자 제외 성공', '관리자 제외 실패'); } /** * 관리자 설정 */ public function setAdmin($userNo, Request $request) { return ApiResponse::handle(function () use ($userNo, $request) { return MemberService::setAdmin($userNo); }, '관리자 설정 성공', '관리자 설정 실패'); } }