Idempotent provisioning, service soft-delete, Plans page redesign, doc updates
Part A: Fix duplicate Service creation on provisioning retry - All 4 provisioning services use Service::firstOrCreate() keyed on subscription_id+service_type to prevent duplicates on queue retries - HandleSubscriptionCreated sends notification before provisioning, no longer re-throws on failure - RetryProvisioningCommand simplified to reuse existing Service records Part B: Plans/Pricing page complete redesign - Service type tabs (VPS, Dedicated, Web Hosting, MySQL) - Billing cycle segmented toggle (monthly/quarterly/semi-annual/annual) - Feature icons per service type, Popular/Best Value badges - Stock indicators, effective monthly price calculations Part C: Admin service soft-delete/archive - Service model uses SoftDeletes trait - Admin can archive and restore services - Show archived toggle on services list - Migration adds deleted_at column Docs: Updated TASKS.md, CLAUDE.md, PROJECT_DEVELOPMENT.md, MEMORY.md - Phase 3 marked complete, test counts updated (252 passing) - SupportPal references replaced with standalone ticket system - Frontend design skill background rule added - Closed GitHub issues #3, #6, #7, #8, #9 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -2,7 +2,21 @@
|
||||
"permissions": {
|
||||
"allow": [
|
||||
"WebSearch",
|
||||
"Bash(ls:*)"
|
||||
"Bash(ls:*)",
|
||||
"WebFetch(domain:lowendbox.com)",
|
||||
"WebFetch(domain:www.lowendtalk.com)",
|
||||
"Bash(php artisan tinker:*)",
|
||||
"WebFetch(domain:www.vultr.com)",
|
||||
"WebFetch(domain:www.digitalocean.com)",
|
||||
"WebFetch(domain:www.linode.com)",
|
||||
"Bash(vendor/bin/pint:*)",
|
||||
"Bash(php artisan make:request:*)",
|
||||
"Bash(php artisan make:controller:*)",
|
||||
"Bash(php artisan make:test:*)",
|
||||
"Bash(php artisan test:*)",
|
||||
"Bash(npm run build:*)"
|
||||
]
|
||||
}
|
||||
},
|
||||
"outputStyle": "default",
|
||||
"spinnerTipsEnabled": false
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user