mirror of
https://git.meshkee.com/Meshkee/dashboards.git
synced 2026-08-11 22:30:58 +04:30
Harden invoice public links and tighten draft UI.
Use publicId in links, compact key-point/account labels, English business names, and readable favicon deploy perms. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
co-authored by
Cursor
parent
cbffb23ec3
commit
2e40d5eb4c
+5
-1
@@ -33,9 +33,13 @@ rsync -az --delete \
|
||||
ssh root@45.149.76.52 'cd /opt/meshkee/dashboards && npm ci && npm run build && \
|
||||
rsync -a --delete apps/super-admin/dist/ /var/www/meshkee/super-admin/ && \
|
||||
rsync -a --delete apps/business/dist/ /var/www/meshkee/business/ && \
|
||||
rsync -a --delete apps/customer/dist/ /var/www/meshkee/customer/'
|
||||
rsync -a --delete apps/customer/dist/ /var/www/meshkee/customer/ && \
|
||||
find /var/www/meshkee -type f -exec chmod a+r {} + && \
|
||||
find /var/www/meshkee -type d -exec chmod a+rx {} +'
|
||||
```
|
||||
|
||||
> **Note:** Source files like `favicon.png` must be world-readable (`644`). If they are `700`, Nginx returns **403** and browsers fall back to a default icon (often the Vite lightning bolt).
|
||||
|
||||
Build env on server (`apps/*/.env`):
|
||||
|
||||
- All: `VITE_API_BASE_URL=https://api.meshkee.com/api/v1`
|
||||
|
||||
@@ -318,6 +318,7 @@ Run in order from `MeshkeeApp Backend/database/migrations/`:
|
||||
| `037_invoice_name.sql` | Optional invoice name |
|
||||
| `038_invoice_templates.sql` | Full invoice templates + key points / accounts |
|
||||
| `039_invoice_account_holder.sql` | Account holder name on bank accounts |
|
||||
| `040_invoice_public_id.sql` | Opaque 12-digit `public_id` for public links |
|
||||
|
||||
After schema changes: `npx prisma generate` and restart the backend.
|
||||
|
||||
@@ -345,11 +346,12 @@ Two template layers + issued invoices:
|
||||
|
||||
**Public invoice viewer (platform):**
|
||||
- Route: super-admin SPA `/invoices/:id` (`PublicInvoicePage`) — glass layout, print-to-PDF, “Issued by” Meshkee footer
|
||||
- Local/dev link: current Vite origin (e.g. `https://meshkee.app:5174/invoices/{id}`)
|
||||
- Links use opaque **12-digit `publicId`** (not sequential PK) — `GET /public/invoices/:publicId`
|
||||
- Local/dev link: current Vite origin (e.g. `https://meshkee.app:5174/invoices/{publicId}`)
|
||||
- Production link domain: `VITE_INVOICE_PUBLIC_DOMAIN` / `INVOICE_PUBLIC_DOMAIN` (default `meshkee.com`) — optional full origin override via `*_PUBLIC_BASE_URL`
|
||||
- Until `meshkee.com` proxies or hosts `/invoices/*`, production links may need that DNS/nginx wiring (viewer code ships with super-admin build)
|
||||
|
||||
**Migrations:** `036_invoices.sql`, `037_invoice_name.sql`, `038_invoice_templates.sql`, `039_invoice_account_holder.sql`
|
||||
**Migrations:** `036_invoices.sql` … `040_invoice_public_id.sql`
|
||||
|
||||
**Super Admin UI:**
|
||||
- `/settings` — Invoice templates list + item templates (top text preview = one-line ellipsis)
|
||||
|
||||
Reference in New Issue
Block a user