Files
Leantime/app/Domain/Bom/routes.php

48 lines
2.1 KiB
PHP

<?php
use Illuminate\Support\Facades\Route;
use Leantime\Domain\Bom\Controllers\Api;
/*
|--------------------------------------------------------------------------
| BOM Domain Routes
|--------------------------------------------------------------------------
| JSON API for the BOM (bill-of-materials) module. All endpoints self-authorize
| inside Bom\Services\Bom against the BOM's owning project; the CheckPermissions
| middleware is applied to native routes by the RouteLoader.
*/
Route::prefix('bom/api')->group(function () {
Route::get('/{id}', [Api::class, 'detail']);
Route::post('/', [Api::class, 'store']);
Route::put('/{id}', [Api::class, 'update']);
Route::delete('/{id}', [Api::class, 'destroy']);
Route::post('/{id}/item', [Api::class, 'saveItem']);
Route::delete('/item/{itemId}', [Api::class, 'deleteItem']);
Route::post('/{id}/attachment', [Api::class, 'uploadAttachment']);
Route::post('/{id}/column', [Api::class, 'addColumn']);
Route::delete('/column/{columnId}', [Api::class, 'deleteColumn']);
Route::post('/{id}/column-visibility', [Api::class, 'setHiddenColumns']);
Route::post('/{id}/source', [Api::class, 'addSource']);
Route::delete('/source/{sourceId}', [Api::class, 'deleteSource']);
Route::post('/{id}/import/teable', [Api::class, 'importTeable']);
Route::post('/{id}/import/teable-paste', [Api::class, 'importTeablePaste']);
Route::post('/{id}/import/excel', [Api::class, 'importExcel']);
Route::post('/teable/parse', [Api::class, 'parseTeable']);
Route::get('/{id}/export', [Api::class, 'export']);
Route::get('/{id}/export-template', [Api::class, 'exportTemplate']);
// 全局主数据:项目引用层(单向,不写回全局)
Route::post('/ref/link', [Api::class, 'linkMaster']);
Route::delete('/ref/{refId}', [Api::class, 'unlinkMaster']);
Route::get('/ref/{refId}', [Api::class, 'refDetail']);
Route::post('/ref/{refId}/column', [Api::class, 'addRefColumn']);
Route::delete('/ref-column/{columnId}', [Api::class, 'deleteRefColumn']);
Route::post('/ref/{refId}/value', [Api::class, 'saveRefValue']);
});