all repos — stealth-developers @ 08f8a3e5f9e51e0bd471256b6990af8a4ab6ff77

apps/api/src/lib/access.ts (view raw)

 1
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
import type { Actor, TicketWithRelations } from "@stealth-developers/db";

export function hasAccessToTicket(
	actor: Actor,
	ticket: TicketWithRelations,
	{ requireModerator = false }: { requireModerator?: boolean } = {},
) {
	const isModerator = actor.moderator;
	if (requireModerator) return isModerator;

	if (actor.discordId === ticket.subjectActor?.discordId) return true;
	if (isModerator) return true;

	return false;
}