aboutsummaryrefslogtreecommitdiff
path: root/src/lib/stores/forums.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/stores/forums.ts')
-rw-r--r--src/lib/stores/forums.ts21
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('*'), []);