]> git.r.bdr.sh - rbdr/forum/blobdiff - src/lib/stores/forums.ts
Use supabase
[rbdr/forum] / src / lib / stores / forums.ts
index cb62b5a037f2cf5db6e9175497de3f07156bda14..40a3f2cc89d580c0abb8e477926558f9471701a5 100644 (file)
@@ -1,5 +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';
 
-export const getForum = (id: string) => store({ key: 'forum', query: GET_FORUM, variables: { id } });
-export const getForums = () => store({ key: 'forums', query: GET_FORUMS, initialValue: [] });
+import type { Forum } from '$lib/data/types';
+
+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('*'), []);