blob: de2131851c38320703a23e6b4331ba1402e2ffd2 (
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
39
40
41
42
43
44
45
46
47
48
49
50
|
import type { Group } from "$lib/Database/SB/groups";
import sb from "../sb";
export interface Event {
id: number;
created_at: string;
updated_at: string;
title: string;
description: string;
group: Group;
banner: string;
anilist_url: string;
}
interface NewEvent {
updated_at?: string;
title: string;
description: string;
}
export const getEvents = async () => {
const { data, error } = await sb.from("events").select("*, group:groups(*)");
if (error) return [];
return data as Event[];
};
export const getGroupEvents = async (group: string) => {
const { data, error } = await sb
.from("events")
.select("*")
.eq("group", group);
if (error) return [];
return data as Event[];
};
export const createEvent = async (event: NewEvent) =>
await sb.from("events").insert(event);
export const deleteEvent = async (id: number) =>
await sb.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 sb.from("events").update(event).eq("id", id);
};
|