diff --git a/src/models/Activity.ts b/src/models/Activity.ts
index ee7e87cd..beaa43e8 100644
--- a/src/models/Activity.ts
+++ b/src/models/Activity.ts
@@ -14,7 +14,7 @@ export interface Activity {
name: string;
type: ActivityType;
url?: string;
- created_at: number;
+ created_at: Date;
timestamps?: {
start: number;
end: number;
@@ -50,7 +50,7 @@ export const Activity = {
name: String,
type: Number,
url: String,
- created_at: Number,
+ created_at: Date,
timestamps: [
{
start: Number,
diff --git a/src/models/Channel.ts b/src/models/Channel.ts
index 3ab571e7..bf03c939 100644
--- a/src/models/Channel.ts
+++ b/src/models/Channel.ts
@@ -37,7 +37,7 @@ export const ChannelModel = db.model<ChannelDocument>("Channel", ChannelSchema,
export interface Channel {
id: bigint;
- created_at: number;
+ created_at: Date;
name: string;
type: number;
}
diff --git a/src/models/Event.ts b/src/models/Event.ts
index ba0f064c..40cbcb20 100644
--- a/src/models/Event.ts
+++ b/src/models/Event.ts
@@ -195,7 +195,7 @@ export interface GuildMemberUpdateEvent extends Event {
roles: bigint[];
user: User;
nick?: string;
- joined_at: number;
+ joined_at: Date;
premium_since?: number;
pending?: boolean;
};
diff --git a/src/models/Invite.ts b/src/models/Invite.ts
index e6cf5cce..fc60b93c 100644
--- a/src/models/Invite.ts
+++ b/src/models/Invite.ts
@@ -7,7 +7,7 @@ export interface Invite extends Document {
uses: number;
max_uses: number;
max_age: number;
- created_at: number;
+ created_at: Date;
guild_id: bigint;
channel_id: bigint;
inviter_id: bigint;
@@ -24,7 +24,7 @@ export const InviteSchema = new Schema({
uses: Number,
max_uses: Number,
max_age: Number,
- created_at: Number,
+ created_at: Date,
guild_id: Types.Long,
channel_id: Types.Long,
inviter_id: Types.Long,
diff --git a/src/models/Member.ts b/src/models/Member.ts
index 97ed1961..145b5df4 100644
--- a/src/models/Member.ts
+++ b/src/models/Member.ts
@@ -7,7 +7,7 @@ export interface Member {
guild_id: bigint;
nick?: string;
roles: bigint[];
- joined_at: number;
+ joined_at: Date;
premium_since?: number;
deaf: boolean;
mute: boolean;
@@ -51,7 +51,7 @@ export const MemberSchema = new Schema({
guild_id: Types.Long,
nick: String,
roles: [Types.Long],
- joined_at: Number,
+ joined_at: Date,
premium_since: Number,
deaf: Boolean,
mute: Boolean,
diff --git a/src/models/Message.ts b/src/models/Message.ts
index 43517313..88291f9f 100644
--- a/src/models/Message.ts
+++ b/src/models/Message.ts
@@ -4,7 +4,7 @@ import { UserModel } from "./User";
import { MemberModel } from "./Member";
import { RoleModel } from "./Role";
-export interface Message extends Document {
+export interface Message {
id: bigint;
channel_id: bigint;
guild_id?: bigint;
@@ -38,6 +38,10 @@ export interface Message extends Document {
};
}
+export interface MessageDocument extends Document, Message {
+ id: bigint;
+}
+
export enum MessageType {
DEFAULT = 0,
RECIPIENT_ADD = 1,
@@ -126,7 +130,7 @@ export interface AllowedMentions {
replied_user?: boolean;
}
-const Attachment = {
+export const Attachment = {
id: Types.Long, // attachment id
filename: String, // name of file attached
size: Number, // size of file in bytes
@@ -136,7 +140,7 @@ const Attachment = {
width: Number, // width of file (if image)
};
-const EmbedImage = {
+export const EmbedImage = {
url: String,
proxy_url: String,
height: Number,
@@ -264,4 +268,4 @@ MessageSchema.virtual("mention_channels", {
// });
// @ts-ignore
-export const MessageModel = db.model<Message>("Message", MessageSchema, "messages");
+export const MessageModel = db.model<MessageDocument>("Message", MessageSchema, "messages");
diff --git a/src/models/User.ts b/src/models/User.ts
index 66849844..971e8d20 100644
--- a/src/models/User.ts
+++ b/src/models/User.ts
@@ -19,14 +19,14 @@ export interface User {
level: string; // organization permission level (owner, moderator, user)
nsfw_allowed: boolean; // if the user is older than 18 (resp. Config)
mfa_enabled: boolean; // if multi factor authentication is enabled
- created_at: number; // registration date
+ created_at: Date; // registration date
verified: boolean; // if the user is offically verified
email?: string; // email of the user
flags: bigint; // UserFlags
public_flags: bigint;
hash: string; // hash of the password, salt is saved in password (bcrypt)
guilds: bigint[]; // array of guild ids the user is part of
- valid_tokens_since: number; // all tokens with a previous issue date are invalid
+ valid_tokens_since: Date; // all tokens with a previous issue date are invalid
user_settings: UserSettings;
relationships: Relationship[];
connected_accounts: ConnectedAccount[];
@@ -128,14 +128,14 @@ export const UserSchema = new Schema({
system: Boolean,
nsfw_allowed: Boolean,
mfa_enabled: Boolean,
- created_at: Number,
+ created_at: Date,
verified: Boolean,
email: String,
flags: Types.Long, // TODO: automatically convert Types.Long to BitField of UserFlags
public_flags: Types.Long,
hash: String, // hash of the password, salt is saved in password (bcrypt)
guilds: [Types.Long], // array of guild ids the user is part of
- valid_tokens_since: Number, // all tokens with a previous issue date are invalid
+ valid_tokens_since: Date, // all tokens with a previous issue date are invalid
user_settings: {
afk_timeout: Number,
allow_accessibility_detection: Boolean,
|