all(), [ 'name' => 'required|string|max:255', 'email' => 'required|email|unique:users,email', 'password' => 'required|string|min:6', ]); if ($validator->fails()) { return response()->json([ 'message' => 'Ошибка валидации', 'errors' => $validator->errors() ], 422); } $user = \App\Models\User::create([ 'name' => $request->name, 'email' => $request->email, 'password' => bcrypt($request->password), 'phone' => $request->phone ?? null, 'role' => 'client', // по умолчанию клиент ]); // Создаём токен для Sanctum $token = $user->createToken('main-token')->plainTextToken; return response()->json([ 'message' => 'Пользователь создан', 'user' => $user, 'token' => $token ], 201); } // Вход public function login(Request $request) { $credentials = $request->only('email', 'password'); if (!Auth::attempt($credentials)) { return response()->json([ 'message' => 'Неверный email или пароль' ], 401); } $user = Auth::user(); $token = $user->createToken('main-token')->plainTextToken; return response()->json([ 'message' => 'Успешный вход', 'user' => $user, 'token' => $token ]); } }