소스 검색

用户信息字段的调整,把用户的操作都暂时放到普通权限中

kely 11 달 전
부모
커밋
b7025666ab

+ 39 - 36
app/Http/Controllers/API/UserController.php

@@ -109,17 +109,20 @@ class UserController extends Controller
 
     public function destroy(string $id)
     {
-
+        $user = User::query()->findOrFail($id);
+        $user->delete();
+        return $this->noContent();
     }
 
     public function show(string $id)
     {
-
+        $user = User::query()->findOrFail($id);
+        return new UserInfoResource($user);
     }
 
     public function update(UpdateRequest $request,string $id)
     {
-        $user = User::findOrFail(Auth::user()->id);
+        $user = User::findOrFail($id);
         if(Auth::user()->super_admin){
             $user->fill([
             ...$request->all()
@@ -128,42 +131,42 @@ class UserController extends Controller
             return $this->noContent();
         }
         $user->fill([
-            ...$request->except(['username','role_id','department_id','company_id'])
-        ]);
-        $user->save();
-        return $this->noContent();
-
-    }
-    /**
-     * @param CreateRequest $request
-     * @return \Illuminate\Http\Response
-     * 修改个人信息
-     */
-    public function updateInfo(UpdateRequest $request)
-    {
-        $user = User::findOrFail(Auth::user()->id);
-        $user->fill([
-            ...$request->except(['username','role_id','department_id','company_id'])
+            ...$request->except(['role_id','department_id','company_id'])
         ]);
         $user->save();
         return $this->noContent();
-    }
 
-    /**
-     * @param AdminUpdateRequest $request 修改主体
-     * @param string $id 用户id
-     * @return \Illuminate\Http\Response
-     * 超管修改用户的信息
-     */
-    public function updateUserInfo(AdminUpdateRequest $request, string $id)
-    {
-        $user = User::findOrFail($id);
-        $user->fill([
-            ...$request->all()
-        ]);
-        $user->save();
-        return $this->noContent();
-
-    }
+//    }
+//    /**
+//     * @param CreateRequest $request
+//     * @return \Illuminate\Http\Response
+//     * 修改个人信息
+//     */
+//    public function updateInfo(UpdateRequest $request)
+//    {
+//        $user = User::findOrFail(Auth::user()->id);
+//        $user->fill([
+//            ...$request->except(['username','role_id','department_id','company_id'])
+//        ]);
+//        $user->save();
+//        return $this->noContent();
+//    }
+//
+//    /**
+//     * @param AdminUpdateRequest $request 修改主体
+//     * @param string $id 用户id
+//     * @return \Illuminate\Http\Response
+//     * 超管修改用户的信息
+//     */
+//    public function updateUserInfo(AdminUpdateRequest $request, string $id)
+//    {
+//        $user = User::findOrFail($id);
+//        $user->fill([
+//            ...$request->all()
+//        ]);
+//        $user->save();
+//        return $this->noContent();
+//
+//    }
 
 }

+ 1 - 1
app/Http/Requests/API/User/BatchCreateRequest.php

@@ -46,7 +46,7 @@ class BatchCreateRequest extends FormRequest
 
         return [
             '*.name' => 'required|max:100',
-            '*.email'=> 'required|email|unique:users',
+            '*.email'=>  'nullable|email',
             '*.username'=>'required|max:30|unique:users',
 //            '*.pwd_is_ditto'=>'required|in:1,0',取消密码同上
             '*.password' => 'required|min:6|regex:/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{6,}$/',//至少6位,包含大小写字母和数字,At least 6 digits, including upper and lower case letters and numbers

+ 1 - 1
app/Http/Requests/API/User/CreateRequest.php

@@ -27,7 +27,7 @@ class CreateRequest extends FormRequest
 
         return [
             'name' => 'required|max:100',
-            'email'=> 'required|email|unique:users',
+            'email' => 'nullable|email',
             'username'=>'required|max:30|unique:users',
             'password' => 'required|min:6|regex:/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{6,}$/', // 至少6位,包含大小写字母和数字,At least 6 digits, including upper and lower case letters and numbers
             'phone'=>'nullable|regex:/^\d{8,11}$/',

+ 2 - 3
app/Http/Requests/API/User/UpdateRequest.php

@@ -29,8 +29,7 @@ class UpdateRequest extends FormRequest
 
         return [
             'name' => 'max:100',
-            'email'=> 'email|unique:users',
-            'username'=>'max:30|unique:users',
+            'email'=> ['nullable','email'],
             'password' => 'min:6|regex:/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{6,}$/', // 至少6位,包含大小写字母和数字,At least 6 digits, including upper and lower case letters and numbers
             'auth_password' => [
                 'required',
@@ -46,7 +45,7 @@ class UpdateRequest extends FormRequest
             'address'=>'max:255',
             'company_id'=>'exists:company,id',
             'department_id'=>'exists:department,id',
-            'role_id'=>'exists:roles,id',
+            'role_id'=>'required|exists:roles,id',
 
         ];
     }

+ 1 - 0
app/Http/Resources/API/UserInfoResource.php

@@ -27,6 +27,7 @@ class UserInfoResource extends JsonResource
             'company' => new SimpleCompanyResource($this->company),
             'department' =>new SimpleDepartmentResource($this->department),
             'role' => new RoleResource($this->role),
+            'status' =>$this->status,
         ];
     }
 }

+ 4 - 5
routes/api.php

@@ -33,7 +33,8 @@ Route::middleware(['auth:sanctum'])->group(function () {
         Route::apiResource("company", API\CompanyController::class)->only([
             'store', 'update', 'destroy'
         ]);
-        Route::patch("user/userInfo/{user_id}",[API\UserController::class, 'updateUserInfo'])->name('user.updateUserInfo');
+//        Route::patch("user/userInfo/{user_id}",[API\UserController::class, 'updateUserInfo'])->name('user.updateUserInfo');
+
     });
 
     Route::middleware(['permission'])->group(function() {
@@ -50,13 +51,11 @@ Route::middleware(['auth:sanctum'])->group(function () {
             'task' => API\TaskController::class,
             'library' => API\LibraryController::class,
             'department' => API\DepartmentController::class,
+            'user' => API\UserController::class,
         ]);
         Route::apiResource("company", API\CompanyController::class)->only([
             'index', 'show'
         ]);
-        Route::apiResource("user", API\UserController::class)->only([
-            'index', 'store'
-        ]);
 
         Route::get("asset/{asset_id}/report",[API\AssetController::class, 'report'])->name('asset.report');
 
@@ -109,7 +108,7 @@ Route::middleware(['auth:sanctum'])->group(function () {
         Route::put("user/{user}/assign-role", [API\UserController::class, "assignRole"])->name("user.assign-role");
         Route::post("user/user-batch-create", [API\UserController::class, "batchStore"])->name("user.assign-role");
         Route::put("user/status/{status}", [API\UserController::class, "status"])->name("user.status");
-        Route::patch("user/update-info", [API\UserController::class, "updateInfo"])->name("user.updateInfo");
+        //Route::patch("user/update-info", [API\UserController::class, "updateInfo"])->name("user.updateInfo");
 
         Route::get("custom-field-group", [API\CustomFieldController::class, "groups"])->name("custom-field.groups");
         Route::get("custom-field-group/naming-rule", [API\CustomFieldController::class, "nameRuleGroups"])->name("custom-field.nameRuleGroups");