group(function () { Route::post("/logout", [API\AuthController::class, "logout"]); Route::get("user/info", [API\UserController::class, 'info'])->name("user.info"); Route::get("user/index",[API\UserController::class, 'index'])->name("user.index"); Route::middleware(['permission'])->group(function() { Route::apiResources([ 'asset-group' => API\AssetGroupController::class, 'asset' => API\AssetController::class, 'requirement-group' => API\RequirementGroupController::class, 'requirement' => API\RequirementController::class, 'project' => API\ProjectController::class, 'plan' => API\PlanController::class, 'role' => API\RoleController::class, 'custom-field' => API\CustomFieldController::class, 'naming-rule' => API\NameRuleController::class, 'task' => API\TaskController::class, 'library' => API\LibraryController::class, 'department' => API\DepartmentController::class, ]); Route::get("asset/{asset_id}/report",[API\AssetController::class, 'report'])->name('asset.report'); Route::patch("requirement/{requirement_id}/close",[API\RequirementController::class, 'close'])->name('requirement.close'); Route::get("requirement/{asset_id}/asset", [API\RequirementController::class, "byAsset"])->name("requirement.byAsset"); Route::patch("requirement/{plan_id}/plan", [API\RequirementController::class, "linkPlan"])->name("requirement.linkPlan"); Route::patch("requirement/plan/unlink", [API\RequirementController::class, "unlinkPlan"])->name("requirement.unlinkPlan"); Route::patch("project/{project}/closed", [API\ProjectController::class, "closed"])->name("project.closed"); Route::patch("project/{project}/start", [API\ProjectController::class, "start"])->name("project.start"); Route::patch("project/{project}/pause", [API\ProjectController::class, "pause"])->name("project.pause"); Route::patch("project/{project}/postpone", [API\ProjectController::class, "postpone"]) ->name("project.postpone"); Route::patch("project/{project}/link-requirement", [API\ProjectController::class, "linkRequirement"]) ->name("project.link-requirement"); Route::patch("project/{project}/unlink-requirement", [API\ProjectController::class, "unlinkRequirement"]) ->name("project.unlink-requirement"); Route::patch("project/{project}/link-requirement-by-plan", [API\ProjectController::class, "linkRequirementByPlan"]) ->name("project.link-requirement-by-plan"); Route::get("project/{project}/plan", [API\ProjectController::class, "plan"]) ->name("project.plan"); //项目关联计划 Route::get("project/{project}/requirement", [API\ProjectController::class, "requirement"]) ->name("project.requirement"); //项目需求 Route::get("project/{project}/not-link-asset-requirement", [API\ProjectController::class, "notLinkAssetRequirement"]) ->name("project.not-link-asset-requirement"); //项目未关联的资产需求 Route::get("permission", [API\PermissionController::class, 'groupPermissions'])->name("permission.group-permission"); Route::get("role/{role}/permission", [API\RoleController::class, "permissions"])->name("role.permissions"); Route::put("role/{role}/assign-permission", [API\RoleController::class, "assignPermissions"])->name("role.assign-permissions"); Route::put("user/{user}/assign-role", [API\UserController::class, "assignRole"])->name("user.assign-role"); Route::get("custom-field-group", [API\CustomFieldController::class, "groups"])->name("custom-field.groups"); Route::get("naming-rule-enabled", [API\NameRuleController::class, "enabled"]) ->name("naming-rule.enabled"); Route::post("naming-rule/{naming_rule}/combination", [API\NameRuleController::class, "combinationSetting"]) ->name("naming-rule.combination-setting"); Route::post("naming-rule/{name_rule}/autoname", [API\NameRuleController::class, "autoname"]) ->name("name-rule.autoname"); Route::get("team-member/{project}", [API\TeamMemberController::class, "members"])->name("team-member.list"); Route::delete("team-member/{team_member}", [API\TeamMemberController::class, "destroy"])->name("team-member.destroy"); Route::post("team-member/{project}/manage", [API\TeamMemberController::class, "manageMembers"])->name("team-member.manage-members"); Route::get("library/{library}/folder", [API\FolderController::class, "library"])->name("folder.library"); Route::post("folder", [API\FolderController::class, "store"])->name("folder.store"); Route::get("folder/{folder}", [API\FolderController::class, "show"])->name("folder.show"); Route::patch("folder/{folder}", [API\FolderController::class, "update"])->name("folder.update"); Route::delete("folder/{folder}", [API\FolderController::class, "destroy"])->name("folder.destroy"); Route::post("requirement/batch", [API\RequirementController::class, "batchStore"])->name("requirement.batchStore"); Route::get("config", [API\ConfigController::class, "index"])->name("config.index"); Route::post("config-setting", [API\ConfigController::class, "setting"])->name("config.setting"); Route::get("plan-by-assets", [API\PlanController::class, "byAssets"])->name("plan.by-assets"); Route::post("upload", [API\FileController::class, "upload"])->name("fileUpload"); Route::post("download", [API\FileController::class, "download"])->name("fileDownload"); Route::post("task-batch-create", [API\TaskController::class, "batchStore"])->name("task.batch-store"); }); });