diff --git a/backend/app/Http/Controllers/UserController.php b/backend/app/Http/Controllers/UserController.php new file mode 100644 index 0000000..fe24621 --- /dev/null +++ b/backend/app/Http/Controllers/UserController.php @@ -0,0 +1,37 @@ +<?php + +namespace App\Http\Controllers; + +use App\Models\User; +use Exception; +use Illuminate\Http\Request; +use Illuminate\Http\Response; +use Ramsey\Uuid\Uuid; +use Throwable; + +class UserController extends Controller +{ + public function create(Request $request): Response + { + $user = new User(); + $user->fill([ + 'firstname' => $request->get('firstname'), + 'lastname' => $request->get('lastname'), + 'birthday' => $request->get('birthday'), + 'telephone' => $request->get('telephone'), + 'username' => $request->get('username'), + 'playertype' => $request->get('playertype'), + 'password' => $request->get('password'), + ]); + + $user->uuid = Uuid::uuid4(); + + try { + $user->saveOrFail(); + } catch (Throwable $e) { + return response(["error" => $e->getMessage()], 500); + } + + return response($user); + } +} diff --git a/backend/app/Models/Report.php b/backend/app/Models/Report.php new file mode 100644 index 0000000..7b8e00e --- /dev/null +++ b/backend/app/Models/Report.php @@ -0,0 +1,11 @@ +<?php + +namespace App\Models; + +use Illuminate\Database\Eloquent\Factories\HasFactory; +use Illuminate\Database\Eloquent\Model; + +class Report extends Model +{ + use HasFactory; +} diff --git a/backend/app/Models/Report_User.php b/backend/app/Models/Report_User.php new file mode 100644 index 0000000..87567c4 --- /dev/null +++ b/backend/app/Models/Report_User.php @@ -0,0 +1,11 @@ +<?php + +namespace App\Models; + +use Illuminate\Database\Eloquent\Factories\HasFactory; +use Illuminate\Database\Eloquent\Model; + +class Report_User extends Model +{ + use HasFactory; +} diff --git a/backend/app/Models/Strike.php b/backend/app/Models/Strike.php new file mode 100644 index 0000000..ebb76b0 --- /dev/null +++ b/backend/app/Models/Strike.php @@ -0,0 +1,11 @@ +<?php + +namespace App\Models; + +use Illuminate\Database\Eloquent\Factories\HasFactory; +use Illuminate\Database\Eloquent\Model; + +class Strike extends Model +{ + use HasFactory; +} diff --git a/backend/app/Models/User.php b/backend/app/Models/User.php index 4d7f70f..4b95f1d 100644 --- a/backend/app/Models/User.php +++ b/backend/app/Models/User.php @@ -2,44 +2,30 @@ namespace App\Models; -// use Illuminate\Contracts\Auth\MustVerifyEmail; +use Faker\Core\Uuid; +use Illuminate\Database\Eloquent\Concerns\HasUuids; use Illuminate\Database\Eloquent\Factories\HasFactory; -use Illuminate\Foundation\Auth\User as Authenticatable; -use Illuminate\Notifications\Notifiable; -use Laravel\Sanctum\HasApiTokens; +use Illuminate\Database\Eloquent\Model; +use Illuminate\Support\Facades\Date; -class User extends Authenticatable +class User extends Model { - use HasApiTokens, HasFactory, Notifiable; + use HasFactory; + use HasUuids; /** - * The attributes that are mass assignable. - * - * @var array<int, string> + * @var mixed|\Ramsey\Uuid\UuidInterface */ + protected $table = 'user'; + protected $fillable = [ - 'name', - 'email', + 'firstname', + 'lastname', + 'birthday', + 'telephone', + 'username', + 'playertype', 'password', ]; - /** - * The attributes that should be hidden for serialization. - * - * @var array<int, string> - */ - protected $hidden = [ - 'password', - 'remember_token', - ]; - - /** - * The attributes that should be cast. - * - * @var array<string, string> - */ - protected $casts = [ - 'email_verified_at' => 'datetime', - 'password' => 'hashed', - ]; } diff --git a/backend/routes/api.php b/backend/routes/api.php index 889937e..8bda76e 100644 --- a/backend/routes/api.php +++ b/backend/routes/api.php @@ -1,6 +1,6 @@ <?php -use Illuminate\Http\Request; +use App\Http\Controllers\UserController; use Illuminate\Support\Facades\Route; /* @@ -14,6 +14,4 @@ use Illuminate\Support\Facades\Route; | */ -Route::middleware('auth:sanctum')->get('/user', function (Request $request) { - return $request->user(); -}); +Route::post('/user', [UserController::class, 'create']); diff --git a/backend/routes/web.php b/backend/routes/web.php index b72ed97..df45f5b 100644 --- a/backend/routes/web.php +++ b/backend/routes/web.php @@ -1,5 +1,7 @@ <?php +use App\Models\User; +use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Route; /* @@ -16,3 +18,7 @@ use Illuminate\Support\Facades\Route; Route::get('/', function () { return response("not allowed", 404); }); + +Route::get("/test", function () { + return User::all(); +});