Files
zellyy-finance/src/lib/supabase.ts
gpt-engineer-app[bot] 5089838a57 Configure Supabase environment variables
Sets Supabase URL and anon key using environment variables.
2025-03-15 06:28:59 +00:00

51 lines
2.1 KiB
TypeScript

import { createClient } from '@supabase/supabase-js';
// Supabase 온프레미스 URL과 anon key 설정
// 환경 변수를 우선적으로 사용하되, 하드코딩된 값을 기본값으로 설정
const supabaseUrl = import.meta.env.VITE_SUPABASE_URL || 'https://xguihxuzqibwxjnimxev.supabase.co';
const supabaseAnonKey = import.meta.env.VITE_SUPABASE_ANON_KEY || 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InhndWloeHV6cWlid3hqbmlteGV2Iiwicm9sZSI6ImFub24iLCJpYXQiOjE2NzUwOTQ4MzUsImV4cCI6MTk5MDY3MDgzNX0.0PMlOxtKL4O9GGZuAP_Xl4f-Tut1qOnW4bNEmAtoB8w';
// 유효한 URL이 설정되었는지 확인
const isValidUrl = supabaseUrl && supabaseAnonKey &&
!supabaseUrl.includes('YOUR_SUPABASE_URL') &&
!supabaseAnonKey.includes('YOUR_SUPABASE_ANON_KEY');
let supabaseClient;
try {
// Supabase 클라이언트 생성
supabaseClient = createClient(supabaseUrl, supabaseAnonKey, {
auth: {
autoRefreshToken: true,
persistSession: true,
},
});
// Supabase 연결 로그
console.log('Supabase 클라이언트가 생성되었습니다.');
// 유효성 검사 로그
if (!isValidUrl) {
console.warn('경고: 유효하지 않은 Supabase URL 또는 Anon Key가 감지되었습니다.');
}
} catch (error) {
console.error('Supabase 클라이언트 생성 오류:', error);
// 더미 클라이언트 생성 (앱이 완전히 실패하지 않도록)
supabaseClient = {
auth: {
getUser: () => Promise.resolve({ data: { user: null } }),
signInWithPassword: () => Promise.reject(new Error('Supabase 설정이 필요합니다')),
signUp: () => Promise.reject(new Error('Supabase 설정이 필요합니다')),
},
from: () => ({
select: () => ({ eq: () => ({ data: null, error: new Error('Supabase 설정이 필요합니다') }) }),
insert: () => ({ error: new Error('Supabase 설정이 필요합니다') }),
delete: () => ({ eq: () => ({ error: new Error('Supabase 설정이 필요합니다') }) }),
}),
};
}
export const supabase = supabaseClient;