import sb from "../sb"; interface Badge { id: number; created_at: string; updated_at: string; image_url: string; image_artist: string; description: string; event: number; group: number; } interface NewBadge { updated_at?: string; image_url: string; image_artist: string; description: string; } interface GetBy { event?: number; group?: number; } export const getBadges = async (getBy?: GetBy) => { let data: unknown[] | null = null; let error: unknown = null; if (getBy?.event) [data, error] = await sb .from("badges") .select("*") .eq("event", getBy.event); else if (getBy?.group) [data, error] = await sb .from("badges") .select("*") .eq("group", getBy.group); else [data, error] = await sb.from("badges").select("*"); if (error) return []; return data as Badge[]; }; export const createBadge = async (badge: NewBadge) => await sb.from("badges").insert(badge); export const deleteBadge = async (id: number) => await sb.from("badges").delete().eq("id", id); export const updateBadge = async (id: number, badge: NewBadge) => { if (!badge.updated_at) badge.updated_at = new Date().toISOString(); return await sb.from("badges").update(badge).eq("id", id); };