diff options
author | Flam3rboy <34555296+Flam3rboy@users.noreply.github.com> | 2021-08-12 20:33:42 +0200 |
---|---|---|
committer | Flam3rboy <34555296+Flam3rboy@users.noreply.github.com> | 2021-08-12 20:33:42 +0200 |
commit | 613ef19d2119449d516555ea2d2036d7f98c298d (patch) | |
tree | 30c22d96aea3da6f859a4690ce9fadcc97cddc3c /rtc/src/models/Role.ts | |
parent | :sparkles: util (diff) | |
download | server-613ef19d2119449d516555ea2d2036d7f98c298d.tar.xz |
:sparkles: rtc
Diffstat (limited to 'rtc/src/models/Role.ts')
-rw-r--r-- | rtc/src/models/Role.ts | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/rtc/src/models/Role.ts b/rtc/src/models/Role.ts new file mode 100644 index 00000000..c1111c84 --- /dev/null +++ b/rtc/src/models/Role.ts @@ -0,0 +1,42 @@ +import { Schema, model, Types, Document } from "mongoose"; +import db from "../util/Database"; +import toBigInt from "../util/toBigInt"; + +export interface Role { + id: string; + guild_id: string; + color: number; + hoist: boolean; + managed: boolean; + mentionable: boolean; + name: string; + permissions: bigint; + position: number; + tags?: { + bot_id?: string; + }; +} + +export interface RoleDocument extends Document, Role { + id: string; +} + +export const RoleSchema = new Schema({ + id: String, + guild_id: String, + color: Number, + hoist: Boolean, + managed: Boolean, + mentionable: Boolean, + name: String, + permissions: { type: String, get: toBigInt }, + position: Number, + tags: { + bot_id: String, + }, +}); + +RoleSchema.set("removeResponse", ["guild_id"]); + +// @ts-ignore +export const RoleModel = db.model<RoleDocument>("Role", RoleSchema, "roles"); |