import { Schema, Document } from 'mongoose' import db from '../service/db' export interface IUTagModel extends Document { _id: string name: string } const TagSchema = new Schema( { _creatorId: { type: Schema.Types.ObjectId, ref: 'User', required: true }, _projectId: { type: Schema.Types.ObjectId, ref: 'Project' }, _organizationId: { type: Schema.Types.ObjectId, ref: 'Organization' }, tagcategoryIds: [ { type: Schema.Types.ObjectId, ref: 'Tagcategory' } ], name: { type: String, maxlength: 100 }, color: { type: String, default: 'blue', enum: ['gray', 'red', 'yellow', 'green', 'blue', 'purple', 'cyan'] }, isDeleted: { type: Boolean, default: false }, isArchived: { type: String, default: null }, created: { type: Date, default: Date.now }, updated: { type: Date } }, { read: 'secondaryPreferred', id: false, toObject: { virtuals: true, getters: true }, toJSON: { versionKey: false, virtuals: true, getters: true, transform(doc, ret, options) { delete ret.url delete ret.isDeleted // ret.isArchived = !!ret.isArchived return ret } } } ) export default db.model('Tag', TagSchema)