<?php
declare(strict_types=1);

return [
    // Pricing Dashboard
    ['GET',  '/pricing',                          'Pricing\Controllers\PricingDashboardController@index',             ['auth'], 'pricing.view'],
    ['POST', '/pricing/section/{category}',       'Pricing\Controllers\PricingDashboardController@saveSection',       ['auth', 'csrf'], 'pricing.edit'],
    ['POST', '/pricing/annual-rates',             'Pricing\Controllers\PricingDashboardController@saveAnnualRates',   ['auth', 'csrf'], 'pricing.edit'],
    ['POST', '/pricing/annual-rates/add-year',    'Pricing\Controllers\PricingDashboardController@addYear',           ['auth', 'csrf'], 'pricing.edit'],
    ['POST', '/pricing/membership-prices',        'Pricing\Controllers\PricingDashboardController@saveMembershipPrices', ['auth', 'csrf'], 'pricing.edit'],

    // Rule versioning
    ['GET',  '/pricing/rule/{ruleCode}/versions',      'Pricing\Controllers\PricingDashboardController@ruleVersions',      ['auth'], 'pricing.view'],
    ['POST', '/pricing/rule/{ruleCode}/add-version',   'Pricing\Controllers\PricingDashboardController@addRuleVersion',    ['auth', 'csrf'], 'pricing.edit'],

    // Legacy pricing configs
    ['GET',  '/pricing/configs',            'Pricing\Controllers\PricingController@index',  ['auth'], 'pricing.view'],
    ['GET',  '/pricing/configs/{id:\d+}/edit',  'Pricing\Controllers\PricingController@edit',   ['auth'], 'pricing.edit'],
    ['POST', '/pricing/configs/{id:\d+}',       'Pricing\Controllers\PricingController@update', ['auth', 'csrf'], 'pricing.edit'],

    // Board Offers
    ['GET',  '/pricing/board-offers',                       'Pricing\Controllers\BoardOfferController@index',             ['auth'], 'pricing.board_offers.view'],
    ['GET',  '/pricing/board-offers/create',                'Pricing\Controllers\BoardOfferController@create',            ['auth'], 'pricing.board_offers.create'],
    ['POST', '/pricing/board-offers',                       'Pricing\Controllers\BoardOfferController@store',             ['auth', 'csrf'], 'pricing.board_offers.create'],
    ['GET',  '/pricing/board-offers/{id:\d+}/edit',         'Pricing\Controllers\BoardOfferController@edit',              ['auth'], 'pricing.board_offers.edit'],
    ['POST', '/pricing/board-offers/{id:\d+}',              'Pricing\Controllers\BoardOfferController@update',            ['auth', 'csrf'], 'pricing.board_offers.edit'],
    ['POST', '/pricing/board-offers/{id:\d+}/toggle',       'Pricing\Controllers\BoardOfferController@toggleActive',      ['auth', 'csrf'], 'pricing.board_offers.edit'],

    // Special Discounts
    ['GET',  '/pricing/special-discounts',                  'Pricing\Controllers\SpecialDiscountController@index',        ['auth'], 'pricing.special_discounts.view'],
    ['GET',  '/pricing/special-discounts/create',           'Pricing\Controllers\SpecialDiscountController@create',       ['auth'], 'pricing.special_discounts.create'],
    ['POST', '/pricing/special-discounts',                  'Pricing\Controllers\SpecialDiscountController@store',        ['auth', 'csrf'], 'pricing.special_discounts.create'],
    ['GET',  '/pricing/special-discounts/{id:\d+}/edit',    'Pricing\Controllers\SpecialDiscountController@edit',         ['auth'], 'pricing.special_discounts.edit'],
    ['POST', '/pricing/special-discounts/{id:\d+}',         'Pricing\Controllers\SpecialDiscountController@update',       ['auth', 'csrf'], 'pricing.special_discounts.edit'],
    ['POST', '/pricing/special-discounts/{id:\d+}/toggle',  'Pricing\Controllers\SpecialDiscountController@toggleActive', ['auth', 'csrf'], 'pricing.special_discounts.edit'],

    // Regulatory Discounts (Articles 97-102, 110)
    ['GET',  '/pricing/regulatory-discounts',                              'Pricing\Controllers\RegulatoryDiscountController@index',              ['auth'], 'pricing.regulatory_discounts.view'],
    ['GET',  '/pricing/regulatory-discounts/create',                       'Pricing\Controllers\RegulatoryDiscountController@create',             ['auth'], 'pricing.regulatory_discounts.create'],
    ['POST', '/pricing/regulatory-discounts',                              'Pricing\Controllers\RegulatoryDiscountController@store',              ['auth', 'csrf'], 'pricing.regulatory_discounts.create'],
    ['GET',  '/pricing/regulatory-discounts/{id:\d+}/edit',                'Pricing\Controllers\RegulatoryDiscountController@edit',               ['auth'], 'pricing.regulatory_discounts.edit'],
    ['POST', '/pricing/regulatory-discounts/{id:\d+}',                     'Pricing\Controllers\RegulatoryDiscountController@update',             ['auth', 'csrf'], 'pricing.regulatory_discounts.edit'],
    ['POST', '/pricing/regulatory-discounts/{id:\d+}/toggle',              'Pricing\Controllers\RegulatoryDiscountController@toggleActive',       ['auth', 'csrf'], 'pricing.regulatory_discounts.edit'],
    ['POST', '/pricing/regulatory-discounts/check-eligibility',            'Pricing\Controllers\RegulatoryDiscountController@checkEligibility',   ['auth', 'csrf'], 'pricing.regulatory_discounts.view'],
    ['GET',  '/pricing/regulatory-discounts/applications',                 'Pricing\Controllers\RegulatoryDiscountController@applications',       ['auth'], 'pricing.regulatory_discounts.approve'],
    ['POST', '/pricing/regulatory-discounts/applications/{id:\d+}/approve','Pricing\Controllers\RegulatoryDiscountController@approveApplication', ['auth', 'csrf'], 'pricing.regulatory_discounts.approve'],
    ['POST', '/pricing/regulatory-discounts/applications/{id:\d+}/reject', 'Pricing\Controllers\RegulatoryDiscountController@rejectApplication',  ['auth', 'csrf'], 'pricing.regulatory_discounts.approve'],
];