diff options
| author | Ruben Beltran del Rio <ruben@unlimited.pizza> | 2022-05-31 01:04:10 +0200 |
|---|---|---|
| committer | Ruben Beltran del Rio <ruben@unlimited.pizza> | 2022-05-31 01:04:10 +0200 |
| commit | 852ee620f0a2f6a83cf83eba860ca951b66bb7e2 (patch) | |
| tree | 3b1db871625c89f08c3c6422c135f84ec116943b /src/lib/stores/posts.ts | |
| parent | d2cd7f1b4c318ac8587ab3dc1dec4a44b6d592fe (diff) | |
Use supabase
Diffstat (limited to 'src/lib/stores/posts.ts')
| -rw-r--r-- | src/lib/stores/posts.ts | 24 |
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 }), + []); |