megacommit
This commit is contained in:
parent
2451ab45cb
commit
34ed81516b
51 changed files with 1200 additions and 251 deletions
|
@ -14,6 +14,7 @@ use Illuminate\Support\Facades\Route;
|
|||
|
|
||||
*/
|
||||
|
||||
|
||||
Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
|
||||
return $request->user();
|
||||
});
|
||||
|
@ -42,3 +43,72 @@ Route::get('/showings/{id}/seatMatrix', function ($id) {
|
|||
$showing = (new App\Models\Showing)->find($id);
|
||||
return $showing->seatMatrix();
|
||||
});
|
||||
|
||||
// /api/showing/{id}/prices
|
||||
Route::get('/showing/{id}/prices', function ($id) {
|
||||
$showing = (new App\Models\Showing)->find($id);
|
||||
return $showing->prices;
|
||||
});
|
||||
|
||||
|
||||
// /api/user/{id}/permissions
|
||||
Route::get('/user/{id}/permissions', function ($id) {
|
||||
$user = (new App\Models\User)->find($id);
|
||||
return $user->permissions;
|
||||
})->name('api.user.permissions');
|
||||
|
||||
Route::post('/user/{id}/permission', function ($id, Request $request) {
|
||||
$user = (new App\Models\User)->find($id);
|
||||
|
||||
// check if request is valid
|
||||
if (!isset($request->permission_name)) {
|
||||
return response()->json(['error' => 'permission name not set'], 400);
|
||||
}
|
||||
|
||||
// check if permission exists
|
||||
// if it does not exist, create it
|
||||
$permission = (new App\Models\Permission)->where('permission_name', $request->permission_name);
|
||||
if ($permission->count() == 0) {
|
||||
$permission = (new App\Models\Permission)->create(['permission_name' => $request->permission_name]);
|
||||
} else {
|
||||
$permission = $permission->first();
|
||||
}
|
||||
|
||||
// check if user has permission
|
||||
// if not, add it
|
||||
|
||||
$user->permissions()->attach($permission->permission_id);
|
||||
$user->save();
|
||||
return $user->permissions;
|
||||
|
||||
})->name('api.user.permission');
|
||||
|
||||
Route::delete('/user/{id}/permission', function ($id, Request $request) {
|
||||
$user = (new App\Models\User)->find($id);
|
||||
$perm = (new App\Models\Permission())->find(request('permission_id'));
|
||||
$user->permissions->detach($perm);
|
||||
$user->save();
|
||||
return $user->permissions;
|
||||
})->name('api.user.permission');
|
||||
|
||||
// /api/user/{id}/assignments
|
||||
Route::get('/user/{id}/assignments', function ($id) {
|
||||
$user = (new App\Models\User)->find($id);
|
||||
return $user->cinemas;
|
||||
})->name('api.user.assignments');
|
||||
|
||||
Route::post('/user/{id}/assignment', function ($id) {
|
||||
$user = (new App\Models\User)->find($id);
|
||||
$cinema = (new App\Models\Cinema())->find(request('cinema_id'));
|
||||
$user->cinemas->attach($cinema);
|
||||
$user->save();
|
||||
return $user->cinemas;
|
||||
})->name('api.user.assignment');
|
||||
|
||||
Route::delete('/user/{id}/assignment', function ($id) {
|
||||
$user = (new App\Models\User)->find($id);
|
||||
$cinema = (new App\Models\Cinema())->find(request('cinema_id'));
|
||||
$user->cinemas->detach($cinema);
|
||||
$user->save();
|
||||
return $user->cinemas;
|
||||
})->name('api.user.assignment');
|
||||
|
|
|
@ -46,8 +46,9 @@ Route::get('/cinema/{id}', [App\Http\Controllers\Main\CinemaController::class, '
|
|||
|
||||
Route::get('/showings', [App\Http\Controllers\Main\ShowingController::class, 'showAllShowings'])->name('showings');
|
||||
Route::get('/showing/{id}', [App\Http\Controllers\Main\ShowingController::class, 'show'])->name('showing');
|
||||
Route::get('/showing/{id}/order', [App\Http\Controllers\Main\ShowingController::class, 'order'])->name('showing.order');
|
||||
|
||||
Route::get('/movies', [App\Http\Controllers\Main\MovieController::class, 'showAllMovies'])->name('movies');
|
||||
Route::get('/movies', [App\Http\Controllers\Main\MovieController::class, 'moviesNowShowing'])->name('movies');
|
||||
Route::get('/movie/{id}', [App\Http\Controllers\Main\MovieController::class, 'show'])->name('movie');
|
||||
|
||||
Route::get('/genres', [App\Http\Controllers\Main\GenreController::class, 'showAllGenres'])->name('genres');
|
||||
|
@ -55,9 +56,9 @@ Route::get('/genre/{id}', [App\Http\Controllers\Main\GenreController::class, 'sh
|
|||
|
||||
// Employee Home Page
|
||||
Route::get('/manage', function () {
|
||||
if (!auth()->user()->atleast('employee')) {
|
||||
return redirect()->route('home');
|
||||
}
|
||||
if (!auth()->user()->atleast('employee')) {
|
||||
return redirect()->route('home');
|
||||
}
|
||||
return view('manage.index', [
|
||||
'title' => "Manage",
|
||||
'user' => auth()->user(),
|
||||
|
@ -65,16 +66,15 @@ Route::get('/manage', function () {
|
|||
'showings' => \App\Models\Showing::all(),
|
||||
'movies' => \App\Models\Movie::all(),
|
||||
'genres' => \App\Models\Genre::all(),
|
||||
]);
|
||||
]);
|
||||
})->name('manage');
|
||||
|
||||
|
||||
|
||||
Route::controller(\App\Http\Controllers\Managing\MovieController::class)->group(function () {
|
||||
|
||||
|
||||
// /manage/movies - CR movies (FB)
|
||||
Route::get('/manage/movies', [\App\Http\Controllers\Managing\MovieController::class, 'showAllMovies'])->name('manage.movies');
|
||||
Route::get('/manage/movies', [\App\Http\Controllers\Managing\MovieController::class, 'index'])->name('manage.movies');
|
||||
Route::post('/manage/movies', [\App\Http\Controllers\Managing\MovieController::class, 'store'])->name('manage.movies');
|
||||
|
||||
// /manage/movies/create - C movie (F)
|
||||
|
@ -89,7 +89,7 @@ Route::controller(\App\Http\Controllers\Managing\MovieController::class)->group(
|
|||
|
||||
Route::controller(\App\Http\Controllers\Managing\GenreController::class)->group(function () {
|
||||
// /manage/genres - CR genres (FB)
|
||||
Route::get('/manage/genres', [\App\Http\Controllers\Managing\GenreController::class, 'showAllGenres'])->name('manage.genres');
|
||||
Route::get('/manage/genres', [\App\Http\Controllers\Managing\GenreController::class, 'index'])->name('manage.genres');
|
||||
Route::post('/manage/genres', [\App\Http\Controllers\Managing\GenreController::class, 'store'])->name('manage.genres');
|
||||
|
||||
// /manage/genres/create - C genre (F)
|
||||
|
@ -104,7 +104,7 @@ Route::controller(\App\Http\Controllers\Managing\GenreController::class)->group(
|
|||
|
||||
Route::controller(\App\Http\Controllers\Managing\CinemaController::class)->group(function () {
|
||||
// /manage/cinemas - CR cinemas (FB)
|
||||
Route::get('/manage/cinemas', [\App\Http\Controllers\Managing\CinemaController::class, 'showAllCinemas'])->name('manage.cinemas');
|
||||
Route::get('/manage/cinemas', [\App\Http\Controllers\Managing\CinemaController::class, 'index'])->name('manage.cinemas');
|
||||
Route::post('/manage/cinemas', [\App\Http\Controllers\Managing\CinemaController::class, 'store'])->name('manage.cinemas');
|
||||
|
||||
// /manage/cinemas/create - C cinema (F)
|
||||
|
@ -119,7 +119,7 @@ Route::controller(\App\Http\Controllers\Managing\CinemaController::class)->group
|
|||
|
||||
Route::controller(\App\Http\Controllers\Managing\ShowingsController::class)->group(function () {
|
||||
// /manage/showings - CR showings (FB)
|
||||
Route::get('/manage/showings', [\App\Http\Controllers\Managing\ShowingsController::class, 'showAllShowings'])->name('manage.showings');
|
||||
Route::get('/manage/showings', [\App\Http\Controllers\Managing\ShowingsController::class, 'index'])->name('manage.showings');
|
||||
Route::post('/manage/showings', [\App\Http\Controllers\Managing\ShowingsController::class, 'store'])->name('manage.showings');
|
||||
|
||||
// /manage/showings/create - C showing (F)
|
||||
|
@ -132,13 +132,18 @@ Route::controller(\App\Http\Controllers\Managing\ShowingsController::class)->gro
|
|||
Route::delete('/manage/showing/{id}', [\App\Http\Controllers\Managing\ShowingsController::class, 'destroy'])->name('manage.showing');
|
||||
});
|
||||
|
||||
// /test/comp/{component}
|
||||
Route::get('/test/comp/{component}', function ($component) {
|
||||
switch ($component) {
|
||||
case 'seat-chooser':
|
||||
$c = new \App\View\Components\SeatChooser(1, 1);
|
||||
return $c->render();
|
||||
default:
|
||||
return "No component found";
|
||||
}
|
||||
})->name('test.comp');
|
||||
Route::controller(\App\Http\Controllers\Managing\UsersController::class)->group(function () {
|
||||
// /manage/users - CR users (FB)
|
||||
Route::get('/manage/users', [\App\Http\Controllers\Managing\UsersController::class, 'index'])->name('manage.users');
|
||||
Route::post('/manage/users', [\App\Http\Controllers\Managing\UsersController::class, 'store'])->name('manage.users');
|
||||
|
||||
// /manage/users/create - C user (F)
|
||||
Route::get('/manage/users/create', [\App\Http\Controllers\Managing\UsersController::class, 'createUser'])->name('manage.users.create');
|
||||
// no post, handled by POST /users
|
||||
|
||||
// /manage/users/{id} - RUD user (FB)
|
||||
Route::get('/manage/user/{id}', [\App\Http\Controllers\Managing\UsersController::class, 'show'])->name('manage.user');
|
||||
Route::put('/manage/user/{id}', [\App\Http\Controllers\Managing\UsersController::class, 'update'])->name('manage.user');
|
||||
Route::delete('/manage/user/{id}', [\App\Http\Controllers\Managing\UsersController::class, 'destroy'])->name('manage.user');
|
||||
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue