summary refs log tree commit diff
path: root/util/oldModels/Template.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
commitf711a0411cbe48319ea3497c4f26f872c18cd2a2 (patch)
tree681aa1e830c0bd9aba70af885139ad809476a779 /util/oldModels/Template.ts
parent:art: update bundle build (diff)
downloadserver-f711a0411cbe48319ea3497c4f26f872c18cd2a2.tar.xz
:construction: typeorm
Diffstat (limited to 'util/oldModels/Template.ts')
-rw-r--r--util/oldModels/Template.ts51
1 files changed, 51 insertions, 0 deletions
diff --git a/util/oldModels/Template.ts b/util/oldModels/Template.ts
new file mode 100644

index 00000000..ad0f9104 --- /dev/null +++ b/util/oldModels/Template.ts
@@ -0,0 +1,51 @@ +import { Schema, model, Types, Document } from "mongoose"; +import db from "../util/Database"; +import { PublicUser, User, UserModel, PublicUserProjection } from "./User"; +import { Guild, GuildModel } from "./Guild"; + +export interface Template extends Document { + id: string; + code: string; + name: string; + description?: string; + usage_count?: number; + creator_id: string; + creator: User; + created_at: Date; + updated_at: Date; + source_guild_id: String; + serialized_source_guild: Guild; +} + +export const TemplateSchema = new Schema({ + id: String, + code: String, + name: String, + description: String, + usage_count: Number, + creator_id: String, + created_at: Date, + updated_at: Date, + source_guild_id: String, +}); + +TemplateSchema.virtual("creator", { + ref: UserModel, + localField: "creator_id", + foreignField: "id", + justOne: true, + autopopulate: { + select: PublicUserProjection, + }, +}); + +TemplateSchema.virtual("serialized_source_guild", { + ref: GuildModel, + localField: "source_guild_id", + foreignField: "id", + justOne: true, + autopopulate: true, +}); + +// @ts-ignore +export const TemplateModel = db.model<Template>("Template", TemplateSchema, "templates");