From 4ac6c0a49e84e8c51a514ef3cf8090d3260405f9 Mon Sep 17 00:00:00 2001 From: hskwon Date: Wed, 23 Jul 2025 18:06:33 +0900 Subject: [PATCH] =?UTF-8?q?feat=20:=20API=20-=20=EC=A0=9C=ED=92=88=20Categ?= =?UTF-8?q?ory=20=EB=A6=AC=EC=8A=A4=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/Api/V1/ProductController.php | 110 ++++++++++++++++++ app/Services/ProductService.php | 37 ++++++ routes/api.php | 25 ++-- 3 files changed, 163 insertions(+), 9 deletions(-) create mode 100644 app/Http/Controllers/Api/V1/ProductController.php create mode 100644 app/Services/ProductService.php diff --git a/app/Http/Controllers/Api/V1/ProductController.php b/app/Http/Controllers/Api/V1/ProductController.php new file mode 100644 index 0000000..d0a7ea4 --- /dev/null +++ b/app/Http/Controllers/Api/V1/ProductController.php @@ -0,0 +1,110 @@ +where('parent_id',null); + + return ApiResponse::response('get', $query, true); + } + + public static function getMyInfo($request, bool $debug = false) + { + + $member = $request->user(); + $company = MemberCompany::where('mc_num',$member->tn_num)->first(); + $data=[ + 'member' => $member, + 'company' => $company + ]; + + return ApiResponse::response('result', $data, $debug); + } + + +} diff --git a/routes/api.php b/routes/api.php index 6afc835..1b561bf 100644 --- a/routes/api.php +++ b/routes/api.php @@ -7,31 +7,38 @@ use App\Http\Controllers\Api\V1\MemberController; use App\Http\Controllers\Api\V1\AdminApiController; use App\Http\Controllers\Api\V1\FileController; +use App\Http\Controllers\Api\V1\ProductController; // V1 초기 개발 Route::prefix('v1')->group(function () { - # 회원관련 - Route::post('/login', [ApiController::class, 'login']); - Route::get('/login', [ApiController::class, 'login']); - Route::middleware('auth.apikey')->post('/logout', [ApiController::class, 'logout']); - - # API KEY 인증 - Route::middleware('auth.apikey')->get('/debug-apikey', [ApiController::class, 'debugApikey']); - - # SAM API Route::middleware('auth.apikey')->group(function () { + # Auth API + Route::post('/login', [ApiController::class, 'login']); + Route::get('/login', [ApiController::class, 'login']); + Route::middleware('auth.apikey')->post('/logout', [ApiController::class, 'logout']); + # API KEY 인증 + Route::middleware('auth.apikey')->get('/debug-apikey', [ApiController::class, 'debugApikey']); + + // Admin API Route::post('/admin/list', [AdminApiController::class, 'list'])->middleware('permission:SR'); // 관리자 리스트 조회 + // Common API Route::prefix('common')->group(function () { Route::get('/code', [CommonController::class, 'getComeCode'])->name('common.code'); // 공통코드 조회 }); + // Product API + Route::prefix('product')->group(function () { + Route::get('/category', [ProductController::class, 'getCategory'])->name('product.category'); // 제품 카테고리 + }); + + // Member API Route::prefix('member')->group(function () { Route::get('/me', [MemberController::class, 'me'])->name('member.me'); // 회원 목록 조회