diff --git a/package-lock.json b/package-lock.json index 5ed558f33..962cbe403 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "dependencies": { "@fontsource/fira-code": "^5.0.5", "@iconify/svelte": "^2.2.1", - "@primocms/builder": "^0.1.10", + "@primocms/builder": "^0.1.14", "@rollup/browser": "^3.28.0", "@supabase/auth-helpers-sveltekit": "^0.10.2", "@supabase/supabase-js": "^2.31.0", @@ -1223,9 +1223,9 @@ } }, "node_modules/@primocms/builder": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/@primocms/builder/-/builder-0.1.10.tgz", - "integrity": "sha512-eBANanx1a0z862+OH8Igimivw6if2/VEbJYh2ou/75nt/+9Xz7Ai/brsmLbU/XbzTGPgoL9RtqyD++GQxbVLjQ==", + "version": "0.1.14", + "resolved": "https://registry.npmjs.org/@primocms/builder/-/builder-0.1.14.tgz", + "integrity": "sha512-gw7BWt3LnIFyC6kT5GWIB9JQEKACK4Zt0GNb/I03vHI2mcWrR6ahffs3X1LfYUmkhmS58dGuh6rgc7GYzp23wg==", "peerDependencies": { "@codemirror/autocomplete": "^6.1.0", "@codemirror/commands": "^6.0.1", @@ -7374,9 +7374,9 @@ "peer": true }, "@primocms/builder": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/@primocms/builder/-/builder-0.1.10.tgz", - "integrity": "sha512-eBANanx1a0z862+OH8Igimivw6if2/VEbJYh2ou/75nt/+9Xz7Ai/brsmLbU/XbzTGPgoL9RtqyD++GQxbVLjQ==", + "version": "0.1.14", + "resolved": "https://registry.npmjs.org/@primocms/builder/-/builder-0.1.14.tgz", + "integrity": "sha512-gw7BWt3LnIFyC6kT5GWIB9JQEKACK4Zt0GNb/I03vHI2mcWrR6ahffs3X1LfYUmkhmS58dGuh6rgc7GYzp23wg==", "requires": {} }, "@remirror/core-constants": { diff --git a/package.json b/package.json index 73e210822..94fcfcdae 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "dependencies": { "@fontsource/fira-code": "^5.0.5", "@iconify/svelte": "^2.2.1", - "@primocms/builder": "^0.1.10", + "@primocms/builder": "^0.1.14", "@rollup/browser": "^3.28.0", "@supabase/auth-helpers-sveltekit": "^0.10.2", "@supabase/supabase-js": "^2.31.0", diff --git a/public/index.html b/public/index.html index 032951a63..881e6f9e3 100644 --- a/public/index.html +++ b/public/index.html @@ -6,7 +6,7 @@ - + diff --git a/src/routes/+layout.js b/src/routes/+layout.js index 9a7941bf7..f7ff46c31 100644 --- a/src/routes/+layout.js +++ b/src/routes/+layout.js @@ -1,4 +1,7 @@ -import { PUBLIC_SUPABASE_PUBLIC_KEY, PUBLIC_SUPABASE_URL } from '$env/static/public' +import { + PUBLIC_SUPABASE_PUBLIC_KEY, + PUBLIC_SUPABASE_URL, +} from '$env/static/public' import { createSupabaseLoadClient } from '@supabase/auth-helpers-sveltekit' import { redirect } from '@sveltejs/kit' @@ -13,49 +16,62 @@ export async function load(event) { event: { fetch }, serverSession: event?.data?.session, }) - const { data: { session } } = await supabase.auth.getSession() + const { + data: { session }, + } = await supabase.auth.getSession() if (!session && !event.url.pathname.startsWith('/auth')) { throw redirect(303, '/auth') } else if (session) { - // const site = event.params['site'] + // const site = event.params['site'] const { sites, user } = await Promise.all([ - supabase.from('sites').select('id, name, url, active_deployment, collaborators (*)').order('created_at', { ascending: true }), - supabase.from('users').select('*, server_members (admin, role), collaborators (role)').eq('id', session.user.id).single() + supabase + .from('sites') + .select('id, name, url, active_deployment, collaborators (*)') + .order('created_at', { ascending: true }), + supabase + .from('users') + .select('*, server_members (admin, role), collaborators (role)') + .eq('id', session.user.id) + .single(), ]).then(([{ data: sites }, { data: user }]) => { - const [server_member] = user.server_members const [collaborator] = user.collaborators - const user_final = server_member ? { - ...user, - server_member: true, - admin: server_member.admin, - role: server_member.role, - } : { - ...user, - server_member: false, - admin: false, - role: collaborator.role, - } + const user_final = server_member + ? { + ...user, + server_member: true, + admin: server_member.admin, + role: server_member.role, + } + : { + ...user, + server_member: false, + admin: false, + role: collaborator.role, + } return { sites: sites || [], - user: user_final + user: user_final, } }) // TODO: do this w/ sql - const user_sites = sites?.filter(site => - /*user is server member*/ user.server_member || - /*user is site collaborator*/ site.collaborators.some(collaborator => collaborator.user === user.id) + const user_sites = sites?.filter( + (site) => + /*user is server member*/ user.server_member || + /*user is site collaborator*/ site.collaborators.some( + (collaborator) => collaborator.user === user.id + ) ) return { supabase, session, user, - sites: user_sites + sites: user_sites, } } -} \ No newline at end of file +} diff --git a/src/routes/[site]/+layout.svelte b/src/routes/[site]/+layout.svelte index 18f72395b..8731a6e04 100644 --- a/src/routes/[site]/+layout.svelte +++ b/src/routes/[site]/+layout.svelte @@ -107,11 +107,11 @@ storage_subscribe(async ({ bucket, action, key, file, options }) => { if (action === 'upload') { - const { data } = await supabase.storage - .from(bucket) - .upload(key, file, options) - const { data: res } = supabase.storage.from('images').getPublicUrl(key) - return res.publicUrl + await supabase.storage.from(bucket).upload(key, file, options) + if (bucket === 'images') { + const { data: res } = supabase.storage.from(bucket).getPublicUrl(key) + return res.publicUrl + } } }) diff --git a/src/routes/api/invitations/+server.js b/src/routes/api/invitations/+server.js index 06c16f5cc..1c6654880 100644 --- a/src/routes/api/invitations/+server.js +++ b/src/routes/api/invitations/+server.js @@ -1,30 +1,39 @@ -import { json } from '@sveltejs/kit'; +import { json } from '@sveltejs/kit' import supabase_admin from '$lib/supabase/admin' export async function POST({ request }) { - const {url, site = null, server_invitation, role, email} = await request.json(); + const { + url, + site = null, + server_invitation, + role, + email, + } = await request.json() - const { data, error } = await supabase_admin.auth.admin.inviteUserByEmail(email, { redirectTo: `${url}/auth/set-password?email=${email}` }) + const { data, error } = await supabase_admin.auth.admin.inviteUserByEmail( + email, + { redirectTo: `${url}/auth/set-password?email=${email}` } + ) if (!error) { + await supabase_admin.from('users').insert({ + id: data.user.id, + email: data.user.email, + }) - await supabase_admin - .from('users') - .insert({ - id: data.user.id, - email: data.user.email - }) - // Add to 'server_members' or 'collaborators' - const {error} = server_invitation ? - await supabase_admin.from('server_members').insert({ user: data.user.id, role }) : - await supabase_admin.from('collaborators').insert({ site, user: data.user.id, role }) + const { error } = server_invitation + ? await supabase_admin + .from('server_members') + .insert({ user: data.user.id, role }) + : await supabase_admin + .from('collaborators') + .insert({ site, user: data.user.id, role }) console.error(error) - return json({success: !error, error: error?.message}); + return json({ success: !error, error: error?.message }) } else { console.error(error) - return json({success: false, error: error.message}); + return json({ success: false, error: error.message }) } - } diff --git a/src/routes/auth/SignIn.svelte b/src/routes/auth/SignIn.svelte index 7c3c74b00..951949adf 100644 --- a/src/routes/auth/SignIn.svelte +++ b/src/routes/auth/SignIn.svelte @@ -17,12 +17,6 @@ Password -