EventBuzz_Backend/src/models/AiAvatarOutput.js

42 lines
1.1 KiB
JavaScript

const mongoose = require('mongoose');
/** Minimal record for public file proxy — not listed in admin UI. */
const aiAvatarOutputSchema = new mongoose.Schema(
{
aiAvatar: {
type: mongoose.Schema.Types.ObjectId,
ref: 'AiAvatar',
required: true,
},
event: {
type: mongoose.Schema.Types.ObjectId,
ref: 'Event',
required: true,
},
organization: {
type: mongoose.Schema.Types.ObjectId,
ref: 'Organization',
required: true,
},
template: {
type: mongoose.Schema.Types.ObjectId,
ref: 'AiAvatarTemplate',
required: true,
},
/** Visitor selfie */
url: { type: String, required: true },
s3Key: { type: String, required: true },
/** WaveSpeed result */
resultUrl: { type: String, default: null },
resultS3Key: { type: String, default: null },
mimeType: { type: String },
size: { type: Number },
originalFileName: { type: String },
},
{ timestamps: true },
);
aiAvatarOutputSchema.index({ aiAvatar: 1, createdAt: -1 });
module.exports = mongoose.model('AiAvatarOutput', aiAvatarOutputSchema);