mirror of
https://github.com/henry4682/finance_app.git
synced 2026-07-16 00:10:00 +00:00
feat: 前端分離+功能api化
1. 新增資產管理CRUD、googleOAuth登入 2. 更改原記帳controller
This commit is contained in:
67
routes/api.php
Normal file
67
routes/api.php
Normal file
@@ -0,0 +1,67 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use App\Http\Controllers\Api\AccountController;
|
||||
use App\Http\Controllers\Api\CategoryController;
|
||||
use App\Http\Controllers\Api\CategoryRuleController;
|
||||
use App\Http\Controllers\Api\ExpenseController;
|
||||
use App\Http\Controllers\Api\InvestmentHoldingController;
|
||||
use App\Http\Controllers\Api\InvestmentTransactionController;
|
||||
use App\Http\Controllers\Api\InvoiceImportController;
|
||||
use App\Http\Controllers\Api\SecurityController;
|
||||
use App\Http\Controllers\Api\SecurityPriceController;
|
||||
use App\Http\Controllers\Api\DashboardController;
|
||||
|
||||
Route::get('/user', function (Request $request) {
|
||||
return $request->user();
|
||||
})->middleware('auth:sanctum');
|
||||
|
||||
|
||||
Route::middleware('auth:sanctum')->group(function () {
|
||||
|
||||
// 儀表板統計數據 API
|
||||
Route::get('/dashboard/stats', [DashboardController::class, 'index']);
|
||||
|
||||
Route::apiResource('accounts', AccountController::class);
|
||||
|
||||
Route::apiResource('accounts.holdings', InvestmentHoldingController::class)
|
||||
->shallow();
|
||||
Route::delete('holdings/delete/{account}/{holding}', [InvestmentHoldingController::class, 'destroy']);
|
||||
|
||||
|
||||
Route::get('holdings/{holding}/transactions', [InvestmentTransactionController::class, 'index']);
|
||||
Route::post('holdings/{holding}/transactions', [InvestmentTransactionController::class, 'store']);
|
||||
Route::delete('holdings/{holding}/transactions/{transaction}', [InvestmentTransactionController::class, 'destroy']);
|
||||
|
||||
Route::get('/accounts/{accountId}/holdings-trend', [SecurityPriceController::class, 'accountTrend']);
|
||||
Route::get('holdings/{holding}/realtime', [SecurityPriceController::class, 'showRealtime']);
|
||||
Route::get('holdings/{holding}/history', [SecurityPriceController::class, 'history']);
|
||||
|
||||
Route::get('/securities/search', [SecurityController::class, 'index']);
|
||||
|
||||
// 取得所有支出明細列表
|
||||
Route::get('/expenses', [ExpenseController::class, 'index']);
|
||||
// 新增單筆支出
|
||||
Route::post('/expenses', [ExpenseController::class, 'store']);
|
||||
// 修改單筆支出
|
||||
Route::put('/expenses/{expense}', [ExpenseController::class, 'update']);
|
||||
// 刪除單筆支出
|
||||
Route::delete('/expenses/{expense}', [ExpenseController::class, 'destroy']);
|
||||
// 批量刪除支出
|
||||
Route::post('/expenses/destroy-batch', [ExpenseController::class, 'destroyBatch']);
|
||||
Route::get('/categories', [ExpenseController::class, 'categories']);
|
||||
Route::get('/category-rules', [ExpenseController::class, 'categoryRules']);
|
||||
|
||||
// 分類管理 API
|
||||
Route::post('/categories', [CategoryController::class, 'store']);
|
||||
Route::put('/categories/{category}', [CategoryController::class, 'update']);
|
||||
Route::delete('/categories/{category}', [CategoryController::class, 'destroy']);
|
||||
|
||||
// 自動分類規則 API
|
||||
Route::post('/category-rules', [CategoryRuleController::class, 'store']);
|
||||
Route::delete('/category-rules/{categoryRule}', [CategoryRuleController::class, 'destroy']);
|
||||
|
||||
// 發票 CSV 上傳匯入介面 API
|
||||
Route::post('/expenses/import', [InvoiceImportController::class, 'store']);
|
||||
});
|
||||
Reference in New Issue
Block a user