- ProvisionDnsDomainJob/SuspendDnsDomainJob: tạo domain admin lên Plesk, huỷ = suspend (is_created=3)
- Khách xem zone DNS được gán ở /dich-vu/domain, quản lý bản ghi A/AAAA/CNAME/TXT/MX/SRV
- send-mail hoá đơn đẩy SendInvoiceMailJob, preview + sửa nội dung, ghi mail.order_id
- invoice_attachments.type (payment_proof/deployment)
- CacheService xoá theo SCAN pattern, Redis không persistent mặc định
- Backfill transactions.public_code
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
feat: create PostCategoryFactory for generating post category data
feat: create PostFactory for generating post data
feat: add retry_requested_at column to services table
feat: add vcenter provisioning fields to products table
feat: add module_host_id to os table
feat: create email_notification_templates table for email templates
feat: add scenario and format fields to template table
feat: add admin fields to transactions table
fix: update ticket table columns and types
feat: add uuid to ticket table and backfill existing records
fix: make ticket_reply user_id nullable
feat: create notifications table for user notifications
fix: make ticket uuid nullable
feat: create post_categories table for blog categories
feat: create posts table for blog posts
feat: add invoice email template for PDF generation