Added Template
This commit is contained in:
parent
85875c85bd
commit
b9684ae926
61
src/models/Template.ts
Normal file
61
src/models/Template.ts
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
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 {
|
||||||
|
code: string;
|
||||||
|
name: string;
|
||||||
|
description ? : string;
|
||||||
|
usage_count ? : number;
|
||||||
|
cretor_id: string;
|
||||||
|
creator: User;
|
||||||
|
created_at: Date;
|
||||||
|
updated_at: Date;
|
||||||
|
source_guild_id: String;
|
||||||
|
serialized_source_guild: Guild;
|
||||||
|
}
|
||||||
|
|
||||||
|
export const TemplateSchema = new Schema({
|
||||||
|
code: String,
|
||||||
|
name: String,
|
||||||
|
description: String,
|
||||||
|
usage_count: Number,
|
||||||
|
cretor_id: String,
|
||||||
|
created_at: Date,
|
||||||
|
updated_at: Date,
|
||||||
|
source_guild_id: String,
|
||||||
|
});
|
||||||
|
|
||||||
|
TemplateSchema.virtual("creator", {
|
||||||
|
ref: UserModel,
|
||||||
|
localField: "creator_id",
|
||||||
|
foreignField: "id",
|
||||||
|
justOne: false,
|
||||||
|
autopopulate: {
|
||||||
|
select: PublicUserProjection
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
TemplateSchema.virtual("serialized_source_guild", {
|
||||||
|
ref: GuildModel,
|
||||||
|
localField: "source_guild_id",
|
||||||
|
foreignField: "id",
|
||||||
|
justOne: false,
|
||||||
|
autopopulate: true,
|
||||||
|
});
|
||||||
|
|
||||||
|
// @ts-ignore
|
||||||
|
export const TemplateModel = db.model < Template > ("Template", TemplateSchema, "templates");
|
@ -25,6 +25,7 @@ export * from "./Ban";
|
|||||||
export * from "./Channel";
|
export * from "./Channel";
|
||||||
export * from "./Emoji";
|
export * from "./Emoji";
|
||||||
export * from "./Event";
|
export * from "./Event";
|
||||||
|
export * from "./Template";
|
||||||
export * from "./Guild";
|
export * from "./Guild";
|
||||||
export * from "./Invite";
|
export * from "./Invite";
|
||||||
export * from "./Interaction";
|
export * from "./Interaction";
|
||||||
|
Loading…
x
Reference in New Issue
Block a user