managarten/apps/todo/apps/backend
Till-JS 74604b09d3 feat(todo): add deep validation for DTOs and completed task pagination
Validation:
- Create SubtaskDto with title MinLength/MaxLength, order validation
- Create TaskMetadataDto with typed EffectiveDuration, storyPoints enum
  validation (Fibonacci only), funRating bounds (1-10)
- Use @ValidateNested with @Type() for deep validation in CreateTaskDto

Pagination:
- Add offset parameter and total count to getCompletedTasks()
- Return { tasks, total, hasMore } structure for frontend pagination
- Enforce max limit of 100 to prevent abuse
- Add 3 pagination tests (basic, offset, max enforcement)

Error handling:
- Add try-catch to localStorage operations in +layout.svelte
- Handles private browsing mode and quota exceeded errors gracefully

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-10 21:12:07 +01:00
..
src feat(todo): add deep validation for DTOs and completed task pagination 2025-12-10 21:12:07 +01:00
docker-entrypoint.sh 🚀 ci: add Docker deployment for Manacore, Todo, Calendar, and Clock apps 2025-12-08 16:04:50 +01:00
Dockerfile 🚀 ci: add Docker deployment for Manacore, Todo, Calendar, and Clock apps 2025-12-08 16:04:50 +01:00
drizzle.config.ts feat(contacts): add import/export with Google Contacts integration 2025-12-03 15:54:31 +01:00
jest.config.js fix(todo-backend): implement recurrence handling and fix N+1 query 2025-12-10 21:12:06 +01:00
nest-cli.json feat(contacts): add import/export with Google Contacts integration 2025-12-03 15:54:31 +01:00
package.json fix(todo-backend): implement recurrence handling and fix N+1 query 2025-12-10 21:12:06 +01:00
tsconfig.json feat(contacts): add import/export with Google Contacts integration 2025-12-03 15:54:31 +01:00