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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user