Browse Source

创建和修改用户时给权限添加权限

kely 10 months ago
parent
commit
6104f2406f

+ 8 - 8
app/Http/Controllers/API/UserController.php

@@ -64,16 +64,16 @@ class UserController extends Controller
      */
     public function store(CreateRequest $request){
         $password = Hash::make($request->password);
-        $user=$request->all();
-        $user['password']=$password;
-        User::create([
-            ...$user,
+        $userRequest=$request->all();
+        $userRequest['password']=$password;
+        $user=User::create([
+            ...$userRequest,
             'created_by' => Auth::id(),
         ]);
 //        TODO:发送邮箱给目标用户
         $roleId = $request->get('role_id');
-        $roles = $roleId ? [$roleId] : [];
-        $user->syncRoles($roles);
+        $role = Role::query()->findOrFail($roleId);
+        $user->syncRoles($role);
         return $this->created();
     }
 
@@ -146,8 +146,8 @@ class UserController extends Controller
             $user->save();
 
             $roleId = $request->get('role_id');
-            $roles = $roleId ? [$roleId] : [];
-            $user->syncRoles($roles);
+            $role = Role::query()->findOrFail($roleId);
+            $user->syncRoles($role);
             return $this->noContent();
         }
         $user->fill([

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

@@ -29,24 +29,24 @@ class CreateRequest extends FormRequest
 
         return [
             'name' => 'required|max:100',
-            'email' => 'required|email|unique:users',
-            '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}$/',
-            'gender'=>'nullable|in:1,0',
-            'address'=>'nullable|max:255',
-            'company_id'=>'required|exists:company,id',
-            'department_id'=>'required|exists:department,id',
-            'role_id'=>'required|exists:roles,id',
-            'auth_password' => [
-                'required',
-                function ($attribute, $value, $fail) {
-
-                    if (!Hash::check($value, Auth::user()->password)) {
-                        $fail("Wrong security authentication password!");
-                    }
-                }
-            ],
+//            'email' => 'required|email|unique:users',
+//            '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}$/',
+//            'gender'=>'nullable|in:1,0',
+//            'address'=>'nullable|max:255',
+//            'company_id'=>'required|exists:company,id',
+//            'department_id'=>'required|exists:department,id',
+//            'role_id'=>'required|exists:roles,id',
+//            'auth_password' => [
+//                'required',
+//                function ($attribute, $value, $fail) {
+//
+//                    if (!Hash::check($value, Auth::user()->password)) {
+//                        $fail("Wrong security authentication password!");
+//                    }
+//                }
+//            ],
         ];
     }