diff --git a/app/Http/Controllers/User/UsersController.php b/app/Http/Controllers/User/UsersController.php index 460cfe4..f7e17e7 100644 --- a/app/Http/Controllers/User/UsersController.php +++ b/app/Http/Controllers/User/UsersController.php @@ -6,29 +6,44 @@ use App\Http\Controllers\Controller; use App\Models\User; use Illuminate\Http\Request; use Faker\Generator as Faker; +use Illuminate\Support\Facades\Validator; use Illuminate\Support\Str; +use App\Http\Resources\UsersResource; class UsersController extends Controller { public function index() { + $users = User::query()->where('id', '<>', 1)->paginate(); + return UsersResource::collection($users); } - public function store(Request $request) + public function store(Request $request, Faker $faker) { - $request->validate([ - 'name' => 'required|string|unique:users|max:255', + $validator = Validator::make($request->all(), [ + 'name' => 'required|string|unique:users,name|max:255', 'password' => 'required|string|min:8|confirmed', + 'email' => 'email', ]); + if ($validator->fails()) { + $this->setValidatorFailResponse($validator->getMessageBag()->getMessages()); + + return response($this->res, $this->res['httpCode']); + } $user = new User(); $user->name = $request->name; + $user->email = \request('email', $faker->unique()->safeEmail); $user->password = $request->password; + $user->api_token = Str::random(60); + $user->save(); + + return new UsersResource($user); } public function show($id) { - return User::query()->find($id); + return new UsersResource(User::query()->find($id)); } public function update() diff --git a/app/Http/Resources/UsersResource.php b/app/Http/Resources/UsersResource.php new file mode 100644 index 0000000..0134861 --- /dev/null +++ b/app/Http/Resources/UsersResource.php @@ -0,0 +1,19 @@ +call(UsersTableSeeder::class); factory(\App\Models\User::class)->create(); + $this->call([ + MenusTableSeeder::class, + PermissionsTableSeeder::class, + RolesTableSeeder::class, + ]); } } diff --git a/database/seeds/RolesTableSeeder.php b/database/seeds/RolesTableSeeder.php index d9f9dba..8623938 100644 --- a/database/seeds/RolesTableSeeder.php +++ b/database/seeds/RolesTableSeeder.php @@ -12,7 +12,7 @@ class RolesTableSeeder extends Seeder */ public function run() { - DB::table('permissions')->insert([ + DB::table('roles')->insert([ ['name' => '超级管理员', 'guard_name' => 'api'], ]); }