summary refs log tree commit diff
path: root/util/oldModels/Ban.ts
diff options
context:
space:
mode:
authorFlam3rboy <34555296+Flam3rboy@users.noreply.github.com>2021-08-21 16:47:22 +0200
committerFlam3rboy <34555296+Flam3rboy@users.noreply.github.com>2021-08-21 16:47:22 +0200
commit9fda915b376a2f3853a26aa4c55e41b7a42d6a3a (patch)
tree1a5fcc7c6d72dfa04ce3fbc572719551848b5f16 /util/oldModels/Ban.ts
parent:art: update bundle build (diff)
downloadserver-9fda915b376a2f3853a26aa4c55e41b7a42d6a3a.tar.xz
:construction: typeorm
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");