Commit Graph
684 Commits
Author SHA1 Message Date
safavimohadeseh78 bdf70a4c05 feat: automatic instant Jibit verification on customer profile update without admin manual approval 2026-11-10 14:33:09 +03:30
safavimohadeseh78andCursor 487d899ded feat(admin): gift card codes usage report API
Expose codes-usage-report endpoint with per-code usage counts and filter-aware summary for admin reporting.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-11-10 11:48:23 +03:30
safavimohadeseh78 885e51a79b feat: add deposit receipt upload and admin approval/rejection workflow with SMS 2026-11-08 13:26:28 +03:30
safavimohadeseh78 808c272e0c fix: resolve copper unit kilogram display and asset valuation calculations 2026-11-07 12:24:19 +03:30
safavimohadeseh78 7dd5304638 feat: shayegan inbound charges workflow and copper kilogram unit enforcement 2026-11-05 17:15:38 +03:30
safavimohadeseh78andCursor e65b8053fd fix(customer): use next free id instead of stale AUTO_INCREMENT after manual id edits
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-11-05 11:20:24 +03:30
safavimohadeseh78 9ec71efcbb change accounting-number 2026-11-04 11:56:53 +03:30
safavimohadeseh78andCursor 21da78943c feat(price): broadcast world copper and free-dollar ton and kilo quotes
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-11-03 19:57:36 +03:30
safavimohadeseh78andCursor 9769f2ffad feat(convert): let customers list and change pending requests
History is limited to the signed-in customer. Update and delete only apply while the request is still pending.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-11-03 13:04:08 +03:30
safavimohadeseh78andCursor 7b81adc096 fix(price-trigger): store the selected product instead of defaulting to gold
Only a real numeric product id is saved, and an empty alert title no longer falls back to gold.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-11-02 18:20:13 +03:30
safavimohadeseh78andCursor e0216d35a6 fix(shayegan): return the document list in the shared table shape
The admin table expects rows and query from TableEngine instead of a custom page payload.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-11-02 13:24:01 +03:30
safavimohadeseh78andCursor 97865a98fc fix(shayegan): register customers as floating detail jobs
Customer accounts are not sub-accounts of moin 12101. Send Job/Put with JobNumber moin plus customer id.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-11-02 13:05:53 +03:30
safavimohadeseh78andCursor 3b689a24f6 fix(shayegan): build the account number as moin plus customer id
Customer 530 with moin 12101 is sent as 12101530 again.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-11-02 11:49:47 +03:30
safavimohadeseh78andCursor 77a448e4e1 fix(shayegan): send the account number as customer id plus moin
Hesabgar kept generating a number when UpdateKind was 3. Insert with account type 1 and send 53012101.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-11-02 11:35:33 +03:30
safavimohadeseh78 8ccdea99c8 . 2026-11-02 11:21:36 +03:30
safavimohadeseh78andCursor 1cd6c61e0f fix(shayegan): send the customer detail code on account create
Hesabgar fails when it must invent the account number. Send the subsidiary code plus the customer id as AccountNumber.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-11-02 10:57:57 +03:30
safavimohadeseh78andCursor c96e5820fe feat(convert): text the customer when a convert request is approved or rejected
The message goes out after the result is saved, and a send failure does not undo the approval or rejection.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-11-01 13:44:48 +03:30
safavimohadeseh78 3f59af5a6d change copperConvertPage 2026-11-01 12:42:14 +03:30
safavimohadeseh78 9528056036 feat(shayegan): per-product item code and auto customer Account/Put 2026-10-28 16:51:47 +03:30
safavimohadeseh78 25ee47b473 digipay 2026-10-20 10:11:03 -04:00
safavimohadeseh78 f26fd1d86e changes of giftCard page 2026-10-20 12:09:20 +03:30
safavimohadeseh78 755243bfa2 Administrator Access 2026-10-20 10:52:02 +03:30
safavimohadeseh78 a5f3b3b4b3 . 2026-10-20 10:26:45 +03:30
safavimohadeseh78 4d0f0f8c8d fix(auth): require verified identity for wallet and gift card 2026-10-20 09:10:01 +03:30
safavimohadeseh78 b91dbccb3d final changes 2026-10-19 12:50:26 +03:30
safavimohadeseh78 489662eb38 fix bug of main-page for guest 2026-10-17 14:10:11 +03:30
safavimohadeseh78 8b13908bac shayegan 2026-10-17 11:23:03 +03:30
safavimohadeseh78 5b431c64a6 set log for test shayegan 2026-10-17 10:28:01 +03:30
safavimohadeseh78 f1c68d955d . 2026-10-06 13:40:00 +03:30
safavimohadeseh78andCursor a42261c06e feat(accounting): add Shayegan as fixed boursecu provider
Wire outbound Invoice/Document sync after confirmed ops, store sync status with timeout lock, and keep SQL credentials out of frontend responses.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-05 17:12:43 +03:30
safavimohadeseh78 698fbed805 change gift-card 2026-09-21 11:09:40 +03:30
safavimohadeseh78 ba2ac5aefe change the giftcard logic 2026-09-20 15:48:53 +03:30
safavimohadeseh78 aecbd5b3bf changes of giftcard 2026-09-12 10:12:43 +03:30
safavimohadeseh78 f3202ee89e feat(giftcard): redeem metal unit=2 into main wallet gold 2026-09-09 20:58:24 +03:30
safavimohadeseh78 0fa2b4d1f5 feat(giftcard): add customer giftcard/mine endpoint; fix admin/app password digit normalization 2026-09-09 16:57:20 +03:30
safavimohadeseh78 741faa38fb . 2026-09-08 14:06:28 +03:30
safavimohadeseh78 7cd7261055 mamad 2026-09-06 20:07:26 +03:30
safavimohadeseh78andCursor 37b94ed32a Add create migrations for giftcards and giftcard_codes so new installs get both tables.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-06 19:22:53 +03:30
mohmdsdg 5c955a06a3 fixed bug of transaction 2026-09-06 15:29:11 +03:30
mohmdsdgandCursor c7ca410b31 fix(wallet): allow discharging leftover fractional count-product gold
Admin charge can now wipe the exact remaining balance when a count product has a leftover decimal amount.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-06 13:40:52 +03:30
mohmdsdgandCursor 034d18b690 fix(orders): cover with colleague only for main_wallet_products
Silver and other non-main products settle locally instead of posting to Montzar.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-06 11:49:20 +03:30
mohmdsdgandCursor 4ef2de8583 fix(products): force direct_price=1 when saving a manual price
Keeps weight-based live enrich from replacing an explicit stored mid price.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-06 11:38:46 +03:30
mohmdsdgandCursor 00b23ac404 feat(tahesab,colleague): push app balance to Tahesab and always wait callback
Add admin decision to write app wallet onto Tahesab even when zero, always await colleague callback regardless of the wait switch, and SMS admins on colleague reject.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 22:30:56 +03:30
mohmdsdgandCursor 8cee34bfba feat: landing settings, instant withdraw deduct, and OTP site URL
Add has_landing plus landing_* deploy keys, deduct balance on withdraw request, keep app_url for SMS login links, and clarify Zarin rial wallet document titles.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 17:01:39 +03:30
mohmdsdgandCursor 1c7ea16300 fix(sse): send per-product trade_open from server trading hours
The list stream must tell clients whether each product is open so the device clock cannot reopen a closed shop.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 12:58:14 +03:30
mohmdsdgandCursor 166764d6b8 fix(sse): isolate price stream inbox per tenant
Shared Redis global inbox mixed other shops' product lists into this catalog and made the grid jump.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 10:58:43 +03:30
mohmdsdgandCursor e4e9c74872 fix(product): separate list and TV visibility toggles
Product active toggle now drives show_in_list; TV has its own endpoint and no longer requires active.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 10:16:35 +03:30
mohmdsdgandCursor f3eaf91559 feat(pargar): prune inbound logs via MySQL INSERT trigger
Run one-time overflow cleanup on migrate and keep mande/document success
rows capped at 2000 with an AFTER INSERT trigger, without cron or manual SQL.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 20:24:44 +03:30
mohmdsdgandCursor 3b7db1eb72 feat(tahesab): reset local success flags when remote docs were wiped
Clear tahesab_id on locally successful rows so they re-enter the send queue without touching panel customer codes.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 13:43:16 +03:30
mohmdsdgandCursor d65bbce791 fix(settings): resolve superadmin domain from Origin before API host
Split frontends like my.goldarvin.ir were waiting on 404 retries for the API hostname, which made get_settings take ~16s.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 10:55:58 +03:30