summary refs log tree commit diff
path: root/dist/models/Guild.js
diff options
context:
space:
mode:
Diffstat (limited to 'dist/models/Guild.js')
-rw-r--r--dist/models/Guild.js39
1 files changed, 38 insertions, 1 deletions
diff --git a/dist/models/Guild.js b/dist/models/Guild.js

index a2d0d114..6a8adfc5 100644 --- a/dist/models/Guild.js +++ b/dist/models/Guild.js
@@ -6,6 +6,10 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.GuildModel = exports.GuildSchema = void 0; const mongoose_1 = require("mongoose"); const Database_1 = __importDefault(require("../util/Database")); +const Channel_1 = require("./Channel"); +const Emoji_1 = require("./Emoji"); +const Member_1 = require("./Member"); +const Role_1 = require("./Role"); exports.GuildSchema = new mongoose_1.Schema({ id: { type: mongoose_1.Types.Long, required: true }, afk_channel_id: mongoose_1.Types.Long, @@ -44,7 +48,40 @@ exports.GuildSchema = new mongoose_1.Schema({ widget_channel_id: mongoose_1.Types.Long, widget_enabled: Boolean, }); -// GuildSchema.virtual +exports.GuildSchema.virtual("channels", { + ref: Channel_1.ChannelModel, + localField: "id", + foreignField: "guild_id", + justOne: false, +}); +exports.GuildSchema.virtual("roles", { + ref: Role_1.RoleModel, + localField: "id", + foreignField: "guild_id", + justOne: false, +}); +// nested populate is needed for member users: https://gist.github.com/yangsu/5312204 +exports.GuildSchema.virtual("members", { + ref: Member_1.MemberModel, + localField: "id", + foreignField: "member_id", + justOne: false, +}); +exports.GuildSchema.virtual("emojis", { + ref: Emoji_1.EmojiModel, + localField: "id", + foreignField: "guild_id", + justOne: false, +}); +exports.GuildSchema.virtual("joined_at", { + ref: Member_1.MemberModel, + localField: "id", + foreignField: "guild_id", + justOne: true, +}).get((member, virtual, doc) => { + console.log("get", member, this); + return member.joined_at; +}); // @ts-ignore exports.GuildModel = Database_1.default.model("Guild", exports.GuildSchema, "guilds"); //# sourceMappingURL=Guild.js.map \ No newline at end of file