-export const getTopic = (id: string) =>
- store<Topic>({ key: 'topic', query: GET_TOPIC, variables: { id } });
+const client = createClient(supabase.url, supabase.key);
+
+export const topic = (id: string, withPosts = false) =>
+ single<Topic>(
+ client
+ .from('topics')
+ .select(
+ withPosts
+ ? `*,
+ forum: forums (*),
+ tags: topic_tags (*),
+ posts (
+ *,
+ author:author_id (*)
+ )
+ `
+ : '*'
+ )
+ .eq('id', id),
+ null
+ );
+export const topicsForTag = (id: string) =>
+ collection<Topic>(
+ client
+ .from('topics')
+ .select(
+ `
+ *,tags!inner(*)
+ `
+ )
+ .eq('tags.tag', id),
+ []
+ );