summary refs log tree commit diff
path: root/util/oldModels/Ban.ts
diff options
context:
space:
mode:
Diffstat (limited to 'util/oldModels/Ban.ts')
-rw-r--r--util/oldModels/Ban.ts32
1 files changed, 32 insertions, 0 deletions
diff --git a/util/oldModels/Ban.ts b/util/oldModels/Ban.ts
new file mode 100644

index 00000000..f09950ee --- /dev/null +++ b/util/oldModels/Ban.ts
@@ -0,0 +1,32 @@ +import { Schema, model, Types, Document } from "mongoose"; +import db from "../util/Database"; +import { PublicUserProjection, UserModel } from "./User"; + +export interface Ban extends Document { + user_id: string; + guild_id: string; + executor_id: string; + ip: string; + reason?: string; +} + +export const BanSchema = new Schema({ + user_id: { type: String, required: true }, + guild_id: { type: String, required: true }, + executor_id: { type: String, required: true }, + reason: String, + ip: String, // ? Should we store this in here, or in the UserModel? +}); + +BanSchema.virtual("user", { + ref: UserModel, + localField: "user_id", + foreignField: "id", + justOne: true, + autopopulate: { select: PublicUserProjection }, +}); + +BanSchema.set("removeResponse", ["user_id"]); + +// @ts-ignore +export const BanModel = db.model<Ban>("Ban", BanSchema, "bans");