2022-09-28 15:02:09 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
declare(strict_types=1);
|
|
|
|
|
|
|
|
namespace Modules\PremiumPodcasts\Config;
|
|
|
|
|
2023-08-27 13:26:06 +00:00
|
|
|
use CodeIgniter\Router\RouteCollection;
|
|
|
|
|
|
|
|
/** @var RouteCollection $routes */
|
2022-09-28 15:02:09 +00:00
|
|
|
|
|
|
|
$routes->addPlaceholder('podcastHandle', '[a-zA-Z0-9\_]{1,32}');
|
|
|
|
|
|
|
|
// Admin routes for subscriptions
|
|
|
|
$routes->group(
|
2024-04-28 16:39:01 +00:00
|
|
|
config('Admin')
|
2022-09-28 15:02:09 +00:00
|
|
|
->gateway,
|
|
|
|
[
|
|
|
|
'namespace' => 'Modules\PremiumPodcasts\Controllers',
|
|
|
|
],
|
|
|
|
static function ($routes): void {
|
|
|
|
$routes->group('podcasts/(:num)/subscriptions', static function ($routes): void {
|
|
|
|
$routes->get('/', 'SubscriptionController::list/$1', [
|
2023-06-12 14:47:38 +00:00
|
|
|
'as' => 'subscription-list',
|
2024-05-13 16:17:18 +00:00
|
|
|
'filter' => 'permission:podcast$1.manage-subscriptions',
|
2022-09-28 15:02:09 +00:00
|
|
|
]);
|
2024-12-18 16:05:25 +00:00
|
|
|
$routes->get('new', 'SubscriptionController::createView/$1', [
|
2023-10-12 15:52:20 +00:00
|
|
|
'as' => 'subscription-create',
|
2024-05-13 16:17:18 +00:00
|
|
|
'filter' => 'permission:podcast$1.manage-subscriptions',
|
2022-09-28 15:02:09 +00:00
|
|
|
]);
|
|
|
|
$routes->post(
|
2023-10-12 15:52:20 +00:00
|
|
|
'new',
|
2024-12-18 16:05:25 +00:00
|
|
|
'SubscriptionController::createAction/$1',
|
2022-09-28 15:02:09 +00:00
|
|
|
[
|
2024-05-13 16:17:18 +00:00
|
|
|
'filter' => 'permission:podcast$1.manage-subscriptions',
|
2022-09-28 15:02:09 +00:00
|
|
|
],
|
|
|
|
);
|
2024-12-18 16:05:25 +00:00
|
|
|
$routes->post('save-link', 'SubscriptionController::linkSaveAction/$1', [
|
2023-06-12 14:47:38 +00:00
|
|
|
'as' => 'subscription-link-save',
|
2024-05-13 16:17:18 +00:00
|
|
|
'filter' => 'permission:podcast$1.manage-subscriptions',
|
2022-09-28 15:02:09 +00:00
|
|
|
]);
|
|
|
|
// Subscription
|
|
|
|
$routes->group('(:num)', static function ($routes): void {
|
|
|
|
$routes->get('/', 'SubscriptionController::view/$1/$2', [
|
2023-06-12 14:47:38 +00:00
|
|
|
'as' => 'subscription-view',
|
2024-05-13 16:17:18 +00:00
|
|
|
'filter' => 'permission:podcast$1.manage-subscriptions',
|
2022-09-28 15:02:09 +00:00
|
|
|
]);
|
|
|
|
$routes->get(
|
|
|
|
'edit',
|
2024-12-18 16:05:25 +00:00
|
|
|
'SubscriptionController::editView/$1/$2',
|
2022-09-28 15:02:09 +00:00
|
|
|
[
|
2023-06-12 14:47:38 +00:00
|
|
|
'as' => 'subscription-edit',
|
2024-05-13 16:17:18 +00:00
|
|
|
'filter' => 'permission:podcast$1.manage-subscriptions',
|
2022-09-28 15:02:09 +00:00
|
|
|
],
|
|
|
|
);
|
|
|
|
$routes->post(
|
|
|
|
'edit',
|
2024-12-18 16:05:25 +00:00
|
|
|
'SubscriptionController::editAction/$1/$2',
|
2022-09-28 15:02:09 +00:00
|
|
|
[
|
2023-06-12 14:47:38 +00:00
|
|
|
'as' => 'subscription-edit',
|
2024-05-13 16:17:18 +00:00
|
|
|
'filter' => 'permission:podcast$1.manage-subscriptions',
|
2022-09-28 15:02:09 +00:00
|
|
|
],
|
|
|
|
);
|
|
|
|
$routes->get(
|
|
|
|
'regenerate-token',
|
|
|
|
'SubscriptionController::regenerateToken/$1/$2',
|
|
|
|
[
|
2023-06-12 14:47:38 +00:00
|
|
|
'as' => 'subscription-regenerate-token',
|
2024-05-13 16:17:18 +00:00
|
|
|
'filter' => 'permission:podcast$1.manage-subscriptions',
|
2025-03-01 13:08:00 +00:00
|
|
|
],
|
2022-09-28 15:02:09 +00:00
|
|
|
);
|
|
|
|
$routes->get(
|
|
|
|
'suspend',
|
|
|
|
'SubscriptionController::suspend/$1/$2',
|
|
|
|
[
|
2023-06-12 14:47:38 +00:00
|
|
|
'as' => 'subscription-suspend',
|
2024-05-13 16:17:18 +00:00
|
|
|
'filter' => 'permission:podcast$1.manage-subscriptions',
|
2022-09-28 15:02:09 +00:00
|
|
|
],
|
|
|
|
);
|
|
|
|
$routes->post(
|
|
|
|
'suspend',
|
2024-12-18 16:05:25 +00:00
|
|
|
'SubscriptionController::suspendAction/$1/$2',
|
2022-09-28 15:02:09 +00:00
|
|
|
[
|
2024-05-13 16:17:18 +00:00
|
|
|
'filter' => 'permission:podcast$1.manage-subscriptions',
|
2022-09-28 15:02:09 +00:00
|
|
|
],
|
|
|
|
);
|
|
|
|
$routes->get(
|
|
|
|
'resume',
|
|
|
|
'SubscriptionController::resume/$1/$2',
|
|
|
|
[
|
2023-06-12 14:47:38 +00:00
|
|
|
'as' => 'subscription-resume',
|
2024-05-13 16:17:18 +00:00
|
|
|
'filter' => 'permission:podcast$1.manage-subscriptions',
|
2022-09-28 15:02:09 +00:00
|
|
|
],
|
|
|
|
);
|
|
|
|
$routes->get(
|
2022-09-29 10:51:12 +00:00
|
|
|
'delete',
|
|
|
|
'SubscriptionController::delete/$1/$2',
|
2022-09-28 15:02:09 +00:00
|
|
|
[
|
2023-06-12 14:47:38 +00:00
|
|
|
'as' => 'subscription-delete',
|
2024-05-13 16:17:18 +00:00
|
|
|
'filter' => 'permission:podcast$1.manage-subscriptions',
|
2022-09-28 15:02:09 +00:00
|
|
|
],
|
|
|
|
);
|
|
|
|
$routes->post(
|
2022-09-29 10:51:12 +00:00
|
|
|
'delete',
|
2024-12-18 16:05:25 +00:00
|
|
|
'SubscriptionController::deleteAction/$1/$2',
|
2022-09-28 15:02:09 +00:00
|
|
|
[
|
2024-05-13 16:17:18 +00:00
|
|
|
'filter' => 'permission:podcast$1.manage-subscriptions',
|
2022-09-28 15:02:09 +00:00
|
|
|
],
|
|
|
|
);
|
|
|
|
});
|
|
|
|
});
|
2025-03-01 13:08:00 +00:00
|
|
|
},
|
2022-09-28 15:02:09 +00:00
|
|
|
);
|
|
|
|
|
|
|
|
$routes->group(
|
|
|
|
'@(:podcastHandle)',
|
|
|
|
[
|
|
|
|
'namespace' => 'Modules\PremiumPodcasts\Controllers',
|
|
|
|
],
|
|
|
|
static function ($routes): void {
|
2023-08-27 13:26:06 +00:00
|
|
|
$routes->get('unlock', 'LockController::index/$1', [
|
2022-09-28 15:02:09 +00:00
|
|
|
'as' => 'premium-podcast-unlock',
|
|
|
|
]);
|
2024-12-18 16:05:25 +00:00
|
|
|
$routes->post('unlock', 'LockController::unlockAction/$1', [
|
2022-09-28 15:02:09 +00:00
|
|
|
'as' => 'premium-podcast-unlock',
|
|
|
|
]);
|
2024-12-18 16:05:25 +00:00
|
|
|
$routes->get('lock', 'LockController::lockAction/$1', [
|
2022-09-28 15:02:09 +00:00
|
|
|
'as' => 'premium-podcast-lock',
|
|
|
|
]);
|
2025-03-01 13:08:00 +00:00
|
|
|
},
|
2022-09-28 15:02:09 +00:00
|
|
|
);
|