feat: Add IT Support catalog and related migrations, seeders, and email templates

- Created migration to add 'group_label' to 'product_type_fields' table.
- Implemented ItSupportCatalogSeeder to populate IT Support features and tiers.
- Added ProductCategorySeeder for initial product categories.
- Developed ProductMockupSeeder for mockup products in various categories.
- Introduced ProductTypeFieldSeeder to define fields for different product types.
- Created email templates for VPS service information and service renewal reminders.
This commit is contained in:
baodev0
2026-08-26 16:19:38 +07:00
parent 382b7c0ef8
commit c917e3bf5e
47 changed files with 2992 additions and 1759 deletions
@@ -7,6 +7,7 @@ use Illuminate\Http\JsonResponse;
use Laravel\Horizon\Contracts\JobRepository;
use Laravel\Horizon\Contracts\MetricsRepository;
use Laravel\Horizon\Contracts\WorkloadRepository;
use Laravel\Horizon\Jobs\RetryFailedJob;
class QueueMonitorController extends Controller
{
@@ -70,6 +71,19 @@ class QueueMonitorController extends Controller
]);
}
/**
* POST /api/queue/jobs/failed/{id}/retry
* Re-queue a failed job by its Horizon job ID.
*/
public function retry(string $id): JsonResponse
{
abort_if(!$this->jobs->findFailed($id), 404, "Can't find failed job #{$id}");
dispatch(new RetryFailedJob($id));
return response()->json(['success' => true, 'message' => 'Job đã được đưa lại vào hàng đợi']);
}
/**
* GET /api/queue/jobs/metrics
* Queue throughput, runtime, and per-queue/per-job breakdown.