file-upload-presign
File Upload — Presigned URL
Full design doc with flow diagrams:
apps/erify_api/docs/FILE_UPLOAD.md
Key Files
| Layer | Path |
|---|---|
| API contract | packages/api-types/src/uploads/schemas.ts |
| Backend service | apps/erify_api/src/uploads/upload.service.ts |
| Backend controller | apps/erify_api/src/uploads/upload.controller.ts |
| Shared browser upload utils | packages/browser-upload/src/index.ts |
| Compression worker | packages/browser-upload/src/image-compress.worker.ts |
| Frontend API utils | apps/erify_studios/src/features/tasks/api/presign-upload.ts |
| Frontend form | apps/erify_studios/src/components/json-form/json-form.tsx |
How It Works (Summary)
- Client calls
POST /uploads/presignwith{ use_case, mime_type, file_size, file_name, [task_id, field_key] }
More from allenlin90/eridu-services
service-pattern-nestjs
Comprehensive NestJS service implementation patterns. This skill should be used when implementing Model Services, Orchestration Services, or business logic with NestJS decorators.
8erify-authorization
Patterns for implementing authorization in erify_api with current StudioMembership + AdminGuard behavior, plus planned RBAC references
6data-validation
Provides comprehensive guidance for input validation, data serialization, and ID management in backend APIs. This skill should be used when designing validation schemas, transforming request/response data, mapping database IDs to external identifiers, and ensuring type safety across API boundaries.
6code-quality
Provides general code quality and best practices guidance applicable across languages and frameworks. Focuses on linting, testing, and type safety.
6repository-pattern-nestjs
Comprehensive Prisma repository implementation patterns for NestJS. This skill should be used when implementing repositories that extend BaseRepository or use Prisma delegates.
6task-template-builder
Provides guidelines for the Task Template Builder architecture, including Schema alignment, Draft storage, Drag-and-Drop, and Validation logic.
6