Files
Todo_Admin/Backend/models/Todo.js
2025-12-30 19:44:14 +05:30

55 lines
958 B
JavaScript

import mongoose from 'mongoose';
const todoSchema = new mongoose.Schema({
title: {
type: String,
required: true,
trim: true,
maxlength: 200
},
description: {
type: String,
trim: true,
maxlength: 1000
},
completed: {
type: Boolean,
default: false
},
priority: {
type: String,
enum: ['low', 'medium', 'high'],
default: 'medium'
},
dueDate: {
type: Date,
required: true
},
userId: {
type: mongoose.Schema.Types.ObjectId,
ref: 'User',
required: true
},
assignedBy: {
type: mongoose.Schema.Types.ObjectId,
ref: 'User',
required: false
},
status: {
type: String,
enum: ['pending', 'in-progress', 'submitted', 'completed'],
default: 'pending'
},
submittedAt: {
type: Date,
required: false
},
completedAt: {
type: Date,
required: false
}
}, {
timestamps: true
});
export default mongoose.model('Todo', todoSchema);