tinfo-web-server / models /Document.js
Faridaqurr
initial backend
e8c33fa
Raw
History Blame Contribute Delete
1.01 kB
const mongoose = require('mongoose');
const documentSchema = new mongoose.Schema(
{
fileId: {
type: mongoose.Schema.Types.ObjectId,
required: true,
unique: true,
index: true,
},
filename: {
type: String,
required: true,
trim: true,
},
originalName: {
type: String,
required: true,
trim: true,
},
mimeType: {
type: String,
required: true,
trim: true,
},
size: {
type: Number,
required: true,
min: 0,
},
category: {
type: String,
default: 'general',
trim: true,
},
description: {
type: String,
default: '',
trim: true,
},
uploadedBy: {
type: mongoose.Schema.Types.ObjectId,
ref: 'AdminUser',
default: null,
},
},
{ timestamps: true }
);
documentSchema.index({ createdAt: -1 });
documentSchema.index({ category: 1, createdAt: -1 });
module.exports = mongoose.model('Document', documentSchema);