feat(db/models): create dedicated private message inbox model

This commit is contained in:
parent 63dd3d063a
commit 38516dc80d
Signed by: tablet
GPG Key ID: 924A5F6AF051E87C

46
models/inbox.ts Normal file

@ -0,0 +1,46 @@
import mongoose, {
Schema,
connect,
PopulatedDoc,
Document,
Model,
} from "mongoose";
import SequenceFactory from "mongoose-sequence";
import { IPrivMsg } from "./privMsg";
export interface IInbox {
_id: number;
saved: PopulatedDoc<IPrivMsg & Document>[];
received: PopulatedDoc<IPrivMsg & Document>[];
sent: PopulatedDoc<IPrivMsg & Document>[];
}
const InboxSchema = new Schema<IInbox>({
_id: {
type: Number,
},
saved: [
{
type: Number,
ref: "PrivMsg",
},
],
received: [
{
type: Number,
ref: "PrivMsg",
},
],
sent: [
{
type: Number,
ref: "PrivMsg",
},
],
});
export const Inbox: Model<IInbox> = mongoose.model<IInbox>(
"Inbox",
InboxSchema,
"inboxes",
);