Browse Source

基于容器文件夹改名字

kely 10 months ago
parent
commit
e6f42d90cd
2 changed files with 18 additions and 0 deletions
  1. 17 0
      app/Http/Controllers/API/FolderController.php
  2. 1 0
      routes/api.php

+ 17 - 0
app/Http/Controllers/API/FolderController.php

@@ -308,4 +308,21 @@ class FolderController extends Controller
             'data' => $tree
         ]);
     }
+
+    /**
+     * 基于容器文件夹改名字
+    */
+    public function changeName(UpdateRequest $request,string $id){
+        $newName=$request->name;
+        $folders=Folder::query()->where('parent_id',$request->parent_id)->pluck('name');
+        $folder=Folder::query()->findOrFail($id);
+        if($folders->contains($newName)&&$newName!=$folder->name){
+            return $this->badRequest("Folder '%s' must be unique", $newName);
+        }else{
+            $folder->name=$newName;
+            $folder->save();
+            return $this->noContent();
+        }
+
+    }
 }

+ 1 - 0
routes/api.php

@@ -140,6 +140,7 @@ Route::middleware(['auth:sanctum'])->group(function () {
         Route::get("folder-open", [API\FolderController::class, "open"])->name("folder.open");
         Route::get("folder/file-version-tree/{object_type}/{object_id}", [API\FolderController::class, "versionFileTreeByObject"])
             ->name("folder.file-version-tree-by-object");
+        Route::patch("folder/{folder}/change-name", [API\FolderController::class, "changeName"])->name("folder.change-name");
 
         Route::post("requirement/batch", [API\RequirementController::class, "batchStore"])->name("requirement.batchStore");