prefix('studio')->group(function () { Route::prefix('setting')->name('studio.setting.')->group(function () { Route::get('/account', AccountComponent::class)->name('account')->middleware('can:view account'); Route::get('/applications', ApplicationComponent::class)->name('application')->middleware('can:view application settings'); }); Route::prefix('dashboard')->name('studio.dashboard.')->group(function () { Route::get('/overview', OverviewComponent::class)->name('overview')->middleware('can:view studio overview'); Route::get('/analysis', AnalysisComponent::class)->name('analysis')->middleware('can:view analysis'); }); Route::prefix('master')->name('studio.master.')->group(function () { Route::prefix('outlets')->name('outlet.')->group(function () { Route::get('/', OutletIndex::class)->name('index')->middleware('can:view outlet'); Route::get('/create', OutletCreate::class)->name('create')->middleware('can:create outlet'); Route::get('/{outlet}/edit', OutletEdit::class)->name('edit')->middleware('can:update outlet'); }); Route::prefix('warehouses')->name('warehouse.')->group(function () { Route::get('/', WarehouseIndex::class)->name('index')->middleware('can:view warehouse'); Route::get('/{warehouse}/show', WarehouseShow::class)->name('show')->middleware('can:view warehouse'); }); Route::prefix('users')->name('user.')->group(function () { Route::get('/', UserIndex::class)->name('index')->middleware('can:view user'); Route::get('/create', UserCreate::class)->name('create')->middleware('can:create user'); Route::get('/{user}/edit', UserEdit::class)->name('edit')->middleware('can:update user'); }); Route::prefix('formulas')->name('formula.')->group(function () { Route::get('/', FormulaComponent::class)->name('index')->middleware('can:view formula'); }); Route::prefix('categories')->name('category.')->group(function () { Route::get('/', CategoryComponent::class)->name('index')->middleware('can:view category'); }); }); Route::prefix('loyalty')->name('studio.loyalty.')->group(function () { Route::prefix('tiers')->name('tier.')->group(function () { Route::get('/', TierComponent::class)->name('index')->middleware('can:view tier'); }); Route::prefix('customers')->name('customer.')->group(function () { Route::get('/', CustomerComponent::class)->name('index')->middleware('can:view customer'); }); Route::prefix('vouchers')->name('voucher.')->group(function () { Route::get('/', VoucherIndex::class)->name('index')->middleware('can:view voucher'); Route::get('/create', VoucherCreate::class)->name('create')->middleware('can:create voucher'); Route::get('/{voucher}/edit', VoucherEdit::class)->name('edit')->middleware('can:update voucher'); }); Route::prefix('rewards')->name('reward.')->group(function () { Route::get('/', RewardComponent::class)->name('index')->middleware('can:view reward'); }); Route::get('/redemptions', RedemptionVerification::class)->name('redemption.index')->middleware('can:view redemption'); }); Route::prefix('catalog')->name('studio.catalog.')->group(function () { Route::prefix('brands')->name('brand.')->group(function () { Route::get('/', BrandComponent::class)->name('index')->middleware('can:view brand'); }); Route::prefix('perfumes')->name('perfume.')->group(function () { Route::get('/', PerfumeIndex::class)->name('index')->middleware('can:view perfume'); Route::get('/create', PerfumeCreate::class)->name('create')->middleware('can:create perfume'); Route::get('/{perfume}/edit', PerfumeEdit::class)->name('edit')->middleware('can:update perfume'); Route::get('/{outlet}/{perfume}/audit', PerfumeAudit::class)->name('audit')->middleware('can:audit perfume'); }); Route::prefix('products')->name('product.')->group(function () { Route::get('/', ProductIndex::class)->name('index')->middleware('can:view product'); Route::get('/create', ProductCreate::class)->name('create')->middleware('can:create product'); Route::get('/{product}/edit', ProductEdit::class)->name('edit')->middleware('can:update product'); Route::get('/{outlet}/{product}/audit', ProductAudit::class)->name('audit')->middleware('can:audit product'); }); Route::prefix('bottles')->name('bottle.')->group(function () { Route::get('/', BottleIndex::class)->name('index')->middleware('can:view bottle'); Route::get('/create', BottleCreate::class)->name('create')->middleware('can:create bottle'); Route::get('/{bottle}/edit', BottleEdit::class)->name('edit')->middleware('can:update bottle'); Route::get('/{outlet}/{bottle}/audit', BottleAudit::class)->name('audit')->middleware('can:audit bottle'); }); }); Route::prefix('finance')->name('studio.finance.')->group(function () { Route::prefix('expenses')->name('expense.')->group(function () { Route::get('/', ExpenseComponent::class)->name('index')->middleware('can:view expense'); }); }); Route::prefix('finance')->name('studio.finance.')->group(function () { Route::prefix('payrolls')->name('payroll.')->group(function () { Route::get('/', PayrollComponent::class)->name('index')->middleware('can:view payroll'); }); }); Route::prefix('manage')->name('studio.manage.')->group(function () { Route::prefix('orders')->name('order.')->group(function () { Route::get('/', OrderIndex::class)->name('index')->middleware('can:view order'); Route::get('/create', OrderCreate::class)->name('create')->middleware('can:create order'); Route::get('/{order}/show', OrderShow::class)->name('show')->middleware('can:show order'); }); Route::prefix('purchases')->name('purchase.')->group(function () { Route::get('/', PurchaseIndex::class)->name('index')->middleware('can:view purchase'); Route::get('/create', PurchaseCreate::class)->name('create')->middleware('can:create purchase'); }); Route::prefix('restocks')->name('restock.')->group(function () { Route::get('/', RestockIndex::class)->name('index')->middleware('can:view restock'); Route::get('/create', RestockCreate::class)->name('create')->middleware('can:create restock'); }); Route::prefix('stock-opname')->name('stock_opname.')->group(function () { Route::get('/', StockOpnameIndex::class)->name('index')->middleware('can:view stock opname'); Route::get('/{stockOpname}/show', StockOpnameShow::class)->name('show')->middleware('can:show stock opname'); Route::get('/{stockOpname}/manage', StockOpnameManage::class)->name('manage')->middleware('can:manage stock opname'); }); Route::prefix('articles')->name('article.')->group(function () { Route::get('/', ArticleIndex::class)->name('index')->middleware('can:view article'); Route::get('/create', ArticleCreate::class)->name('create')->middleware('can:create article'); Route::get('/{article}/edit', ArticleEdit::class)->name('edit')->middleware('can:update article'); }); }); Route::prefix('information')->name('studio.information.')->group(function () { Route::get('/broadcasts', BroadcastComponent::class)->name('broadcast.index')->middleware('can:view broadcast'); Route::prefix('faqs')->name('faq.')->group(function () { Route::get('/', FaqComponent::class)->name('index')->middleware('can:view faq'); }); Route::prefix('testimonials')->name('testimonial.')->group(function () { Route::get('/', TestimonialComponent::class)->name('index')->middleware('can:view testimonial'); }); }); Route::prefix('feature')->name('studio.feature.')->group(function () { Route::prefix('perfume-features')->name('perfume_feature.')->group(function () { Route::get('/', PerfumeFeatureComponent::class)->name('index')->middleware('can:view perfume feature'); }); Route::prefix('choose-us')->name('choose_us.')->group(function () { Route::get('/', ChooseUsComponent::class)->name('index')->middleware('can:view choose us'); }); }); });