Spaces:
Sleeping
Sleeping
File size: 988 Bytes
a29dc5e |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
const mongoose = require('mongoose');
const weeklyPracticeFileSchema = new mongoose.Schema({
type: {
type: String,
enum: ['source', 'translation'],
required: true
},
weekNumber: {
type: Number,
required: true,
index: true
},
// Optional link to a specific source file when type === 'translation'
sourceFileId: {
type: mongoose.Schema.Types.ObjectId,
ref: 'WeeklyPracticeFile'
},
// Uploader info (required for translations, optional for source uploads)
userId: {
type: String
},
username: {
type: String
},
fileName: {
type: String,
required: true
},
mimeType: {
type: String,
required: true
},
size: {
type: Number,
required: true
},
// Store the file contents in MongoDB as a Buffer
data: {
type: Buffer,
required: true
},
description: {
type: String
}
}, { timestamps: true });
module.exports = mongoose.model('WeeklyPracticeFile', weeklyPracticeFileSchema);
|