diff --git a/src/services/guildService.ts b/src/services/guildService.ts index 61e64465..db6f1525 100644 --- a/src/services/guildService.ts +++ b/src/services/guildService.ts @@ -175,6 +175,9 @@ export const getDojoClient = async ( } if (dojoComponent.CompletionTime) { clientComponent.CompletionTime = toMongoDate(dojoComponent.CompletionTime); + clientComponent.TimeRemaining = Math.trunc( + (dojoComponent.CompletionTime.getTime() - Date.now()) / 1000 + ); if (dojoComponent.CompletionLogPending && Date.now() >= dojoComponent.CompletionTime.getTime()) { const entry = guild.RoomChanges?.find(x => x.componentId.equals(dojoComponent._id)); if (entry) { @@ -210,6 +213,9 @@ export const getDojoClient = async ( continue; } clientComponent.DestructionTime = toMongoDate(dojoComponent.DestructionTime); + clientComponent.DestructionTimeRemaining = Math.trunc( + (dojoComponent.DestructionTime.getTime() - Date.now()) / 1000 + ); } } else { clientComponent.RegularCredits = dojoComponent.RegularCredits; @@ -245,6 +251,7 @@ export const getDojoClient = async ( continue; } clientDeco.CompletionTime = toMongoDate(deco.CompletionTime); + clientDeco.TimeRemaining = Math.trunc((deco.CompletionTime.getTime() - Date.now()) / 1000); } else { clientDeco.RegularCredits = deco.RegularCredits; clientDeco.MiscItems = deco.MiscItems; diff --git a/src/types/guildTypes.ts b/src/types/guildTypes.ts index c0e2cbe3..9dbb0d08 100644 --- a/src/types/guildTypes.ts +++ b/src/types/guildTypes.ts @@ -173,9 +173,11 @@ export interface IDojoComponentClient { Message?: string; RegularCredits?: number; // "Collecting Materials" state: Number of credits that were donated. MiscItems?: IMiscItem[]; // "Collecting Materials" state: Resources that were donated. - CompletionTime?: IMongoDate; + CompletionTime?: IMongoDate; // new versions + TimeRemaining?: number; // old versions RushPlatinum?: number; - DestructionTime?: IMongoDate; + DestructionTime?: IMongoDate; // new versions + DestructionTimeRemaining?: number; // old versions Decos?: IDojoDecoClient[]; DecoCapacity?: number; PaintBot?: IOid; @@ -212,7 +214,8 @@ export interface IDojoDecoClient { Sockets?: number; RegularCredits?: number; MiscItems?: IMiscItem[]; - CompletionTime?: IMongoDate; + CompletionTime?: IMongoDate; // new versions + TimeRemaining?: number; // old versions RushPlatinum?: number; PictureFrameInfo?: IPictureFrameInfo; Pending?: boolean;