Yatzy/Work in progress/supabase.js
2025-12-17 17:43:55 +01:00

65 lines
1.8 KiB
JavaScript
Executable File

import { createClient } from 'https://esm.sh/@supabase/supabase-js@2';
const SUPABASE_URL = 'https://db.tvalen.lol';
const SUPABASE_ANON_KEY = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlIjoiYW5vbiIsImlzcyI6InN1cGFiYXNlIiwiaWF0IjoxNzUzOTk5MjAwLCJleHAiOjE5MTE3NjU2MDB9.rqUu8VzDYqPs28uxZUCqmK55abGvB_zMdS-LCb8KA8c';
export const supabase = createClient(SUPABASE_URL, SUPABASE_ANON_KEY, {
realtime: {
params: {
eventsPerSecond: 10,
},
endpoint: 'realtime/v1',
},
});
// Funktion för att hämta spelare
export async function getPlayers() {
const { data, error } = await supabase.from('players').select('*');
if (error) {
console.error("Error fetching players:", error);
return [];
}
return data;
}
// Funktion för att lägga till en spelare
export async function addPlayer(name, wins = 0) {
const { error } = await supabase.from('players').insert([{ name, wins }]);
if (error) {
console.error("Error adding player:", error);
throw error;
}
}
// Funktion för att hämta de senaste spelen
export async function getRecentGames() {
const { data, error } = await supabase
.from('games')
.select('*')
.eq('isFinished', true)
.order('finishedAt', { ascending: false })
.limit(10);
if (error) {
console.error("Error fetching recent games:", error);
return [];
}
return data;
}
// Funktion för att hämta de högsta poängen
export async function getHighScores() {
const { data, error } = await supabase
.from('games')
.select('*')
.eq('isFinished', true)
.order('winnerScore', { ascending: false })
.limit(3);
if (error) {
console.error("Error fetching high scores:", error);
return [];
}
return data;
}