Compare commits
	
		
			2 Commits
		
	
	
		
			main
			...
			deathmark-
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 6155ccb416 | |||
| 31a9fd3620 | 
@ -5,7 +5,7 @@ import { IMongoDate, IOid } from "@/src/types/commonTypes";
 | 
				
			|||||||
import { ITypeCount } from "@/src/types/inventoryTypes/inventoryTypes";
 | 
					import { ITypeCount } from "@/src/types/inventoryTypes/inventoryTypes";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export interface IMessageClient
 | 
					export interface IMessageClient
 | 
				
			||||||
    extends Omit<IMessageDatabase, "_id" | "date" | "startDate" | "endDate" | "ownerId" | "attVisualOnly"> {
 | 
					    extends Omit<IMessageDatabase, "_id" | "date" | "startDate" | "endDate" | "ownerId" | "attVisualOnly" | "expiry"> {
 | 
				
			||||||
    _id?: IOid;
 | 
					    _id?: IOid;
 | 
				
			||||||
    date: IMongoDate;
 | 
					    date: IMongoDate;
 | 
				
			||||||
    startDate?: IMongoDate;
 | 
					    startDate?: IMongoDate;
 | 
				
			||||||
@ -16,6 +16,8 @@ export interface IMessageClient
 | 
				
			|||||||
export interface IMessageDatabase extends IMessage {
 | 
					export interface IMessageDatabase extends IMessage {
 | 
				
			||||||
    ownerId: Types.ObjectId;
 | 
					    ownerId: Types.ObjectId;
 | 
				
			||||||
    date: Date; //created at
 | 
					    date: Date; //created at
 | 
				
			||||||
 | 
					    attVisualOnly?: boolean;
 | 
				
			||||||
 | 
					    expiry?: Date;
 | 
				
			||||||
    _id: Types.ObjectId;
 | 
					    _id: Types.ObjectId;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -30,7 +32,6 @@ export interface IMessage {
 | 
				
			|||||||
    endDate?: Date;
 | 
					    endDate?: Date;
 | 
				
			||||||
    att?: string[];
 | 
					    att?: string[];
 | 
				
			||||||
    countedAtt?: ITypeCount[];
 | 
					    countedAtt?: ITypeCount[];
 | 
				
			||||||
    attVisualOnly?: boolean;
 | 
					 | 
				
			||||||
    transmission?: string;
 | 
					    transmission?: string;
 | 
				
			||||||
    arg?: Arg[];
 | 
					    arg?: Arg[];
 | 
				
			||||||
    gifts?: IGift[];
 | 
					    gifts?: IGift[];
 | 
				
			||||||
@ -137,14 +138,14 @@ messageSchema.virtual("messageId").get(function (this: IMessageDatabase) {
 | 
				
			|||||||
messageSchema.set("toJSON", {
 | 
					messageSchema.set("toJSON", {
 | 
				
			||||||
    virtuals: true,
 | 
					    virtuals: true,
 | 
				
			||||||
    transform(_document, returnedObject) {
 | 
					    transform(_document, returnedObject) {
 | 
				
			||||||
        delete returnedObject.ownerId;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        const messageDatabase = returnedObject as IMessageDatabase;
 | 
					        const messageDatabase = returnedObject as IMessageDatabase;
 | 
				
			||||||
        const messageClient = returnedObject as IMessageClient;
 | 
					        const messageClient = returnedObject as IMessageClient;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        delete returnedObject._id;
 | 
					        delete returnedObject._id;
 | 
				
			||||||
        delete returnedObject.__v;
 | 
					        delete returnedObject.__v;
 | 
				
			||||||
 | 
					        delete returnedObject.ownerId;
 | 
				
			||||||
        delete returnedObject.attVisualOnly;
 | 
					        delete returnedObject.attVisualOnly;
 | 
				
			||||||
 | 
					        delete returnedObject.expiry;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        messageClient.date = toMongoDate(messageDatabase.date);
 | 
					        messageClient.date = toMongoDate(messageDatabase.date);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -157,5 +158,6 @@ messageSchema.set("toJSON", {
 | 
				
			|||||||
});
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
messageSchema.index({ ownerId: 1 });
 | 
					messageSchema.index({ ownerId: 1 });
 | 
				
			||||||
 | 
					messageSchema.index({ expiry: 1 }, { expireAfterSeconds: 0 });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export const Inbox = model<IMessageDatabase>("Inbox", messageSchema, "inbox");
 | 
					export const Inbox = model<IMessageDatabase>("Inbox", messageSchema, "inbox");
 | 
				
			||||||
 | 
				
			|||||||
@ -372,10 +372,10 @@ export const addMissionInventoryUpdates = async (
 | 
				
			|||||||
                                sndr: "/Lotus/Language/G1Quests/DeathMarkSender",
 | 
					                                sndr: "/Lotus/Language/G1Quests/DeathMarkSender",
 | 
				
			||||||
                                msg: "/Lotus/Language/G1Quests/DeathMarkMessage",
 | 
					                                msg: "/Lotus/Language/G1Quests/DeathMarkMessage",
 | 
				
			||||||
                                icon: "/Lotus/Interface/Icons/Npcs/Stalker_d.png",
 | 
					                                icon: "/Lotus/Interface/Icons/Npcs/Stalker_d.png",
 | 
				
			||||||
                                highPriority: true
 | 
					                                highPriority: true,
 | 
				
			||||||
 | 
					                                expiry: new Date(Date.now() + 86400_000) // TOVERIFY: This type of inbox message seems to automatically delete itself. We'll just delete it after 24 hours, but it's clear if this is correct.
 | 
				
			||||||
                            }
 | 
					                            }
 | 
				
			||||||
                        ]);
 | 
					                        ]);
 | 
				
			||||||
                        // TODO: This type of inbox message seems to automatically delete itself. Figure out under which conditions.
 | 
					 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                inventory.DeathMarks = value;
 | 
					                inventory.DeathMarks = value;
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user