director-ai / server /src /models /Project.ts
algorembrant's picture
Upload 79 files
11f4e50 verified
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);