+
Old CMS match
+
+ Domain{migrateLookup.domains.length > 1 ? 's' : ''}:{' '}
+ {migrateLookup.domains.join(', ')}
+
+ {(migrateLookup.brandEn || migrateLookup.brandFa) && (
+
+ Brand:{' '}
+
+ {[migrateLookup.brandEn, migrateLookup.brandFa]
+ .filter(Boolean)
+ .join(' / ')}
+
+
+ )}
+ {migrateLookup.matchedHost ? (
+
+ Matched from Meshkee host:{' '}
+ {migrateLookup.matchedHost}
+
+ ) : null}
+ {migrateLookup.meshkeeHosts.length > 0 ? (
+
+ This business hosts:{' '}
+ {migrateLookup.meshkeeHosts.join(', ')}
+
+ ) : null}
+
+ ) : (
+
+ {migrateOldId.trim()
+ ? 'No old CMS business found for this id. Check the number before migrating.'
+ : migrateLookup.meshkeeHosts.length
+ ? `No old CMS domain match for ${migrateLookup.meshkeeHosts.join(', ')}. Enter the old business id manually.`
+ : 'This Meshkee business has no domain yet. Enter the old business id manually.'}
+
+ )
+ ) : null}
Data to migrate (one)
diff --git a/apps/super-admin/src/services/businessService.ts b/apps/super-admin/src/services/businessService.ts
index fad3dcb..279678c 100644
--- a/apps/super-admin/src/services/businessService.ts
+++ b/apps/super-admin/src/services/businessService.ts
@@ -117,6 +117,32 @@ export async function migrateBusinessFromOld(
})
}
+export interface LegacyMigrateLookupResponse {
+ meshkeeHosts: string[]
+ meshkeeBusinessName: string
+ oldBusinessId: string | null
+ domains: string[]
+ brandEn: string | null
+ brandFa: string | null
+ slug: string | null
+ matchedHost: string | null
+ source: 'old_business_id' | 'meshkee_domain' | 'none'
+}
+
+export async function lookupLegacyMigrate(
+ businessId: string,
+ oldBusinessId?: number,
+ signal?: AbortSignal,
+) {
+ const q = new URLSearchParams()
+ if (oldBusinessId != null) q.set('oldBusinessId', String(oldBusinessId))
+ const query = q.toString()
+ return apiRequest(
+ `/businesses/${businessId}/migrate-from-old/lookup${query ? `?${query}` : ''}`,
+ { auth: true, signal },
+ )
+}
+
export async function purgeBusinessData(
businessId: string,
payload: PurgeBusinessDataPayload,
diff --git a/apps/super-admin/src/types/business.ts b/apps/super-admin/src/types/business.ts
index 8478ea0..3afac48 100644
--- a/apps/super-admin/src/types/business.ts
+++ b/apps/super-admin/src/types/business.ts
@@ -46,6 +46,8 @@ export type MigrateFromOldEntity =
| 'customer'
| 'blog_categories'
| 'blog'
+ | 'video_categories'
+ | 'video'
| 'portfolio_categories'
| 'portfolio'
diff --git a/apps/super-admin/src/utils/businessModules.ts b/apps/super-admin/src/utils/businessModules.ts
index 5b7d970..52c4508 100644
--- a/apps/super-admin/src/utils/businessModules.ts
+++ b/apps/super-admin/src/utils/businessModules.ts
@@ -6,6 +6,7 @@ export const BUSINESS_DASHBOARD_MODULE_IDS = [
'blog',
'warehouse',
'videos',
+ 'instructions',
'finance',
] as const
@@ -33,6 +34,7 @@ export const BUSINESS_DASHBOARD_MODULE_LABELS: Record<
blog: 'Blog',
warehouse: 'Warehouse',
videos: 'Videos',
+ instructions: 'Instructions',
finance: 'Finance',
}
diff --git a/docs/PROJECT_CONTEXT.md b/docs/PROJECT_CONTEXT.md
index 276f660..d51cf46 100644
--- a/docs/PROJECT_CONTEXT.md
+++ b/docs/PROJECT_CONTEXT.md
@@ -3,7 +3,7 @@
> **For AI agents:** Read this file at the start of a new chat before making changes.
> Update this document when a major feature is completed or architecture changes.
-Last updated: August 11, 2026
+Last updated: August 13, 2026
---
@@ -158,8 +158,10 @@ Add to `/etc/hosts` (one line per tenant):
| `/checkout/login` | Checkout sign-in step |
| `/checkout/cart` | Cart review |
| `/checkout/delivery` | Address or pickup |
-| `/checkout/payment` | Discount code + payment |
-| `/checkout/success` | Order confirmation |
+| `/checkout/payment` | Discount code + payment (online → bank redirect) |
+| `/checkout/result` | Bank return callback (`status`, `orderId`, payment meta) |
+| `/checkout/success` | Order confirmation (+ payment data when from gateway) |
+| `/checkout/failed` | Checkout / payment failure (+ payment data when present) |
| `/` | Home |
| `/profile` | Profile |
| `/addresses` | Addresses |
@@ -220,7 +222,7 @@ Add to `/etc/hosts` (one line per tenant):
| `/website/subscriptions` | Subscriptions | Placeholder |
| `/website/faq` | FAQ | Placeholder |
| `/website/badges` | Badges | Placeholder |
-| `/website/e-payment` | E-payment | Placeholder |
+| `/website/e-payment` | E-payment | Mellat credentials + multi-gateway stubs (SEP, Snapp Pay, DigiPay, Zarinpal) |
---