1
- import { PUBLIC_SUPABASE_PUBLIC_KEY , PUBLIC_SUPABASE_URL } from '$env/static/public'
1
+ import {
2
+ PUBLIC_SUPABASE_PUBLIC_KEY ,
3
+ PUBLIC_SUPABASE_URL ,
4
+ } from '$env/static/public'
2
5
import { createSupabaseLoadClient } from '@supabase/auth-helpers-sveltekit'
3
6
import { redirect } from '@sveltejs/kit'
4
7
@@ -13,49 +16,62 @@ export async function load(event) {
13
16
event : { fetch } ,
14
17
serverSession : event ?. data ?. session ,
15
18
} )
16
- const { data : { session } } = await supabase . auth . getSession ( )
19
+ const {
20
+ data : { session } ,
21
+ } = await supabase . auth . getSession ( )
17
22
18
23
if ( ! session && ! event . url . pathname . startsWith ( '/auth' ) ) {
19
24
throw redirect ( 303 , '/auth' )
20
25
} else if ( session ) {
21
- // const site = event.params['site']
26
+ // const site = event.params['site']
22
27
const { sites, user } = await Promise . all ( [
23
- supabase . from ( 'sites' ) . select ( 'id, name, url, active_deployment, collaborators (*)' ) . order ( 'created_at' , { ascending : true } ) ,
24
- supabase . from ( 'users' ) . select ( '*, server_members (admin, role), collaborators (role)' ) . eq ( 'id' , session . user . id ) . single ( )
28
+ supabase
29
+ . from ( 'sites' )
30
+ . select ( 'id, name, url, active_deployment, collaborators (*)' )
31
+ . order ( 'created_at' , { ascending : true } ) ,
32
+ supabase
33
+ . from ( 'users' )
34
+ . select ( '*, server_members (admin, role), collaborators (role)' )
35
+ . eq ( 'id' , session . user . id )
36
+ . single ( ) ,
25
37
] ) . then ( ( [ { data : sites } , { data : user } ] ) => {
26
-
27
38
const [ server_member ] = user . server_members
28
39
const [ collaborator ] = user . collaborators
29
40
30
- const user_final = server_member ? {
31
- ...user ,
32
- server_member : true ,
33
- admin : server_member . admin ,
34
- role : server_member . role ,
35
- } : {
36
- ...user ,
37
- server_member : false ,
38
- admin : false ,
39
- role : collaborator . role ,
40
- }
41
+ const user_final = server_member
42
+ ? {
43
+ ...user ,
44
+ server_member : true ,
45
+ admin : server_member . admin ,
46
+ role : server_member . role ,
47
+ }
48
+ : {
49
+ ...user ,
50
+ server_member : false ,
51
+ admin : false ,
52
+ role : collaborator . role ,
53
+ }
41
54
42
55
return {
43
56
sites : sites || [ ] ,
44
- user : user_final
57
+ user : user_final ,
45
58
}
46
59
} )
47
60
48
61
// TODO: do this w/ sql
49
- const user_sites = sites ?. filter ( site =>
50
- /*user is server member*/ user . server_member ||
51
- /*user is site collaborator*/ site . collaborators . some ( collaborator => collaborator . user === user . id )
62
+ const user_sites = sites ?. filter (
63
+ ( site ) =>
64
+ /*user is server member*/ user . server_member ||
65
+ /*user is site collaborator*/ site . collaborators . some (
66
+ ( collaborator ) => collaborator . user === user . id
67
+ )
52
68
)
53
69
54
70
return {
55
71
supabase,
56
72
session,
57
73
user,
58
- sites : user_sites
74
+ sites : user_sites ,
59
75
}
60
76
}
61
- }
77
+ }
0 commit comments