Files
music-hub/packages/shared/src/validation/comment.ts
Robin Choice e420ed198b Initial commit: Music Hub collaboration platform
Full-stack music production collaboration tool with:
- SvelteKit frontend with Design System (CSS vars, 8 shared components)
- Hono API with auth, projects, tracks, versions, comments
- PostgreSQL + Drizzle ORM (8 tables, roles, permissions)
- S3-compatible storage with presigned upload URLs
- wavesurfer.js audio player with waveform visualization
- A/B version comparison with synchronized playback
- Timestamped comments with threading and resolve workflow
- Magic Link authentication with Resend email integration
- Background audio processing (ffmpeg transcode + waveform peaks)
- Role-based access control (Owner, Engineers, Artist, Label, Management, Viewer)
- Toast notifications, skeleton loading, responsive layout
- Docker deployment setup (API + Web + Postgres)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 13:23:10 +02:00

15 lines
441 B
TypeScript

import { z } from 'zod';
export const createCommentSchema = z.object({
body: z.string().min(1).max(5000),
timestampSeconds: z.number().nonnegative().optional(),
parentId: z.string().uuid().optional(),
});
export const updateCommentSchema = z.object({
body: z.string().min(1).max(5000),
});
export type CreateCommentInput = z.infer<typeof createCommentSchema>;
export type UpdateCommentInput = z.infer<typeof updateCommentSchema>;