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, error; 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); };