diff options
Diffstat (limited to 'src/lib/stores/forums.ts')
| -rw-r--r-- | src/lib/stores/forums.ts | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/src/lib/stores/forums.ts b/src/lib/stores/forums.ts index 0ff09f7..40a3f2c 100644 --- a/src/lib/stores/forums.ts +++ b/src/lib/stores/forums.ts @@ -1,9 +1,18 @@ -import { store } from './apollo'; -import { GET_FORUM, GET_FORUMS } from '$lib/data/queries'; +import { createClient } from '@supabase/supabase-js' +import { single, collection } from './supabase'; +import { supabase } from '$lib/config/config'; import type { Forum } from '$lib/data/types'; -export const getForum = (id: string) => - store<Forum>({ key: 'forum', query: GET_FORUM, variables: { id } }); -export const getForums = () => - store<Forum[]>({ key: 'forumsCollection', query: GET_FORUMS, initialValue: [] }); +const client = createClient(supabase.url, supabase.key); + +export const forum = (id: string, withTopics = false) => single<Forum>(client + .from('forums') + .select(withTopics ? `*, + topics ( + * + ) + `: '*' ) + .eq('id', id), + null); +export const forums = collection<Forum>(client.from('forums').select('*'), []); |