Commit Graph
20 Commits
Author SHA1 Message Date
Alireza HassaniandCursor fb04425df7 Clarify technical-info docs and ship pending owner/color fixes.
Document that product specs need /technical-info for labels, auto-verify admin-created business owners, and expand category color presets with Farsi aliases.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-27 06:46:28 +03:30
Alireza HassaniandCursor 5850c90d84 Re-provision storefront nginx when domain host is renamed.
Also create origin HTTPS with a self-signed cert on provision so Cloudflare Full does not fall through to another site's default SSL vhost.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-26 17:31:56 +03:30
Alireza HassaniandCursor 4db9c7709d Default annual renewal to business created date.
Backfill null renewals from created_at and use now when create omits the date.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-26 10:33:26 +03:30
Alireza HassaniandCursor 92601ae729 Add page-view analytics, product counters, SSL expiry, and business renewal.
Auto-count storefront page views with 6-month event retention and lifetime counters, track product visit/cart/sale stats, persist SSL cert expiry with daily probes, and support owner titles plus annual contract renewal.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-26 10:13:06 +03:30
Alireza HassaniandCursor c7d5204b49 Add workshops CMS API with schedule, registrations, and public storefront routes.
Includes SQL migrations, Prisma models, dashboard CRUD, registration status workflow, and website OpenAPI updates for workshop listing and signup.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-22 12:22:24 +03:30
Alireza HassaniandCursor 8609d8d4fd Make Arvan DNS updates opt-in and persist English user names.
Domain add/edit only upserts Arvan records when updateDns is true, and super-admin user PATCH now accepts firstNameEn and lastNameEn.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 11:50:57 +03:30
Alireza HassaniandCursor 30119e6d9e Upsert ArvanCloud DNS records when a super-admin adds or updates a domain.
Tenant zones get an apex ANAME and CNAMEs for www, business, customer, and api without storing origin IPs.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-14 11:16:35 +03:30
Alireza HassaniandCursor 62f75c3a75 Default business and domain list page size to 24.
Match the dashboard list rule when clients omit pageSize.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-13 15:19:46 +03:30
Alireza HassaniandCursor d5e502cf77 Add Mellat e-payment, videos/instructions CMS, and legacy domain lookup.
Store gateway credentials per business, initiate/verify Mellat at checkout, and resolve old CMS ids from domains in the migrate modal.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-13 09:51:17 +03:30
Alireza HassaniandCursor 953b87b616 Add public user-products storefront API and website docs.
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>
2026-08-10 00:19:13 +03:30
Alireza HassaniandCursor a9d5f2e48d Fix storefront SSL probes and per-domain ensure for dashboards.
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>
2026-08-09 16:32:05 +03:30
Alireza HassaniandCursor 5cd762c65d Accept HTTPS git repo URLs for storefront provision.
Normalize https://git.meshkee.com/... to SSH for the websites VM deploy key while keeping the URL users paste.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-08 14:25:13 +03:30
Alireza HassaniandCursor 7d123502f8 Allow storefront provision when editing a domain git URL.
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>
2026-08-08 14:18:31 +03:30
Alireza HassaniandCursor d933aef40b Enable storefront provision from Add Domain via optional git URL.
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>
2026-08-08 14:07:56 +03:30
Alireza HassaniandCursor 9ca6e2306f Add per-business modules and home chart slots.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-08 10:40:57 +03:30
Alireza HassaniandCursor 267a218c26 Sync domain SSL status on a 2-hour cron and capture owner FA/EN names.
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>
2026-08-03 09:21:06 +03:30
Alireza HassaniandCursor 43e3912662 Add defaultLocale, EN names, and dashboard activity endpoints.
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>
2026-08-01 09:35:27 +03:30
Alireza HassaniandCursor 4598add88c Ship legacy migrate APIs, portfolio/blog old-id schema, and admin migrate/purge flows.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 16:10:41 +03:30
Alireza HassaniandCursor 9455cd9fab Allow creating a business with an existing active owner cell number.
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>
2026-07-26 14:45:02 +03:30
Ali Reza bb59d5e9ba Initial commit: Meshkee CMS API
NestJS backend with Prisma, Docker Compose for Postgres/Redis, and deploy docs for the production VM.
2026-07-21 17:52:36 +03:30