import './style.scss' let USER = false export async function getLoggedUser() { if (USER === false) { console.log('Caching user data...') USER = await (await fetch(`${import.meta.env.BASE_URL}/api/user`)).json() } return USER } export function createRoomEventStream(roomId) { return new EventSource(`/api/room_events?id=${roomId}`) } export const Database = { async getSeats(roomId) { const seatList = await ( await fetch(`${import.meta.env.BASE_URL}/api/room/seats?id=${roomId}`) ).json() const seats = {} seatList.forEach(seat => { seats[seat.id] = seat }) return seats }, async occupySeat(seatId) { const response = await fetch(`${import.meta.env.BASE_URL}/api/seat/occupy?id=${seatId}`, { method: 'POST', }) if (!response.ok) { throw new Error(await response.text()) } await response.json() }, async leaveSeat(seatId) { const response = await fetch(`${import.meta.env.BASE_URL}/api/seat/leave?id=${seatId}`, { method: 'POST', }) if (!response.ok) { throw new Error(await response.text()) } await response.json() }, }