85 lines
7.1 KiB
PHP
85 lines
7.1 KiB
PHP
<?php
|
|
|
|
use App\Http\Controllers\AuthController;
|
|
use App\Http\Controllers\BambuddyController;
|
|
use App\Http\Controllers\DashboardController;
|
|
use App\Http\Controllers\DryerController;
|
|
use App\Http\Controllers\EtsyController;
|
|
use App\Http\Controllers\EtsySettingsController;
|
|
use App\Http\Controllers\IntegrationSettingsController;
|
|
use App\Http\Controllers\NotificationController;
|
|
use App\Http\Controllers\Parcel2GoConnectionController;
|
|
use App\Http\Controllers\PrinterController;
|
|
use App\Http\Controllers\ProjectController;
|
|
use App\Http\Controllers\ProjectCostSnapshotController;
|
|
use App\Http\Controllers\ProjectCurrentRevisionController;
|
|
use App\Http\Controllers\ProjectFileController;
|
|
use App\Http\Controllers\ProjectFileRenderController;
|
|
use App\Http\Controllers\ProjectListingLinkController;
|
|
use App\Http\Controllers\ProjectReleaseController;
|
|
use App\Http\Controllers\ProjectRevisionController;
|
|
use App\Http\Controllers\ScheduleSettingsController;
|
|
use App\Http\Controllers\ShippingController;
|
|
use App\Http\Controllers\UserController;
|
|
use App\Http\Middleware\EnsureAccountActive;
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
Route::middleware('guest')->group(function (): void {
|
|
Route::get('/login', [AuthController::class, 'create'])->name('login');
|
|
Route::post('/login', [AuthController::class, 'store'])->middleware('throttle:5,1')->name('login.store');
|
|
});
|
|
|
|
Route::middleware(['auth', EnsureAccountActive::class])->group(function (): void {
|
|
Route::post('/logout', [AuthController::class, 'destroy'])->name('logout');
|
|
Route::get('/', DashboardController::class)->name('dashboard');
|
|
Route::get('/notifications', [NotificationController::class, 'index'])->name('notifications.index');
|
|
Route::post('/notifications/read', [NotificationController::class, 'readAll'])->name('notifications.read-all');
|
|
Route::post('/notifications/{notification}/read', [NotificationController::class, 'read'])->name('notifications.read');
|
|
Route::get('/printers', BambuddyController::class)->name('printers.index');
|
|
Route::delete('/printers/{printer}', [PrinterController::class, 'destroy'])->name('printers.destroy');
|
|
Route::get('/shipping', [ShippingController::class, 'index'])->name('shipping');
|
|
Route::post('/shipping/quotes', [ShippingController::class, 'quote'])->name('shipping.quote');
|
|
Route::post('/shipping/collections/dates', [ShippingController::class, 'collectionDates'])->name('shipping.collection-dates');
|
|
Route::post('/shipping/collections/book', [ShippingController::class, 'bookCollection'])->name('shipping.book-collection');
|
|
Route::post('/shipping/collections/reset', [ShippingController::class, 'resetBooking'])->name('shipping.reset-booking');
|
|
Route::get('/shipping/labels/{orderLineId}', [ShippingController::class, 'label'])->name('shipping.label');
|
|
Route::post('/shipping/parcel2go/connect', [Parcel2GoConnectionController::class, 'connect'])->name('parcel2go.connect');
|
|
Route::get('/shipping/parcel2go/callback', [Parcel2GoConnectionController::class, 'callback'])->name('parcel2go.callback');
|
|
Route::get('/etsy', [EtsyController::class, 'index'])->name('etsy.index');
|
|
Route::post('/etsy/connect', [EtsyController::class, 'connect'])->name('etsy.connect');
|
|
Route::get('/etsy/callback', [EtsyController::class, 'callback'])->name('etsy.callback');
|
|
Route::get('/settings', [EtsySettingsController::class, 'index'])->name('settings.index');
|
|
Route::put('/settings/etsy', [EtsySettingsController::class, 'update'])->name('settings.etsy.update');
|
|
Route::put('/settings/integrations/{provider}', [IntegrationSettingsController::class, 'update'])->name('settings.integrations.update');
|
|
Route::put('/settings/schedules', [ScheduleSettingsController::class, 'update'])->name('settings.schedules.update');
|
|
Route::post('/settings/schedules/{job}/run', [ScheduleSettingsController::class, 'run'])->name('settings.schedules.run');
|
|
Route::get('/dryer', [DryerController::class, 'index'])->name('dryer');
|
|
Route::get('/dryer/status', [DryerController::class, 'status'])->name('dryer.status');
|
|
Route::post('/dryer/control', [DryerController::class, 'control'])->name('dryer.control');
|
|
Route::post('/dryer/faults/acknowledge', [DryerController::class, 'acknowledge'])->name('dryer.acknowledge');
|
|
Route::get('/projects', [ProjectController::class, 'index'])->name('projects.index');
|
|
Route::get('/projects/create', [ProjectController::class, 'create'])->name('projects.create');
|
|
Route::post('/projects', [ProjectController::class, 'store'])->name('projects.store');
|
|
Route::get('/projects/{project}', [ProjectController::class, 'show'])->name('projects.show');
|
|
Route::get('/projects/{project}/edit', [ProjectController::class, 'edit'])->name('projects.edit');
|
|
Route::patch('/projects/{project}', [ProjectController::class, 'update'])->name('projects.update');
|
|
Route::post('/projects/{project}/archive', [ProjectController::class, 'archive'])->name('projects.archive');
|
|
Route::post('/projects/{project}/revisions', [ProjectRevisionController::class, 'store'])->name('projects.revisions.store');
|
|
Route::post('/projects/{project}/revisions/{revision}/approve', [ProjectRevisionController::class, 'approve'])->name('projects.revisions.approve');
|
|
Route::post('/projects/{project}/revisions/{revision}/confirm-current', [ProjectCurrentRevisionController::class, 'update'])->name('projects.revisions.confirm-current');
|
|
Route::delete('/projects/{project}/current-revision', [ProjectCurrentRevisionController::class, 'destroy'])->name('projects.current-revision.clear');
|
|
Route::get('/projects/{project}/files/{file}/download', [ProjectFileController::class, 'download'])->name('projects.files.download');
|
|
Route::post('/projects/{project}/files/{file}/render', [ProjectFileRenderController::class, 'store'])->name('projects.files.render');
|
|
Route::get('/projects/{project}/files/{file}/render/preview', [ProjectFileRenderController::class, 'preview'])->name('projects.files.render.preview');
|
|
Route::get('/projects/{project}/files/{file}/render/download', [ProjectFileRenderController::class, 'download'])->name('projects.files.render.download');
|
|
Route::post('/projects/{project}/listings', [ProjectListingLinkController::class, 'store'])->name('projects.listings.store');
|
|
Route::delete('/projects/{project}/listings/{listingLink}', [ProjectListingLinkController::class, 'destroy'])->name('projects.listings.destroy');
|
|
Route::post('/projects/{project}/cost-snapshots', [ProjectCostSnapshotController::class, 'store'])->name('projects.cost-snapshots.store');
|
|
Route::post('/projects/{project}/listings/{listingLink}/release', [ProjectReleaseController::class, 'store'])->name('projects.listings.release');
|
|
Route::post('/projects/{project}/listings/{listingLink}/revert', [ProjectReleaseController::class, 'revert'])->name('projects.listings.revert');
|
|
Route::get('/users', [UserController::class, 'index'])->name('users.index');
|
|
Route::post('/users', [UserController::class, 'store'])->name('users.store');
|
|
Route::patch('/users/{user}', [UserController::class, 'update'])->name('users.update');
|
|
Route::delete('/users/{user}', [UserController::class, 'destroy'])->name('users.destroy');
|
|
});
|