|
1 | 1 | import { createClient } from "@supabase/supabase-js";
|
2 | 2 | import { DBWrapper } from '~/assets/scripts/database';
|
3 | 3 |
|
| 4 | +export const useSupabaseInfo = () => { |
| 5 | + if(!process.env.SUPABASE_URL || !process.env.SUPABASE_ANON_KEY) { |
| 6 | + throw new Error("Missing Supabase URL or Anon Key"); |
| 7 | + } |
| 8 | + |
| 9 | + return { |
| 10 | + url: process.env.SUPABASE_URL, |
| 11 | + key: process.env.SUPABASE_ANON_KEY |
| 12 | + } |
| 13 | +} |
| 14 | + |
4 | 15 | /** Creates an instance of the database wrapper. */
|
5 | 16 | export const useDatabase = () => {
|
6 |
| - const runtimeConfig = useRuntimeConfig(); |
7 |
| - const url = runtimeConfig.public.supabaseUrl; |
8 |
| - const key = runtimeConfig.public.supabaseAnonKey; |
| 17 | + const { url, key } = useSupabaseInfo(); |
9 | 18 |
|
10 | 19 | return new DBWrapper(url, key);
|
11 | 20 | };
|
12 | 21 |
|
13 | 22 | /** Creates an instance of Supabase. */
|
14 | 23 | export const useSupabase = () => {
|
15 |
| - const runtimeConfig = useRuntimeConfig(); |
16 |
| - const url = runtimeConfig.public.supabaseUrl; |
17 |
| - const key = runtimeConfig.public.supabaseAnonKey; |
| 24 | + const { url, key } = useSupabaseInfo(); |
18 | 25 |
|
19 | 26 | return createClient(url, key);
|
20 | 27 | }
|
21 | 28 |
|
22 | 29 | /** Creates an instance of Supabase, then get the current user. */
|
23 | 30 | export const useSupabaseUser = () => {
|
24 |
| - const runtimeConfig = useRuntimeConfig(); |
25 |
| - const url = runtimeConfig.public.supabaseUrl; |
26 |
| - const key = runtimeConfig.public.supabaseAnonKey; |
| 31 | + const { url, key } = useSupabaseInfo(); |
27 | 32 |
|
28 | 33 | const supabase = createClient(url, key);
|
29 | 34 |
|
|
0 commit comments