From 8595646b72d42953814ffa2493630d15cfeeb857 Mon Sep 17 00:00:00 2001 From: Flam3rboy <34555296+Flam3rboy@users.noreply.github.com> Date: Sat, 13 Feb 2021 09:30:21 +0100 Subject: :sparkles: mongoose Schemas --- src/models/Event.ts | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'src/models/Event.ts') diff --git a/src/models/Event.ts b/src/models/Event.ts index 4925c7ca..e8dfe11e 100644 --- a/src/models/Event.ts +++ b/src/models/Event.ts @@ -10,8 +10,9 @@ import { Message, PartialEmoji } from "./Message"; import { VoiceState } from "./VoiceState"; import { ApplicationCommand } from "./Application"; import { Interaction } from "./Interaction"; +import { Schema, model, Types, Document } from "mongoose"; -export interface Event { +export interface Event extends Document { guild_id?: bigint; user_id?: bigint; channel_id?: bigint; @@ -20,6 +21,17 @@ export interface Event { data?: any; } +export const EventSchema = new Schema({ + guild_id: Types.Long, + user_id: Types.Long, + channel_id: Types.Long, + created_at: { type: Number, required: true }, + event: { type: String, required: true }, + data: Object, +}); + +export const EventModel = model("Event", EventSchema, "events"); + // ! Custom Events that shouldn't get sent to the client but processed by the server export interface InvalidatedEvent extends Event { @@ -120,7 +132,10 @@ export interface GuildUpdateEvent extends Event { export interface GuildDeleteEvent extends Event { event: "GUILD_DELETE"; - data: Guild; + data: { + id: bigint; + unavailable?: boolean; + }; } export interface GuildBanAddEvent extends Event { -- cgit 1.5.1