aboutsummaryrefslogtreecommitdiff
path: root/src/lib/stores/posts.ts
diff options
context:
space:
mode:
authorRuben Beltran del Rio <ruben@unlimited.pizza>2022-05-31 01:04:10 +0200
committerRuben Beltran del Rio <ruben@unlimited.pizza>2022-05-31 01:04:10 +0200
commit852ee620f0a2f6a83cf83eba860ca951b66bb7e2 (patch)
tree3b1db871625c89f08c3c6422c135f84ec116943b /src/lib/stores/posts.ts
parentd2cd7f1b4c318ac8587ab3dc1dec4a44b6d592fe (diff)
Use supabase
Diffstat (limited to 'src/lib/stores/posts.ts')
-rw-r--r--src/lib/stores/posts.ts24
1 files changed, 20 insertions, 4 deletions
diff --git a/src/lib/stores/posts.ts b/src/lib/stores/posts.ts
index 718e1e5..f592dca 100644
--- a/src/lib/stores/posts.ts
+++ b/src/lib/stores/posts.ts
@@ -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 }),
+ []);