api.php 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. <?php
  2. use Illuminate\Http\Request;
  3. use Illuminate\Support\Facades\Route;
  4. use App\Http\Controllers\API;
  5. /*
  6. |--------------------------------------------------------------------------
  7. | API Routes
  8. |--------------------------------------------------------------------------
  9. |
  10. | Here is where you can register API routes for your application. These
  11. | routes are loaded by the RouteServiceProvider and all of them will
  12. | be assigned to the "api" middleware group. Make something great!
  13. |
  14. */
  15. Route::post("/login", [API\AuthController::class, "login"]);
  16. Route::middleware(['auth:sanctum'])->group(function () {
  17. Route::post("/logout", [API\AuthController::class, "logout"]);
  18. Route::get("user/info", [API\UserController::class, 'info'])->name("user.info");
  19. Route::get("user/index",[API\UserController::class, 'index'])->name("user.index");
  20. Route::middleware(['permission'])->group(function() {
  21. Route::apiResources([
  22. 'asset-group' => API\AssetGroupController::class,
  23. 'asset' => API\AssetController::class,
  24. 'requirement-group' => API\RequirementGroupController::class,
  25. 'requirement' => API\RequirementController::class,
  26. 'project' => API\ProjectController::class,
  27. 'plan' => API\PlanController::class,
  28. 'role' => API\RoleController::class,
  29. 'custom-field' => API\CustomFieldController::class,
  30. 'naming-rule' => API\NameRuleController::class,
  31. 'task' => API\TaskController::class,
  32. 'library' => API\LibraryController::class,
  33. 'department' => API\DepartmentController::class,
  34. 'company' => API\CompanyController::class,
  35. ]);
  36. Route::get("asset/{asset_id}/report",[API\AssetController::class, 'report'])->name('asset.report');
  37. Route::patch("requirement/{requirement_id}/close",[API\RequirementController::class, 'close'])->name('requirement.close');
  38. Route::patch("requirement/{requirement_id}/start",[API\RequirementController::class, 'start'])->name('requirement.start');
  39. Route::get("requirement/{asset_id}/asset", [API\RequirementController::class, "byAsset"])->name("requirement.byAsset");
  40. Route::patch("requirement/{plan_id}/plan", [API\RequirementController::class, "linkPlan"])->name("requirement.linkPlan");
  41. Route::patch("requirement/plan/unlink", [API\RequirementController::class, "unlinkPlan"])->name("requirement.unlinkPlan");
  42. Route::get("project/{project}/dynamic", [API\ProjectController::class, "dynamic"])->name("project.dynamic");
  43. Route::get("project/{project}/latest-dynamic", [API\ProjectController::class, "latestDynamic"])->name("project.latest-dynamic");
  44. Route::get("project/{project}/kanban", [API\ProjectController::class, "kanban"])->name("project.kanban");
  45. Route::get("project/{project}/group-view", [API\ProjectController::class, "groupView"])->name("project.group-view");
  46. Route::get("project/{project}/gantt", [API\ProjectController::class, "gantt"])->name("project.gantt");
  47. Route::get("project/{project}/print-kanban", [API\ProjectController::class, "printKanban"])->name("project.print-kanban");
  48. Route::patch("project/{project}/closed", [API\ProjectController::class, "closed"])->name("project.closed");
  49. Route::patch("project/{project}/start", [API\ProjectController::class, "start"])->name("project.start");
  50. Route::patch("project/{project}/pause", [API\ProjectController::class, "pause"])->name("project.pause");
  51. Route::patch("project/{project}/postpone", [API\ProjectController::class, "postpone"])
  52. ->name("project.postpone");
  53. Route::patch("project/{project}/link-requirement", [API\ProjectController::class, "linkRequirement"])
  54. ->name("project.link-requirement");
  55. Route::patch("project/{project}/unlink-requirement", [API\ProjectController::class, "unlinkRequirement"])
  56. ->name("project.unlink-requirement");
  57. Route::patch("project/{project}/link-requirement-by-plan", [API\ProjectController::class, "linkRequirementByPlan"])
  58. ->name("project.link-requirement-by-plan");
  59. Route::patch("project/{project_id}/update-link-assets", [API\ProjectController::class, "updateLinkAssets"])
  60. ->name("project.update-link-assets");
  61. Route::get("project/{project}/plan", [API\ProjectController::class, "plan"])
  62. ->name("project.plan"); //项目关联计划
  63. Route::get("project/{project}/requirement", [API\ProjectController::class, "requirement"])
  64. ->name("project.requirement"); //项目需求
  65. Route::get("project/{project}/not-link-asset-requirement", [API\ProjectController::class, "notLinkAssetRequirement"])
  66. ->name("project.not-link-asset-requirement"); //项目未关联的资产需求
  67. Route::get("permission", [API\PermissionController::class, 'groupPermissions'])->name("permission.group-permission");
  68. Route::get("role/{role}/permission", [API\RoleController::class, "permissions"])->name("role.permissions");
  69. Route::put("role/{role}/assign-permission", [API\RoleController::class, "assignPermissions"])->name("role.assign-permissions");
  70. Route::put("user/{user}/assign-role", [API\UserController::class, "assignRole"])->name("user.assign-role");
  71. Route::get("custom-field-group", [API\CustomFieldController::class, "groups"])->name("custom-field.groups");
  72. Route::get("naming-rule-enabled", [API\NameRuleController::class, "enabled"])
  73. ->name("naming-rule.enabled");
  74. Route::post("naming-rule/{naming_rule}/combination", [API\NameRuleController::class, "combinationSetting"])
  75. ->name("naming-rule.combination-setting");
  76. Route::post("naming-rule/{name_rule}/autoname", [API\NameRuleController::class, "autoname"])
  77. ->name("name-rule.autoname");
  78. Route::get("team-member/{project}", [API\TeamMemberController::class, "members"])->name("team-member.list");
  79. Route::delete("team-member/{team_member}", [API\TeamMemberController::class, "destroy"])->name("team-member.destroy");
  80. Route::post("team-member/{project}/manage", [API\TeamMemberController::class, "manageMembers"])->name("team-member.manage-members");
  81. Route::get("library/{library}/folder", [API\FolderController::class, "library"])->name("folder.library");
  82. Route::post("folder", [API\FolderController::class, "store"])->name("folder.store");
  83. Route::get("folder/{folder}", [API\FolderController::class, "show"])->name("folder.show");
  84. Route::patch("folder/{folder}", [API\FolderController::class, "update"])->name("folder.update");
  85. Route::delete("folder/{folder}", [API\FolderController::class, "destroy"])->name("folder.destroy");
  86. Route::post("requirement/batch", [API\RequirementController::class, "batchStore"])->name("requirement.batchStore");
  87. Route::get("config", [API\ConfigController::class, "index"])->name("config.index");
  88. Route::post("config-setting", [API\ConfigController::class, "setting"])->name("config.setting");
  89. Route::get("plan-by-assets", [API\PlanController::class, "byAssets"])->name("plan.by-assets");
  90. Route::get("requirement-by-assets", [API\RequirementController::class, "byAssets"])->name("requirement.by-assets");
  91. Route::post("upload", [API\FileController::class, "upload"])->name("fileUpload");
  92. Route::post("download", [API\FileController::class, "download"])->name("fileDownload");
  93. Route::post("task-batch-create", [API\TaskController::class, "batchStore"])->name("task.batch-store");
  94. Route::get("project-tree/{project_id}", [API\ProjectController::class, "treeIndex"])->name("project.project-tree");
  95. Route::get("project-link-requirements-group/{project_id}",[API\ProjectController::class, "requirementsLinkGroup"])->name("project.link-requirements-group");
  96. });
  97. });