1794ab0416701d19ff3c1077c351eb87a1549bce
Implemented full CRUD for the clients router: - clients.list: returns all clients ordered by name - clients.create: inserts with UUID + createdAt timestamp - clients.update: partial update of name and/or industry - clients.delete: guard check — returns error payload if client has sub-clients or projects (does not delete) - clients.deleteWithCascade: BFS recursion to collect all descendant clients, nulls projectId on orphaned tasks, then deletes projects and all collected clients in order Imports added: eq, asc, inArray from drizzle-orm; getDb and schema tables (clients, projects, tasks) from db module. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Description
No description provided
Languages
TypeScript
97.9%
CSS
2%