feat(db/models): create dedicated private message inbox model
This commit is contained in:
parent
63dd3d063a
commit
38516dc80d
46
models/inbox.ts
Normal file
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",
|
||||
);
|
Loading…
Reference in New Issue
Block a user