Expose published customer listings under /tenants/:host/user-products (list, search, details, technical-info) and document them in the website API pack.
Co-authored-by: Cursor <cursoragent@cursor.com>
Per-row ensure and SSL refresh treat storefront as valid only when both names match, and toast messages list each host explicitly.
Co-authored-by: Cursor <cursoragent@cursor.com>
Skip redundant provision on edit, harden TLS hostname checks, and issue apex/business/customer SSL from one endpoint.
Co-authored-by: Cursor <cursoragent@cursor.com>
Append tenant Farsi name to verification SMS, allow optional domain on send-otp, and add SMS_PROXY_* for local delivery via production. Also include websites SSL sync agent/API wiring.
Co-authored-by: Cursor <cursoragent@cursor.com>
Edit Domain can wire deploy_slug the same way as Add Domain so existing businesses get a Deploy button without recreating the domain.
Co-authored-by: Cursor <cursoragent@cursor.com>
Persist deploy_slug on domains, call the websites agent /provision endpoint, and drop the hard-coded host map so Deploy appears from the UI.
Co-authored-by: Cursor <cursoragent@cursor.com>
Expose login-otp and reset-password so dashboards can finish forgot-password and one-time SMS sign-in, and sync website API docs.
Co-authored-by: Cursor <cursoragent@cursor.com>
Expose POST /public/sms/send with API key + domain allowlist for external backends like Balout, wire Meshkee OTP/message sends to Gama, and publish Partner SMS docs on /docs/website.
Co-authored-by: Cursor <cursoragent@cursor.com>
List pages stay cheap by reading ssl_enabled while Nest probes apex hosts in the background; create-business now stores first/last name in both locales.
Co-authored-by: Cursor <cursoragent@cursor.com>
English keys on store/website specials stay unique per business; domain-admin can trigger dashboard SSL sync.
Co-authored-by: Cursor <cursoragent@cursor.com>
Expose branding.defaultLocale, optional user EN name fields, and lightweight dual daily activity for orders/customers; update project context and rules.
Co-authored-by: Cursor <cursoragent@cursor.com>
Reuse the existing user as owner instead of rejecting duplicate cells, so one person can own multiple businesses.
Co-authored-by: Cursor <cursoragent@cursor.com>
Add invoice template CRUD, key points/accounts, public GET endpoint, and migration 039 for account_holder_name.
Co-authored-by: Cursor <cursoragent@cursor.com>
Super admins can manage predefined invoice lines and issue invoices to businesses; schema is ready for future business-scoped use.
Co-authored-by: Cursor <cursoragent@cursor.com>
Serve public storefront docs at /docs/website, expose api.{domain} hosts for API SSL sync, and require push-then-pull deploys instead of rsync.
Co-authored-by: Cursor <cursoragent@cursor.com>