apps/bot/src/lib/tickets.ts (view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
import {
type Actor,
type Guild,
type TicketWithRelations,
type User,
} from "@stealth-developers/db";
export function hasAccessToTicket(
user: Actor | User,
guild: Guild,
ticket: TicketWithRelations,
{ requireModerator = false }: { requireModerator?: boolean } = {},
) {
const isModerator = "moderator" in user && user.guildId === guild.id && user.moderator;
if (requireModerator) return isModerator;
if (user.discordId === ticket.subjectActor?.discordId) return true;
if (isModerator) return true;
return false;
}
|