PluginProbe
FluentCart A New Era of eCommerce – Faster, Lighter, and Simpler / 1.6.6
FluentCart A New Era of eCommerce – Faster, Lighter, and Simpler v1.6.6
1.6.6 1.6.5 1.6.4 1.6.3 1.6.2 1.6.1 1.6.0 1.5.4 1.5.5 1.5.3 1.5.2 1.5.1 1.5.0 1.4.2 1.4.1 1.4.0 1.3.28 1.3.27 1.3.26 1.3.25 1.3.23 1.3.22 1.3.21 1.3.20 1.3.19 All 49 releases
← All changes | app/Http/Routes/api.php +35 -9 1.5.0 → 1.6.6 View file →
@@ -11,11 +11,13 @@
11 11 use FluentCart\App\Http\Controllers\AppControllers\AppController;
12 12 use FluentCart\App\Http\Controllers\CheckoutFieldsController;
13 13 use FluentCart\App\Http\Controllers\CustomerController;
14 14 use FluentCart\App\Http\Controllers\DashboardController;
15 +use FluentCart\App\Http\Controllers\DataBackfillController;
15 16 use FluentCart\App\Http\Controllers\EmailNotificationController;
16 17 use FluentCart\App\Http\Controllers\FileUploadController;
17 18 use FluentCart\App\Http\Controllers\IntegrationController;
19 +use FluentCart\App\Http\Controllers\RenewalController;
18 20 use FluentCart\App\Http\Controllers\LabelController;
19 21 use FluentCart\App\Http\Controllers\McpSettingsController;
20 22 use FluentCart\App\Http\Controllers\ModuleSettingsController;
21 23 use FluentCart\App\Http\Controllers\NotesController;
@@ -49,8 +51,12 @@
49 51 $router->prefix('dashboard')->withPolicy('AdminPolicy')->group(function (Router $router) {
50 52 $router->get('/', [DashboardController::class, 'getOnboardingData']);
51 53 });
52 54
55 +$router->prefix('data-backfills')->withPolicy('AdminPolicy')->group(function (Router $router) {
56 + $router->post('/run', [DataBackfillController::class, 'run']);
57 +});
58 +
53 59 $router->prefix('dashboard')->withPolicy('DashboardPolicy')->group(function (Router $router) {
54 60 $router->get('/stats', [DashboardController::class, 'getDashboardStats'])->meta([
55 61 'permissions' => 'dashboard_stats/view'
56 62 ]);
@@ -547,9 +553,9 @@
547 553 'permissions' => 'orders/create'
548 554 ]);
549 555
550 556 $router->post('/do-bulk-action', [OrderController::class, 'handleBulkActions'])->meta([
551 - 'permissions' => 'orders/manage'
557 + 'permissions' => 'orders/delete' // every accepted action deletes orders — same gate as DELETE /{order_id}
552 558 ]);
553 559
554 560 $router->post('/{order}/mark-as-paid', [OrderController::class, 'markAsPaid'])->meta([
555 561 'permissions' => 'orders/manage'
@@ -604,11 +610,13 @@
604 610 $router->post('/{order}/transactions/{transaction_id}/accept-dispute/', [OrderController::class, 'acceptDispute'])->meta([
605 611 'permissions' => 'orders/manage'
606 612 ]);
607 613
608 - $router->get('/{id}/transactions/{transaction_id}', [OrderController::class, 'getDetails'])->meta([
609 - 'permissions' => 'orders/view'
610 - ]);
614 + $router->get('/{id}/transactions/{transaction_id}', [OrderController::class, 'getTransactionDetails'])
615 + ->int('id', 'transaction_id')
616 + ->meta([
617 + 'permissions' => 'orders/view'
618 + ]);
611 619
612 620 $router->put('/{order}/address/{id}', [OrderController::class, 'updateOrderAddress'])->meta([
613 621 'permissions' => 'orders/manage'
614 622 ]);
@@ -616,8 +624,12 @@
616 624 $router->put('/{order}/transactions/{transaction}/status', [OrderController::class, 'updateTransactionStatus'])->meta([
617 625 'permissions' => 'orders/manage'
618 626 ]);
619 627
628 + $router->post('/{order}/transactions/{transaction}/sync', [OrderController::class, 'syncPendingTransaction'])->meta([
629 + 'permissions' => 'orders/manage'
630 + ]);
631 +
620 632 $router->post('/{order}/create-custom', [OrderController::class, 'createCustom'])->int('id')->meta([
621 633 'permissions' => 'orders/create'
622 634 ]);
623 635
@@ -630,9 +642,26 @@
630 642 ]);
631 643
632 644 });
633 645
646 +$router->prefix('renewals')->withPolicy('OrderPolicy')->group(function (Router $router) {
647 + $router->get('/', [RenewalController::class, 'index'])->meta([
648 + 'permissions' => 'orders/view'
649 + ]);
634 650
651 + $router->get('/{id}', [RenewalController::class, 'show'])->int('id')->meta([
652 + 'permissions' => 'orders/view'
653 + ]);
654 +
655 + $router->post('/{order}/void', [RenewalController::class, 'void'])->meta([
656 + 'permissions' => 'orders/manage'
657 + ]);
658 +
659 + $router->post('/{order}/resend', [RenewalController::class, 'resend'])->meta([
660 + 'permissions' => 'orders/manage'
661 + ]);
662 +});
663 +
635 664 $router->prefix('labels')->withPolicy('LabelPolicy')->group(function (Router $router) {
636 665 $router->get('/', [LabelController::class, 'index'])->meta([
637 666 'permissions' => 'labels/view'
638 667 ]);
@@ -804,10 +833,10 @@
804 833 });
805 834
806 835 $router->post('/upload-editor-file', [FileUploadController::class, 'uploadEditorFile'])->withPolicy('AdminPolicy');
807 836
808 -$router->prefix('notes')->withPolicy('AdminPolicy')->group(function (Router $router) {
809 - $router->post('/attach', [NotesController::class, 'attach']);
837 +$router->prefix('notes')->withPolicy('OrderPolicy')->group(function (Router $router) {
838 + $router->post('/attach', [NotesController::class, 'attach'])->meta(['permissions' => 'orders/manage']);
810 839 });
811 840
812 841 $router->prefix('app')->withPolicy('AdminPolicy')->group(function (Router $router) {
813 842 $router->get('init', [AppController::class, 'init']);
@@ -889,11 +918,8 @@
889 918 $router->post('country/rate', [TaxRateController::class, 'store'])->meta([
890 919 'permissions' => 'store/sensitive'
891 920 ]);
892 921 $router->delete('country/rate/{id}', [TaxRateController::class, 'delete'])->int('id')->meta([
893 - 'permissions' => 'store/sensitive'
894 - ]);
895 - $router->delete('country/{country_code}', [TaxRateController::class, 'deleteCountry'])->meta([
896 922 'permissions' => 'store/sensitive'
897 923 ]);
898 924 $router->post('country-status/{country_code}', [TaxRateController::class, 'updateCountryStatus'])->meta([
899 925 'permissions' => 'store/sensitive'