// task.js // Copyright (C) 2024 DTP Technologies, LLC // All Rights Reserved 'use strict'; import mongoose from 'mongoose'; const Schema = mongoose.Schema; const STATUS_LIST = ['pending', 'active', 'finished']; const TaskSchema = new Schema({ created: { type: Date, required: true, default: Date.now, index: 1 }, finished: { type: Date, index: 1 }, duration: { type: Number, default: 0, required: true }, user: { type: Schema.ObjectId, required: true, index: 1, ref: 'User' }, client: { type: Schema.ObjectId, required: true, index: 1, ref: 'Client' }, project: { type: Schema.ObjectId, required: true, index: 1, ref: 'ClientProject' }, status: { type: String, enum: STATUS_LIST, default: 'pending', required: true }, note: { type: String, required: true }, }); export default mongoose.model('Task', TaskSchema);