44 lines
1.2 KiB
PHP
44 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Api;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Models\User;
|
|
use Illuminate\Support\Str;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Validator;
|
|
|
|
class UserController extends Controller
|
|
{
|
|
public function registerUser(Request $request)
|
|
{
|
|
$validator = Validator::make($request->all(), [
|
|
'firstname' => ['required', 'string'],
|
|
'lastname' => ['required', 'string'],
|
|
'email' => ['required', 'string'],
|
|
'uuid' => ['required', 'string'],
|
|
'profile' => ['required', 'string'],
|
|
]);
|
|
if ($validator->fails()) {
|
|
|
|
return response()
|
|
->json($validator->errors());
|
|
}
|
|
|
|
$validated = $validator->validated();
|
|
$validated['is_admin'] = false;
|
|
$validated['password'] = Str::random(8);
|
|
$validated['status'] = true;
|
|
try {
|
|
$user = User::create($validated);
|
|
}catch (\Illuminate\Database\QueryException $exception){
|
|
return response()
|
|
->json($exception);
|
|
}
|
|
|
|
|
|
return response()
|
|
->json(['message' => 'Successfully created user ' . $user->firstname]);
|
|
}
|
|
}
|