Init commit

This commit is contained in:
2025-08-27 09:17:56 +02:00
commit aee2d81e26
109 changed files with 18826 additions and 0 deletions
+59
View File
@@ -0,0 +1,59 @@
<?php
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\ServiceRequestController;
use App\Http\Controllers\BlockedDateController;
use App\Http\Controllers\SettingController;
use App\Http\Controllers\AuthController;
use App\Http\Controllers\PricelistController;
/*
|--------------------------------------------------------------------------
| API Routes
|--------------------------------------------------------------------------
|
| Here is where you can register API routes for your application. These
| routes are loaded by the RouteServiceProvider and all of them will
| be assigned to the "api" middleware group. Make something great!
|
*/
// Public routes
Route::post('/login', [AuthController::class, 'login']);
// Public pricelist (customers can view prices)
Route::get('/pricelist', [PricelistController::class, 'index']);
// Public blocked dates check (customers can see unavailable dates)
Route::get('/public/blocked-dates', [BlockedDateController::class, 'publicIndex']);
// Public service request creation (customers can submit requests)
Route::post('/public/service-requests', [ServiceRequestController::class, 'store']);
// Protected routes (require authentication)
Route::middleware('auth:sanctum')->group(function () {
Route::get('/user', function (Request $request) {
return $request->user();
});
Route::post('/logout', [AuthController::class, 'logout']);
Route::get('/auth/user', [AuthController::class, 'user']);
// Admin-only routes
Route::apiResource('service-requests', ServiceRequestController::class);
Route::post('service-requests/{serviceRequest}/send-email', [ServiceRequestController::class, 'sendEmail']);
Route::post('service-requests/{serviceRequest}/send-sms', [ServiceRequestController::class, 'sendSms']);
Route::get('service-requests/{serviceRequest}/communications', [ServiceRequestController::class, 'communications']);
Route::apiResource('blocked-dates', BlockedDateController::class);
Route::post('blocked-dates/check-date', [BlockedDateController::class, 'checkDate']);
Route::apiResource('settings', SettingController::class);
Route::get('settings/key/{key}', [SettingController::class, 'getByKey']);
Route::put('settings/key/{key}', [SettingController::class, 'updateByKey']);
// Admin pricelist management
Route::get('/admin/pricelist', [PricelistController::class, 'adminIndex']);
Route::apiResource('pricelist', PricelistController::class)->except(['index']);
});
+37
View File
@@ -0,0 +1,37 @@
<?php
use App\Http\Controllers\Auth\AuthenticatedSessionController;
use App\Http\Controllers\Auth\EmailVerificationNotificationController;
use App\Http\Controllers\Auth\NewPasswordController;
use App\Http\Controllers\Auth\PasswordResetLinkController;
use App\Http\Controllers\Auth\RegisteredUserController;
use App\Http\Controllers\Auth\VerifyEmailController;
use Illuminate\Support\Facades\Route;
Route::post('/register', [RegisteredUserController::class, 'store'])
->middleware('guest')
->name('register');
Route::post('/login', [AuthenticatedSessionController::class, 'store'])
->middleware('guest')
->name('login');
Route::post('/forgot-password', [PasswordResetLinkController::class, 'store'])
->middleware('guest')
->name('password.email');
Route::post('/reset-password', [NewPasswordController::class, 'store'])
->middleware('guest')
->name('password.store');
Route::get('/verify-email/{id}/{hash}', VerifyEmailController::class)
->middleware(['auth', 'signed', 'throttle:6,1'])
->name('verification.verify');
Route::post('/email/verification-notification', [EmailVerificationNotificationController::class, 'store'])
->middleware(['auth', 'throttle:6,1'])
->name('verification.send');
Route::post('/logout', [AuthenticatedSessionController::class, 'destroy'])
->middleware('auth')
->name('logout');
+8
View File
@@ -0,0 +1,8 @@
<?php
use Illuminate\Foundation\Inspiring;
use Illuminate\Support\Facades\Artisan;
Artisan::command('inspire', function () {
$this->comment(Inspiring::quote());
})->purpose('Display an inspiring quote');
+7
View File
@@ -0,0 +1,7 @@
<?php
use Illuminate\Support\Facades\Route;
Route::get('/', function () {
return ['Laravel' => app()->version()];
});