feat: 2.4 입금/출금 관리 API 구현
- 마이그레이션: deposits, withdrawals 테이블 생성 - 모델: Deposit, Withdrawal (BelongsToTenant, SoftDeletes) - 서비스: DepositService, WithdrawalService (CRUD + summary) - 컨트롤러: DepositController, WithdrawalController - FormRequest: Store/Update 검증 클래스 - Swagger: 입금/출금 API 문서 (12개 엔드포인트) - 라우트: /v1/deposits, /v1/withdrawals 등록
This commit is contained in:
@@ -51,6 +51,8 @@
|
||||
use App\Http\Controllers\Api\V1\RolePermissionController;
|
||||
use App\Http\Controllers\Api\V1\BankAccountController;
|
||||
use App\Http\Controllers\Api\V1\CardController;
|
||||
use App\Http\Controllers\Api\V1\DepositController;
|
||||
use App\Http\Controllers\Api\V1\WithdrawalController;
|
||||
use App\Http\Controllers\Api\V1\SiteController;
|
||||
use App\Http\Controllers\Api\V1\TenantController;
|
||||
use App\Http\Controllers\Api\V1\TenantFieldSettingController;
|
||||
@@ -294,6 +296,26 @@
|
||||
Route::patch('/{id}/set-primary', [BankAccountController::class, 'setPrimary'])->whereNumber('id')->name('v1.bank-accounts.set-primary');
|
||||
});
|
||||
|
||||
// Deposit API (입금 관리)
|
||||
Route::prefix('deposits')->group(function () {
|
||||
Route::get('', [DepositController::class, 'index'])->name('v1.deposits.index');
|
||||
Route::post('', [DepositController::class, 'store'])->name('v1.deposits.store');
|
||||
Route::get('/summary', [DepositController::class, 'summary'])->name('v1.deposits.summary');
|
||||
Route::get('/{id}', [DepositController::class, 'show'])->whereNumber('id')->name('v1.deposits.show');
|
||||
Route::put('/{id}', [DepositController::class, 'update'])->whereNumber('id')->name('v1.deposits.update');
|
||||
Route::delete('/{id}', [DepositController::class, 'destroy'])->whereNumber('id')->name('v1.deposits.destroy');
|
||||
});
|
||||
|
||||
// Withdrawal API (출금 관리)
|
||||
Route::prefix('withdrawals')->group(function () {
|
||||
Route::get('', [WithdrawalController::class, 'index'])->name('v1.withdrawals.index');
|
||||
Route::post('', [WithdrawalController::class, 'store'])->name('v1.withdrawals.store');
|
||||
Route::get('/summary', [WithdrawalController::class, 'summary'])->name('v1.withdrawals.summary');
|
||||
Route::get('/{id}', [WithdrawalController::class, 'show'])->whereNumber('id')->name('v1.withdrawals.show');
|
||||
Route::put('/{id}', [WithdrawalController::class, 'update'])->whereNumber('id')->name('v1.withdrawals.update');
|
||||
Route::delete('/{id}', [WithdrawalController::class, 'destroy'])->whereNumber('id')->name('v1.withdrawals.destroy');
|
||||
});
|
||||
|
||||
// Permission API
|
||||
Route::prefix('permissions')->group(function () {
|
||||
Route::get('departments/{dept_id}/menu-matrix', [PermissionController::class, 'deptMenuMatrix'])->name('v1.permissions.deptMenuMatrix'); // 부서별 권한 메트릭스
|
||||
|
||||
Reference in New Issue
Block a user