mohmdsdg and Cursor
e98831f0f9
feat: add npm run update for safe API deploys
...
Ship schema to replicas without the data repair that disables subscriptions and stalls replication.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-11-07 17:15:12 +03:30
mohmdsdg
882b6dba26
fix(plugins): cache-bust enable_automation image to enable_automation_v2.png to clear CDN/browser cache
2026-11-07 12:24:08 +03:30
mohmdsdg
5d4fda6b8e
fix(plugins): update enable_automation title, description and preview to periodic sms automation
2026-11-07 12:19:24 +03:30
mohmdsdg
d58edfc123
feat(plugins): add preview images and auto-copy to uploads on seed update
2026-11-05 18:12:23 +03:30
mohmdsdg
a1d2c222bd
adde images to plugins
2026-11-05 18:01:08 +03:30
Mahdi and Cursor
97815aba76
fix: harden Excel export (StreamableFile + clearer errors)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-27 21:00:48 +03:30
Mahdi and Cursor
9b11617eab
feat: Excel export of all projects for full-access admins
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-27 20:44:29 +03:30
mohmdsdg
a98fdb8d9e
feat(remittance): add enable_remittance plugin setting to catalog and seeds
2026-10-27 18:07:10 +03:30
mohmdsdg
f0989e03e3
added chart plugin in khanegi superadmin
2026-10-21 11:13:32 +03:30
mohmdsdg
47d210bd7d
added chart plugin in khanegi superadmin
2026-10-21 11:13:24 +03:30
Mahdi and Cursor
11887bc5ed
feat(get-user): expose Hamkar menu icon brand colors
...
Emit menu_icon_color and menu_icon_active_color when brandManaged so apps can theme nav icons separately.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-14 18:06:24 +03:30
Mahdi and Cursor
9031135797
feat(get-user): emit brand_chrome for Hamkar brandManaged opt-in
...
Expose brand_chrome so apps apply header/menu/body colors only after SuperAdmin color save.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-14 17:04:35 +03:30
mohmdsdg
7521c69c11
added main page config
2026-10-13 19:28:57 +03:30
mohmdsdg
421415fc30
added main page config
2026-10-13 19:28:45 +03:30
mohmdsdg
4881ce2f30
fix landing and logo border show
2026-10-12 21:55:24 +03:30
Mahdi and Cursor
30dc83890b
feat: granular hamkar/khanegi permissions (manage / settings / appearance)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-07 20:48:32 +03:30
Mahdi and Cursor
674da4e939
feat: add 'other' product type for miscellaneous sites (tracking only, no remote control)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-07 16:52:23 +03:30
mohmdsdg and Cursor
0c29222e9d
Expose the price-channel per-product message template.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-04 20:42:56 +03:30
mohmdsdg
e862ffd6da
chore: sync project updates
2026-09-28 14:12:22 +03:30
mohmdsdg and Copilot
233f5e7d01
chore: sync graphify and UI updates
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-09-22 11:36:10 +03:30
mohmdsdg and Cursor
e0dd53d639
Reclaim tenant aliases from every other version, not only the same product.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-20 18:20:07 +03:30
mohmdsdg
6ba6a9cd45
fix some extention bug
2026-09-16 13:44:58 +03:30
mohmdsdg and Cursor
cf92635c0e
Fix plugin purchase 500 when subscription catalog columns are missing.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-10 10:33:48 +03:30
mohmdsdg and Cursor
6cc10e3333
Fix plugin store public controller param order so nest build succeeds.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-10 10:24:31 +03:30
mohmdsdg
a78636d32e
fix super admin
2026-09-10 10:04:55 +03:30
mohmdsdg and Cursor
bcf4724ac4
fix plugin store remote: find tenant by admin URL and allow purchase
...
HMAC k.montzar.ir matches the version that uses that admin panel. Remote buy is no longer blocked by plugin_store_enabled.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-09 22:17:44 +03:30
mohmdsdg and Cursor
38337c62d7
test: build HMAC tenant fixtures from domain, drop product URLs
...
HMAC identity tests should not hardcode gholak/montzar hosts.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-09 22:12:21 +03:30
mohmdsdg and Cursor
82e74f86f0
fix remote HMAC: match tenant domain only, not shared adminUrl
...
k.montzar.ir on Gholaktala adminUrl was selecting tenant app.gholaktala.ir. HMAC now uses primary domain (and its subdomain), not admin/app/node URLs.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-09 22:07:40 +03:30
mohmdsdg and Cursor
3f0dfe448c
fix remote HMAC: identify tenant by domain, not shared nodeServer
...
new.gholaktala.ir is the API host of many versions. Prefer subdomain of the product domain and refuse ambiguous nodeServer ties. 403 names the matched tenant.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-09 21:53:11 +03:30
mohmdsdg
502b0c8b24
fix pluggin bug 3
2026-09-09 20:57:14 +03:30
mohmdsdg
bd12337f6e
fix pluggin bug 2
2026-09-09 20:19:01 +03:30
mohmdsdg
08f648457f
fix pluggin bug
2026-09-09 17:04:33 +03:30
mohmdsdg
58744d0f91
added some feature for plugin
2026-09-08 18:00:56 +03:30
mohmdsdg and Cursor
67a03d9593
feat(plugins): catalog images and purchase receipt uploads
...
Catalog items can store up to three photos; remote tenants attach a receipt on pending requests.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 14:56:09 +03:30
mohmdsdg and Cursor
18ac137e25
fix(plugins): seed all SuperAdmin khanegi setting keys into the store catalog
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 11:00:59 +03:30
mohmdsdg and Cursor
94d79c175b
fix(plugins): match remote HMAC tenants with the same host rules as get_user
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 10:50:40 +03:30
mohmdsdg and Cursor
2d43ce6c29
Prefer exact tenant domain over shared nodeServer for remote HMAC auth.
...
Stops demo and shop rows that share one API URL from colliding, and skips phone-like adminUrl values when resolving X-Abshode-Domain.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-07 22:47:42 +03:30
mohmdsdg and Cursor
dd212d01ed
fix(plugins): resolve remote tenant from admin and app URLs
...
HMAC only matched tenant.domain, so k.montzar.ir / new.gholaktala.ir missed the row. Also return an empty store when catalog tables are missing.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-07 21:54:03 +03:30
mohmdsdg and Cursor
a7747366f9
fix(uploads): keep absolute nerkh logo URLs intact
...
Only resolve relative /uploads/ paths; rewriting legacy hosts to SuperAdmin broke logos that still live on nerkh.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-07 20:10:07 +03:30
mohmdsdg and Cursor
0c4f88debf
fix(plugins): loosen plugin summary types for partial selects
...
Allow list/expiring helpers to map rows that omit store columns so nest build passes after prisma generate.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-07 19:57:18 +03:30
mohmdsdg and Cursor
b3112cf032
fix(plugins): per-tenant plugin store flag and harden broken schema APIs
...
Store enablement is now a tenant settings row instead of a global runtime switch, and expiring/requests endpoints degrade to empty lists when store tables are missing.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-07 19:51:11 +03:30
mohmdsdg and Cursor
1f776cf6e2
feat(plugins): sell khanegi plugins as priced subscriptions
...
Catalog prices, purchase requests, and setting-key activation live on SuperAdmin so module admins can buy add-ons. Also rewrite legacy nerkh logo hosts to the SuperAdmin upload origin.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-07 16:56:51 +03:30
mohmdsdg and Cursor
ccf7e90922
feat: catalog has_landing and landing_* for SuperAdmin
...
Expose the website landing flag and content keys in the deploy setting template.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 17:01:54 +03:30
mohmdsdg and Cursor
09218ee1e2
Add enable_gold_credit to SuperAdmin setting catalog.
...
Default the per-tenant gold credit access flag to false so projects opt in explicitly.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-30 00:17:45 +03:30
mohmdsdg and Cursor
93202a3c18
fix(tenants): cast Prisma unique error for TS narrowing
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-27 20:26:16 +03:30
mohmdsdg and Cursor
cea281bb3d
fix(tenants): narrow Prisma unique-error type for strict build
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-27 20:25:59 +03:30
mohmdsdg and Cursor
93a7775887
fix(tenants): remove extra brace breaking nest build
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-27 20:25:38 +03:30
mohmdsdg and Cursor
3034c59319
fix(build): ship jalaali types with production dependencies
...
Move @types/jalaali-js into dependencies and add a local module declaration so nest build works when installing without devDependencies.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-27 18:59:38 +03:30
mohmdsdg and Cursor
edfbdb3469
fix(tenants): clearer duplicate slug/domain errors on create
...
Pre-check uniqueness and report which field conflicts with which existing version; strip primary domain from aliases.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-27 18:47:38 +03:30
mohmdsdg
ff7e24b2c1
feat(settings): include enamad_logo in deploy setting catalog keys
...
Allow enamad_logo to sync through the program settings catalog.
2026-08-24 19:39:37 +03:30