48 lines
808 B
TypeScript
48 lines
808 B
TypeScript
import mongoose, { Document } from "mongoose";
|
|
|
|
const folderSchema = new mongoose.Schema(
|
|
{
|
|
name: {
|
|
type: String,
|
|
required: true,
|
|
},
|
|
|
|
parent: {
|
|
type: String,
|
|
required: true,
|
|
},
|
|
|
|
owner: {
|
|
type: String,
|
|
required: true,
|
|
},
|
|
|
|
parentList: {
|
|
type: Array,
|
|
required: true,
|
|
},
|
|
personalFolder: Boolean,
|
|
trashed: Boolean,
|
|
},
|
|
{
|
|
timestamps: true,
|
|
}
|
|
);
|
|
|
|
export interface FolderInterface
|
|
extends mongoose.Document<mongoose.Types.ObjectId> {
|
|
name: string;
|
|
parent: string;
|
|
owner: string;
|
|
createdAt: Date;
|
|
updatedAt: Date;
|
|
parentList: string[];
|
|
_doc?: any;
|
|
personalFolder?: boolean;
|
|
trashed: boolean | null;
|
|
}
|
|
|
|
const Folder = mongoose.model<FolderInterface>("Folder", folderSchema);
|
|
|
|
export default Folder;
|