1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
import { createClient } from '@supabase/supabase-js'
import { single, collection } from './supabase';
import { supabase } from '$lib/config/config';
import type { Topic } from '$lib/data/types';
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 topicsForForum = (id: string) => collection<Topic>(client
.from('topics')
.select('*')
.eq('forum_id', id),
[]);
export const topicsForTag = (id: string) => collection<Topic>(client
.from('topics')
.select(`
*,tags!inner(*)
`)
.eq('tags.tag', id),
[]);
|