feat: Add user level and experience attributes, and implement reward, task, and quest models with corresponding controllers and migrations

This commit is contained in:
Jonas Pfalzgraf 2024-12-16 09:00:57 +01:00
parent aa50740dcb
commit fd20278948
17 changed files with 963 additions and 112 deletions

View file

@ -1,9 +1,30 @@
<?php
use Illuminate\Http\Request;
use App\Http\Controllers\AuthController;
use App\Http\Controllers\TaskController;
use App\Http\Controllers\QuestController;
use App\Http\Controllers\UserController;
use App\Http\Controllers\RewardController;
use Illuminate\Support\Facades\Route;
Route::get('/user', function (Request $request) {
return $request->user();
})->middleware('auth:sanctum');
Route::post('/auth/register', [AuthController::class, 'register']);
Route::post('/auth/login', [AuthController::class, 'login']);
Route::middleware(['auth:sanctum'])->group(function () {
Route::get('/auth/me', [AuthController::class, 'me']);
Route::get('/tasks', [TaskController::class, 'index']);
Route::post('/tasks', [TaskController::class, 'store']);
Route::get('/tasks/{id}', [TaskController::class, 'show']);
Route::put('/tasks/{id}', [TaskController::class, 'update']);
Route::delete('/tasks/{id}', [TaskController::class, 'destroy']);
Route::get('/quests', [QuestController::class, 'index']);
Route::post('/quests', [QuestController::class, 'generate']);
Route::post('/quests/{id}/complete', [QuestController::class, 'complete']);
Route::get('/user/status', [UserController::class, 'status']);
Route::get('/rewards', [RewardController::class, 'index']);
Route::get('/rewards/unlocked', [RewardController::class, 'unlocked']);
});