From 5316f6463fa959caacbf448c2e450d9451f22aad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E4=B8=96=E7=95=8C?= <642747453@qq.com> Date: Mon, 1 Aug 2022 14:20:23 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20#20220801=20=E7=94=A8=E6=88=B7=E6=96=B0?= =?UTF-8?q?=E5=A2=9E,=E6=9F=A5=E8=AF=A2=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/User/UsersController.php | 23 +++++++++++++++---- app/Http/Resources/UsersResource.php | 19 +++++++++++++++ app/Models/User.php | 2 +- database/seeds/DatabaseSeeder.php | 5 ++++ database/seeds/RolesTableSeeder.php | 2 +- 5 files changed, 45 insertions(+), 6 deletions(-) create mode 100644 app/Http/Resources/UsersResource.php 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'], ]); }