4 Commits

Author SHA1 Message Date
35b3f98d5f feat: free-access whitelist + admin panel
- freeAccessStore.js: JSON-persisted whitelist of shops with optional
  expiry dates; isShopAllowed(), addShop(), removeShop(), listShops()
- routes/adminPanel.js: password-protected single-page admin dashboard
  served at /d4a-admin; cookie-based session auth (no extra deps);
  add / remove / list shops with expiry dates and notes
- server.js: mount /d4a-admin panel; expose GET /free-access/:shop
  public API for frontend loaders; import freeAccessStore

Credentials: d4a-admin / Data4autos@2026.
Migrates racewerksengg.myshopify.com from hardcode into the JSON store.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-11 13:19:06 +05:30
6582ec5641 feat: add live import progress tracking with job store
- Add jobStore.js: in-memory job store with rich job objects (liveStats,
  logs, errors, cancellation, timing, success rate)
- Rewrite manageProducts.js: structured logging ([STATS], [PRODUCT-OK],
  [PRODUCT-FAIL], [SKIP], [FETCH], [CANCEL], etc.), per-product cancel
  checks, jobStore integration
- server.js: expose GET /health, GET /jobs, GET /jobs/:id,
  POST /jobs/:id/cancel, GET /shops endpoints
- tokenStore.js: add listTokens() export

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-10 02:22:58 +05:30
Manesh
abd0d8b7a5 Servre 2026-04-17 21:16:29 +00:00
Manesh
624c2f2d32 first commit 2026-04-13 05:23:25 +00:00