erp/app/Http/Controllers/User/UsersController.php

59 lines
1.4 KiB
PHP
Raw Normal View History

2022-07-27 19:06:16 +08:00
<?php
namespace App\Http\Controllers\User;
use App\Http\Controllers\Controller;
use App\Models\User;
use Illuminate\Http\Request;
use Faker\Generator as Faker;
use Illuminate\Support\Facades\Validator;
2022-07-27 19:06:16 +08:00
use Illuminate\Support\Str;
use App\Http\Resources\UsersResource;
2022-07-27 19:06:16 +08:00
class UsersController extends Controller
{
public function index()
{
$users = User::query()->where('id', '<>', 1)->paginate();
2022-07-27 19:06:16 +08:00
return UsersResource::collection($users);
2022-07-27 19:06:16 +08:00
}
public function store(Request $request, Faker $faker)
2022-07-27 19:06:16 +08:00
{
$validator = Validator::make($request->all(), [
'name' => 'required|string|unique:users,name|max:255',
2022-07-27 19:06:16 +08:00
'password' => 'required|string|min:8|confirmed',
'email' => 'email',
2022-07-27 19:06:16 +08:00
]);
if ($validator->fails()) {
$this->setValidatorFailResponse($validator->getMessageBag()->getMessages());
return response($this->res, $this->res['httpCode']);
}
2022-07-27 19:06:16 +08:00
$user = new User();
$user->name = $request->name;
$user->email = \request('email', $faker->unique()->safeEmail);
2022-07-27 19:06:16 +08:00
$user->password = $request->password;
$user->api_token = Str::random(60);
$user->save();
return new UsersResource($user);
2022-07-27 19:06:16 +08:00
}
public function show($id)
{
return new UsersResource(User::query()->find($id));
2022-07-27 19:06:16 +08:00
}
public function update()
{
}
public function destory()
{
}
}