aboutsummaryrefslogtreecommitdiff
path: root/src/lib/Database/events.ts
blob: 714bd446f6c9004c4f131706b9f73ce680628725 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import supabase from './supabase';

interface Event {
	id: number;
	created_at: string;
	updated_at: string;
	title: string;
	description: string;
	group: number;
}

interface NewEvent {
	updated_at?: string;
	title: string;
	description: string;
}

export const getEvents = async (group?: number) => {
	let data, error;

	if (group) [data, error] = await supabase.from('events').select('*').eq('group', group);
	else [data, error] = await supabase.from('events').select('*');

	if (error) return [];

	return data as Event[];
};

export const createEvent = async (event: NewEvent) => await supabase.from('events').insert(event);

export const deleteEvent = async (id: number) =>
	await supabase.from('events').delete().eq('id', id);

export const updateEvent = async (id: number, event: NewEvent) => {
	if (!event.updated_at) event.updated_at = new Date().toISOString();

	return await supabase.from('events').update(event).eq('id', id);
};