From 52964aed06c879ac31987e4c487de9c66292e0c2 Mon Sep 17 00:00:00 2001 From: Flam3rboy <34555296+Flam3rboy@users.noreply.github.com> Date: Sat, 13 Feb 2021 23:57:02 +0100 Subject: :art: Channel + Member + Message + Role in separate collection --- src/models/Channel.ts | 19 +++++++++++++------ src/models/Member.ts | 2 ++ src/models/Message.ts | 2 ++ src/models/Role.ts | 2 ++ 4 files changed, 19 insertions(+), 6 deletions(-) (limited to 'src/models') diff --git a/src/models/Channel.ts b/src/models/Channel.ts index 36f5e83d..3c63f80f 100644 --- a/src/models/Channel.ts +++ b/src/models/Channel.ts @@ -47,12 +47,19 @@ export interface GuildChannel extends Channel { guild_id: bigint; position: number; parent_id?: bigint; - permission_overwrites: { - allow: bigint; - deny: bigint; - id: bigint; - type: number; - }[]; + permission_overwrites: ChannelPermissionOverwrite[]; +} + +export interface ChannelPermissionOverwrite { + allow: bigint; + deny: bigint; + id: bigint; + type: ChannelPermissionOverwriteType; +} + +export enum ChannelPermissionOverwriteType { + role = 0, + member = 1, } export interface VoiceChannel extends GuildChannel {} diff --git a/src/models/Member.ts b/src/models/Member.ts index d9f34ac8..dd26782f 100644 --- a/src/models/Member.ts +++ b/src/models/Member.ts @@ -3,6 +3,7 @@ import { Schema, model, Types, Document } from "mongoose"; export interface Member extends Document { id: bigint; + guild_id: bigint; nick?: string; roles: bigint[]; joined_at: number; @@ -42,6 +43,7 @@ const MuteConfig = { export const MemberSchema = new Schema({ id: Types.Long, + guild_id: Types.Long, nick: String, roles: [Types.Long], joined_at: Number, diff --git a/src/models/Message.ts b/src/models/Message.ts index 22569d8f..9b3602c4 100644 --- a/src/models/Message.ts +++ b/src/models/Message.ts @@ -3,6 +3,7 @@ import { ChannelType } from "./Channel"; export interface Message extends Document { id: bigint; + channel_id: bigint; author_id?: bigint; webhook_id?: bigint; application_id: bigint; @@ -188,6 +189,7 @@ const Embed = { export const MessageSchema = new Schema({ id: Types.Long, + channel_id: Types.Long, author_id: Types.Long, webhook_id: Types.Long, application_id: Types.Long, diff --git a/src/models/Role.ts b/src/models/Role.ts index d35bd57c..b6cba2f8 100644 --- a/src/models/Role.ts +++ b/src/models/Role.ts @@ -2,6 +2,7 @@ import { Schema, model, Types, Document } from "mongoose"; export interface Role extends Document { id: bigint; + guild_id: bigint; color: number; hoist: boolean; managed: boolean; @@ -16,6 +17,7 @@ export interface Role extends Document { export const RoleSchema = new Schema({ id: Types.Long, + guild_id: Types.Long, color: Number, hoist: Boolean, managed: Boolean, -- cgit 1.5.1