]> git.r.bdr.sh - rbdr/forum/blobdiff - src/lib/stores/posts.ts
Use supabase
[rbdr/forum] / src / lib / stores / posts.ts
index 718e1e581cb19c408024783274e7999f10a5948f..f592dca6da77d8122ae7124a3251636ad7faf6a6 100644 (file)
@@ -1,7 +1,23 @@
-import { store } from './apollo';
-import { GET_POST } from '$lib/data/queries';
+import { createClient } from '@supabase/supabase-js'
+import { single, collection } from './supabase';
+import { supabase } from '$lib/config/config';
 
 import type { Post } from '$lib/data/types';
 
-export const getPost = (id: string) =>
-       store<Post>({ key: 'post', query: GET_POST, variables: { id } });
+const client = createClient(supabase.url, supabase.key);
+
+export const post = (id: string, withTopic = false) => single<Post>(client
+  .from('posts')
+  .select(withTopic ? `*, 
+    topic:topic_id (
+      *
+    )
+  `: '*' )
+  .eq('id', id),
+  null);
+export const postsForTopic = (id: string) => collection<Post>(client
+  .from('posts')
+  .select('*')
+  .eq('topic_id', id)
+  .order('created_at', { ascending: true }),
+  []);