65 lines
1.8 KiB
JavaScript
Executable File
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;
|
|
}
|
|
|