summary refs log tree commit diff
path: root/src/models/Message.ts
diff options
context:
space:
mode:
authorFlam3rboy <34555296+Flam3rboy@users.noreply.github.com>2021-05-21 17:47:53 +0200
committerFlam3rboy <34555296+Flam3rboy@users.noreply.github.com>2021-05-21 17:47:53 +0200
commit31023ffa68d0787d8ffd6a4665fd36fc4552740b (patch)
tree58f67fe23ffe829a66cf3432d51b829ce2523131 /src/models/Message.ts
parent1.1.8 (diff)
downloadserver-31023ffa68d0787d8ffd6a4665fd36fc4552740b.tar.xz
:sparkles: [Message] Model add created_at
Diffstat (limited to 'src/models/Message.ts')
-rw-r--r--src/models/Message.ts8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/models/Message.ts b/src/models/Message.ts

index 636e2575..4a66d76c 100644 --- a/src/models/Message.ts +++ b/src/models/Message.ts
@@ -1,9 +1,10 @@ import { Schema, Types, Document } from "mongoose"; import db from "../util/Database"; import { PublicUser, PublicUserProjection, UserModel } from "./User"; -import { MemberModel, PublicMember, PublicMemberProjection } from "./Member"; +import { MemberModel, PublicMember } from "./Member"; import { Role, RoleModel } from "./Role"; import { Channel } from "./Channel"; +import { Snowflake } from "../util"; export interface Message { id: string; @@ -45,6 +46,7 @@ export interface Message { })[]; mention_roles?: Role[]; mention_channels?: Channel[]; + created_at: Date; } export interface MessageDocument extends Document, Message { @@ -280,6 +282,10 @@ MessageSchema.virtual("mention_channels", { autopopulate: { select: { id: true, guild_id: true, type: true, name: true } }, }); +MessageSchema.virtual("created_at").get(function (this: MessageDocument) { + return new Date(Snowflake.deconstruct(this.id).timestamp); +}); + MessageSchema.set("removeResponse", ["mention_channel_ids", "mention_role_ids", "mention_user_ids", "author_id"]); // TODO: missing Application Model