14787bab10bf6ea970d026e194580ad61f69c2c4
- ClientView interface enforces admin data exclusion: no quote_items, no service prices - getClientView() queries clients.token, phases, tasks, deliverables, payments, documents, notes - inArray() scoping prevents full table scan on tasks and deliverables - accepted_total: client.accepted_total ?? '0' null coalescing - Progress percentages calculated server-side (per-phase + global) - Payment amount intentionally excluded — only label and status returned to client
Description
ClientHub portale clienti
Languages
TypeScript
98.2%
CSS
1.1%
Dockerfile
0.4%
JavaScript
0.3%