import { BaseRepository } from "./BaseRepository"; import { getRepository, Repository } from "typeorm"; import { PingableRole } from "./entities/PingableRole"; export class GuildPingableRoles extends BaseRepository { private pingableRoles: Repository; constructor(guildId) { super(guildId); this.pingableRoles = getRepository(PingableRole); } async all(): Promise { return this.pingableRoles.find({ where: { guild_id: this.guildId } }); } async getForChannel(channelId: string): Promise { return this.pingableRoles.find({ where: { guild_id: this.guildId, channel_id: channelId } }); } async getByChannelAndRoleId(channelId: string, roleId: string): Promise { return this.pingableRoles.findOne({ where: { guild_id: this.guildId, channel_id: channelId, role_id: roleId } }); } async delete(channelId: string, roleId: string) { await this.pingableRoles.delete({ guild_id: this.guildId, channel_id: channelId, role_id: roleId }); } async add(channelId: string, roleId: string) { await this.pingableRoles.insert({ guild_id: this.guildId, channel_id: channelId, role_id: roleId }); } }