| import mongoose, { Schema, Document } from 'mongoose'; | |
| export interface IProject extends Document { | |
| userId: mongoose.Types.ObjectId; | |
| name: string; | |
| defaultPlatform: 'TikTok' | 'Reels' | 'Shorts' | 'YouTube'; | |
| defaultFormat: '9:16' | '16:9' | '1:1'; | |
| videos: mongoose.Types.ObjectId[]; | |
| createdAt: Date; | |
| } | |
| const ProjectSchema = new Schema<IProject>({ | |
| userId: { | |
| type: Schema.Types.ObjectId, | |
| ref: 'User', | |
| required: true, | |
| }, | |
| name: { | |
| type: String, | |
| required: true, | |
| trim: true, | |
| }, | |
| defaultPlatform: { | |
| type: String, | |
| enum: ['TikTok', 'Reels', 'Shorts', 'YouTube'], | |
| default: 'TikTok', | |
| }, | |
| defaultFormat: { | |
| type: String, | |
| enum: ['9:16', '16:9', '1:1'], | |
| default: '9:16', | |
| }, | |
| videos: [{ | |
| type: Schema.Types.ObjectId, | |
| ref: 'Video', | |
| }], | |
| createdAt: { | |
| type: Date, | |
| default: Date.now, | |
| }, | |
| }); | |
| export const Project = mongoose.model<IProject>('Project', ProjectSchema); | |