mirror of
https://github.com/CompassConnections/Compass.git
synced 2025-12-23 22:18:43 -05:00
Clean file architecture
This commit is contained in:
@@ -8,5 +8,5 @@
|
||||
|
||||
## Reporting a Vulnerability
|
||||
|
||||
Contact the development team to report a vulnerability. You should receive updates within a week.
|
||||
Contact the development team at compass.meet.info@gmail.com to report a vulnerability. You should receive updates within a week.
|
||||
|
||||
|
||||
@@ -4,7 +4,13 @@ set -e
|
||||
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
rm -rf node_modules web/node_modules backend/api/node_modules backend/email/node_modules command/node_modules backend/shared/node_modules
|
||||
rm -rf \
|
||||
node_modules \
|
||||
web/node_modules \
|
||||
backend/api/node_modules \
|
||||
backend/email/node_modules \
|
||||
command/node_modules \
|
||||
backend/shared/node_modules
|
||||
|
||||
yarn install
|
||||
|
||||
|
||||
3
setup.sh
3
setup.sh
@@ -1,3 +1,6 @@
|
||||
# Description: Automated setup script for OpenTofu, Docker, and Yarn on Linux and macOS
|
||||
# If it fails, please help us improve it by creating an issue or a PR. Otherwise, you can install them manually.
|
||||
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
|
||||
797
supabase.ts
797
supabase.ts
@@ -1,797 +0,0 @@
|
||||
import {
|
||||
createClient as createClientGeneric,
|
||||
SupabaseClient as SupabaseClientGeneric,
|
||||
SupabaseClientOptions as SupabaseClientOptionsGeneric,
|
||||
} from '@supabase/supabase-js'
|
||||
|
||||
export type Json =
|
||||
| string
|
||||
| number
|
||||
| boolean
|
||||
| null
|
||||
| { [key: string]: Json | undefined }
|
||||
| Json[]
|
||||
export type Database = {
|
||||
public: {
|
||||
Tables: {
|
||||
love_answers: {
|
||||
Row: {
|
||||
created_time: string
|
||||
creator_id: string
|
||||
free_response: string | null
|
||||
id: number
|
||||
integer: number | null
|
||||
multiple_choice: number | null
|
||||
question_id: number
|
||||
}
|
||||
Insert: {
|
||||
created_time?: string
|
||||
creator_id: string
|
||||
free_response?: string | null
|
||||
id?: never
|
||||
integer?: number | null
|
||||
multiple_choice?: number | null
|
||||
question_id: number
|
||||
}
|
||||
Update: {
|
||||
created_time?: string
|
||||
creator_id?: string
|
||||
free_response?: string | null
|
||||
id?: never
|
||||
integer?: number | null
|
||||
multiple_choice?: number | null
|
||||
question_id?: number
|
||||
}
|
||||
Relationships: []
|
||||
}
|
||||
love_compatibility_answers: {
|
||||
Row: {
|
||||
created_time: string
|
||||
creator_id: string
|
||||
explanation: string | null
|
||||
id: number
|
||||
importance: number
|
||||
multiple_choice: number
|
||||
pref_choices: number[]
|
||||
question_id: number
|
||||
}
|
||||
Insert: {
|
||||
created_time?: string
|
||||
creator_id: string
|
||||
explanation?: string | null
|
||||
id?: never
|
||||
importance: number
|
||||
multiple_choice: number
|
||||
pref_choices: number[]
|
||||
question_id: number
|
||||
}
|
||||
Update: {
|
||||
created_time?: string
|
||||
creator_id?: string
|
||||
explanation?: string | null
|
||||
id?: never
|
||||
importance?: number
|
||||
multiple_choice?: number
|
||||
pref_choices?: number[]
|
||||
question_id?: number
|
||||
}
|
||||
Relationships: []
|
||||
}
|
||||
love_likes: {
|
||||
Row: {
|
||||
created_time: string
|
||||
creator_id: string
|
||||
like_id: string
|
||||
target_id: string
|
||||
}
|
||||
Insert: {
|
||||
created_time?: string
|
||||
creator_id: string
|
||||
like_id?: string
|
||||
target_id: string
|
||||
}
|
||||
Update: {
|
||||
created_time?: string
|
||||
creator_id?: string
|
||||
like_id?: string
|
||||
target_id?: string
|
||||
}
|
||||
Relationships: []
|
||||
}
|
||||
love_questions: {
|
||||
Row: {
|
||||
answer_type: string
|
||||
created_time: string
|
||||
creator_id: string
|
||||
id: number
|
||||
importance_score: number
|
||||
multiple_choice_options: Json | null
|
||||
question: string
|
||||
}
|
||||
Insert: {
|
||||
answer_type?: string
|
||||
created_time?: string
|
||||
creator_id: string
|
||||
id?: never
|
||||
importance_score?: number
|
||||
multiple_choice_options?: Json | null
|
||||
question: string
|
||||
}
|
||||
Update: {
|
||||
answer_type?: string
|
||||
created_time?: string
|
||||
creator_id?: string
|
||||
id?: never
|
||||
importance_score?: number
|
||||
multiple_choice_options?: Json | null
|
||||
question?: string
|
||||
}
|
||||
Relationships: []
|
||||
}
|
||||
love_ships: {
|
||||
Row: {
|
||||
created_time: string
|
||||
creator_id: string
|
||||
ship_id: string
|
||||
target1_id: string
|
||||
target2_id: string
|
||||
}
|
||||
Insert: {
|
||||
created_time?: string
|
||||
creator_id: string
|
||||
ship_id?: string
|
||||
target1_id: string
|
||||
target2_id: string
|
||||
}
|
||||
Update: {
|
||||
created_time?: string
|
||||
creator_id?: string
|
||||
ship_id?: string
|
||||
target1_id?: string
|
||||
target2_id?: string
|
||||
}
|
||||
Relationships: []
|
||||
}
|
||||
love_stars: {
|
||||
Row: {
|
||||
created_time: string
|
||||
creator_id: string
|
||||
star_id: string
|
||||
target_id: string
|
||||
}
|
||||
Insert: {
|
||||
created_time?: string
|
||||
creator_id: string
|
||||
star_id?: string
|
||||
target_id: string
|
||||
}
|
||||
Update: {
|
||||
created_time?: string
|
||||
creator_id?: string
|
||||
star_id?: string
|
||||
target_id?: string
|
||||
}
|
||||
Relationships: []
|
||||
}
|
||||
love_waitlist: {
|
||||
Row: {
|
||||
created_time: string
|
||||
email: string
|
||||
id: number
|
||||
}
|
||||
Insert: {
|
||||
created_time?: string
|
||||
email: string
|
||||
id?: never
|
||||
}
|
||||
Update: {
|
||||
created_time?: string
|
||||
email?: string
|
||||
id?: never
|
||||
}
|
||||
Relationships: []
|
||||
}
|
||||
lover_comments: {
|
||||
Row: {
|
||||
content: Json
|
||||
created_time: string
|
||||
hidden: boolean
|
||||
id: number
|
||||
on_user_id: string
|
||||
reply_to_comment_id: number | null
|
||||
user_avatar_url: string
|
||||
user_id: string
|
||||
user_name: string
|
||||
user_username: string
|
||||
}
|
||||
Insert: {
|
||||
content: Json
|
||||
created_time?: string
|
||||
hidden?: boolean
|
||||
id?: never
|
||||
on_user_id: string
|
||||
reply_to_comment_id?: number | null
|
||||
user_avatar_url: string
|
||||
user_id: string
|
||||
user_name: string
|
||||
user_username: string
|
||||
}
|
||||
Update: {
|
||||
content?: Json
|
||||
created_time?: string
|
||||
hidden?: boolean
|
||||
id?: never
|
||||
on_user_id?: string
|
||||
reply_to_comment_id?: number | null
|
||||
user_avatar_url?: string
|
||||
user_id?: string
|
||||
user_name?: string
|
||||
user_username?: string
|
||||
}
|
||||
Relationships: []
|
||||
}
|
||||
lovers: {
|
||||
Row: {
|
||||
age: number
|
||||
bio: Json | null
|
||||
born_in_location: string | null
|
||||
city: string
|
||||
city_latitude: number | null
|
||||
city_longitude: number | null
|
||||
comments_enabled: boolean
|
||||
company: string | null
|
||||
country: string | null
|
||||
created_time: string
|
||||
drinks_per_month: number | null
|
||||
education_level: string | null
|
||||
ethnicity: string[] | null
|
||||
gender: string
|
||||
geodb_city_id: string | null
|
||||
has_kids: number | null
|
||||
height_in_inches: number | null
|
||||
id: number
|
||||
is_smoker: boolean | null
|
||||
is_vegetarian_or_vegan: boolean | null
|
||||
last_online_time: string
|
||||
looking_for_matches: boolean
|
||||
messaging_status: string
|
||||
occupation: string | null
|
||||
occupation_title: string | null
|
||||
photo_urls: string[] | null
|
||||
pinned_url: string | null
|
||||
political_beliefs: string[] | null
|
||||
pref_age_max: number
|
||||
pref_age_min: number
|
||||
pref_gender: string[]
|
||||
pref_relation_styles: string[]
|
||||
referred_by_username: string | null
|
||||
region_code: string | null
|
||||
religious_belief_strength: number | null
|
||||
religious_beliefs: string | null
|
||||
twitter: string | null
|
||||
university: string | null
|
||||
user_id: string
|
||||
visibility: Database['public']['Enums']['lover_visibility']
|
||||
wants_kids_strength: number
|
||||
website: string | null
|
||||
}
|
||||
Insert: {
|
||||
age?: number
|
||||
bio?: Json | null
|
||||
born_in_location?: string | null
|
||||
city: string
|
||||
city_latitude?: number | null
|
||||
city_longitude?: number | null
|
||||
comments_enabled?: boolean
|
||||
company?: string | null
|
||||
country?: string | null
|
||||
created_time?: string
|
||||
drinks_per_month?: number | null
|
||||
education_level?: string | null
|
||||
ethnicity?: string[] | null
|
||||
gender: string
|
||||
geodb_city_id?: string | null
|
||||
has_kids?: number | null
|
||||
height_in_inches?: number | null
|
||||
id?: never
|
||||
is_smoker?: boolean | null
|
||||
is_vegetarian_or_vegan?: boolean | null
|
||||
last_online_time?: string
|
||||
looking_for_matches?: boolean
|
||||
messaging_status?: string
|
||||
occupation?: string | null
|
||||
occupation_title?: string | null
|
||||
photo_urls?: string[] | null
|
||||
pinned_url?: string | null
|
||||
political_beliefs?: string[] | null
|
||||
pref_age_max?: number
|
||||
pref_age_min?: number
|
||||
pref_gender: string[]
|
||||
pref_relation_styles: string[]
|
||||
referred_by_username?: string | null
|
||||
region_code?: string | null
|
||||
religious_belief_strength?: number | null
|
||||
religious_beliefs?: string | null
|
||||
twitter?: string | null
|
||||
university?: string | null
|
||||
user_id: string
|
||||
visibility?: Database['public']['Enums']['lover_visibility']
|
||||
wants_kids_strength?: number
|
||||
website?: string | null
|
||||
}
|
||||
Update: {
|
||||
age?: number
|
||||
bio?: Json | null
|
||||
born_in_location?: string | null
|
||||
city?: string
|
||||
city_latitude?: number | null
|
||||
city_longitude?: number | null
|
||||
comments_enabled?: boolean
|
||||
company?: string | null
|
||||
country?: string | null
|
||||
created_time?: string
|
||||
drinks_per_month?: number | null
|
||||
education_level?: string | null
|
||||
ethnicity?: string[] | null
|
||||
gender?: string
|
||||
geodb_city_id?: string | null
|
||||
has_kids?: number | null
|
||||
height_in_inches?: number | null
|
||||
id?: never
|
||||
is_smoker?: boolean | null
|
||||
is_vegetarian_or_vegan?: boolean | null
|
||||
last_online_time?: string
|
||||
looking_for_matches?: boolean
|
||||
messaging_status?: string
|
||||
occupation?: string | null
|
||||
occupation_title?: string | null
|
||||
photo_urls?: string[] | null
|
||||
pinned_url?: string | null
|
||||
political_beliefs?: string[] | null
|
||||
pref_age_max?: number
|
||||
pref_age_min?: number
|
||||
pref_gender?: string[]
|
||||
pref_relation_styles?: string[]
|
||||
referred_by_username?: string | null
|
||||
region_code?: string | null
|
||||
religious_belief_strength?: number | null
|
||||
religious_beliefs?: string | null
|
||||
twitter?: string | null
|
||||
university?: string | null
|
||||
user_id?: string
|
||||
visibility?: Database['public']['Enums']['lover_visibility']
|
||||
wants_kids_strength?: number
|
||||
website?: string | null
|
||||
}
|
||||
Relationships: []
|
||||
}
|
||||
private_user_message_channel_members: {
|
||||
Row: {
|
||||
channel_id: number
|
||||
created_time: string
|
||||
id: number
|
||||
notify_after_time: string
|
||||
role: string
|
||||
status: string
|
||||
user_id: string
|
||||
}
|
||||
Insert: {
|
||||
channel_id: number
|
||||
created_time?: string
|
||||
id?: never
|
||||
notify_after_time?: string
|
||||
role?: string
|
||||
status?: string
|
||||
user_id: string
|
||||
}
|
||||
Update: {
|
||||
channel_id?: number
|
||||
created_time?: string
|
||||
id?: never
|
||||
notify_after_time?: string
|
||||
role?: string
|
||||
status?: string
|
||||
user_id?: string
|
||||
}
|
||||
Relationships: [
|
||||
{
|
||||
foreignKeyName: 'channel_id_fkey'
|
||||
columns: ['channel_id']
|
||||
isOneToOne: false
|
||||
referencedRelation: 'private_user_message_channels'
|
||||
referencedColumns: ['id']
|
||||
}
|
||||
]
|
||||
}
|
||||
private_user_message_channels: {
|
||||
Row: {
|
||||
created_time: string
|
||||
id: number
|
||||
last_updated_time: string
|
||||
title: string | null
|
||||
}
|
||||
Insert: {
|
||||
created_time?: string
|
||||
id?: never
|
||||
last_updated_time?: string
|
||||
title?: string | null
|
||||
}
|
||||
Update: {
|
||||
created_time?: string
|
||||
id?: never
|
||||
last_updated_time?: string
|
||||
title?: string | null
|
||||
}
|
||||
Relationships: []
|
||||
}
|
||||
private_user_messages: {
|
||||
Row: {
|
||||
channel_id: number
|
||||
content: Json
|
||||
created_time: string
|
||||
id: number
|
||||
old_id: number | null
|
||||
user_id: string
|
||||
visibility: string
|
||||
}
|
||||
Insert: {
|
||||
channel_id: number
|
||||
content: Json
|
||||
created_time?: string
|
||||
id?: never
|
||||
old_id?: number | null
|
||||
user_id: string
|
||||
visibility?: string
|
||||
}
|
||||
Update: {
|
||||
channel_id?: number
|
||||
content?: Json
|
||||
created_time?: string
|
||||
id?: never
|
||||
old_id?: number | null
|
||||
user_id?: string
|
||||
visibility?: string
|
||||
}
|
||||
Relationships: [
|
||||
{
|
||||
foreignKeyName: 'private_user_messages_channel_id_fkey'
|
||||
columns: ['channel_id']
|
||||
isOneToOne: false
|
||||
referencedRelation: 'private_user_message_channels'
|
||||
referencedColumns: ['id']
|
||||
}
|
||||
]
|
||||
}
|
||||
private_user_seen_message_channels: {
|
||||
Row: {
|
||||
channel_id: number
|
||||
created_time: string
|
||||
id: number
|
||||
user_id: string
|
||||
}
|
||||
Insert: {
|
||||
channel_id: number
|
||||
created_time?: string
|
||||
id?: never
|
||||
user_id: string
|
||||
}
|
||||
Update: {
|
||||
channel_id?: number
|
||||
created_time?: string
|
||||
id?: never
|
||||
user_id?: string
|
||||
}
|
||||
Relationships: [
|
||||
{
|
||||
foreignKeyName: 'channel_id_fkey'
|
||||
columns: ['channel_id']
|
||||
isOneToOne: false
|
||||
referencedRelation: 'private_user_message_channels'
|
||||
referencedColumns: ['id']
|
||||
}
|
||||
]
|
||||
}
|
||||
private_users: {
|
||||
Row: {
|
||||
data: Json
|
||||
id: string
|
||||
}
|
||||
Insert: {
|
||||
data: Json
|
||||
id: string
|
||||
}
|
||||
Update: {
|
||||
data?: Json
|
||||
id?: string
|
||||
}
|
||||
Relationships: []
|
||||
}
|
||||
reports: {
|
||||
Row: {
|
||||
content_id: string
|
||||
content_owner_id: string
|
||||
content_type: string
|
||||
created_time: string | null
|
||||
description: string | null
|
||||
id: string
|
||||
parent_id: string | null
|
||||
parent_type: string | null
|
||||
user_id: string
|
||||
}
|
||||
Insert: {
|
||||
content_id: string
|
||||
content_owner_id: string
|
||||
content_type: string
|
||||
created_time?: string | null
|
||||
description?: string | null
|
||||
id?: string
|
||||
parent_id?: string | null
|
||||
parent_type?: string | null
|
||||
user_id: string
|
||||
}
|
||||
Update: {
|
||||
content_id?: string
|
||||
content_owner_id?: string
|
||||
content_type?: string
|
||||
created_time?: string | null
|
||||
description?: string | null
|
||||
id?: string
|
||||
parent_id?: string | null
|
||||
parent_type?: string | null
|
||||
user_id?: string
|
||||
}
|
||||
Relationships: [
|
||||
{
|
||||
foreignKeyName: 'reports_content_owner_id_fkey'
|
||||
columns: ['content_owner_id']
|
||||
isOneToOne: false
|
||||
referencedRelation: 'users'
|
||||
referencedColumns: ['id']
|
||||
},
|
||||
{
|
||||
foreignKeyName: 'reports_user_id_fkey'
|
||||
columns: ['user_id']
|
||||
isOneToOne: false
|
||||
referencedRelation: 'users'
|
||||
referencedColumns: ['id']
|
||||
}
|
||||
]
|
||||
}
|
||||
temp_users: {
|
||||
Row: {
|
||||
created_time: string | null
|
||||
id: string | null
|
||||
name: string | null
|
||||
private_user_data: Json | null
|
||||
user_data: Json | null
|
||||
username: string | null
|
||||
}
|
||||
Insert: {
|
||||
created_time?: string | null
|
||||
id?: string | null
|
||||
name?: string | null
|
||||
private_user_data?: Json | null
|
||||
user_data?: Json | null
|
||||
username?: string | null
|
||||
}
|
||||
Update: {
|
||||
created_time?: string | null
|
||||
id?: string | null
|
||||
name?: string | null
|
||||
private_user_data?: Json | null
|
||||
user_data?: Json | null
|
||||
username?: string | null
|
||||
}
|
||||
Relationships: []
|
||||
}
|
||||
user_events: {
|
||||
Row: {
|
||||
ad_id: string | null
|
||||
comment_id: string | null
|
||||
contract_id: string | null
|
||||
data: Json
|
||||
id: number
|
||||
name: string
|
||||
ts: string
|
||||
user_id: string | null
|
||||
}
|
||||
Insert: {
|
||||
ad_id?: string | null
|
||||
comment_id?: string | null
|
||||
contract_id?: string | null
|
||||
data: Json
|
||||
id?: never
|
||||
name: string
|
||||
ts?: string
|
||||
user_id?: string | null
|
||||
}
|
||||
Update: {
|
||||
ad_id?: string | null
|
||||
comment_id?: string | null
|
||||
contract_id?: string | null
|
||||
data?: Json
|
||||
id?: never
|
||||
name?: string
|
||||
ts?: string
|
||||
user_id?: string | null
|
||||
}
|
||||
Relationships: []
|
||||
}
|
||||
user_notifications: {
|
||||
Row: {
|
||||
data: Json
|
||||
notification_id: string
|
||||
user_id: string
|
||||
}
|
||||
Insert: {
|
||||
data: Json
|
||||
notification_id: string
|
||||
user_id: string
|
||||
}
|
||||
Update: {
|
||||
data?: Json
|
||||
notification_id?: string
|
||||
user_id?: string
|
||||
}
|
||||
Relationships: []
|
||||
}
|
||||
users: {
|
||||
Row: {
|
||||
created_time: string
|
||||
data: Json
|
||||
id: string
|
||||
name: string
|
||||
name_username_vector: unknown | null
|
||||
username: string
|
||||
}
|
||||
Insert: {
|
||||
created_time?: string
|
||||
data: Json
|
||||
id?: string
|
||||
name: string
|
||||
name_username_vector?: unknown | null
|
||||
username: string
|
||||
}
|
||||
Update: {
|
||||
created_time?: string
|
||||
data?: Json
|
||||
id?: string
|
||||
name?: string
|
||||
name_username_vector?: unknown | null
|
||||
username?: string
|
||||
}
|
||||
Relationships: []
|
||||
}
|
||||
}
|
||||
Views: {
|
||||
[_ in never]: never
|
||||
}
|
||||
Functions: {
|
||||
calculate_earth_distance_km: {
|
||||
Args: { lat1: number; lon1: number; lat2: number; lon2: number }
|
||||
Returns: number
|
||||
}
|
||||
can_access_private_messages: {
|
||||
Args: { channel_id: number; user_id: string }
|
||||
Returns: boolean
|
||||
}
|
||||
firebase_uid: {
|
||||
Args: Record<PropertyKey, never>
|
||||
Returns: string
|
||||
}
|
||||
get_average_rating: {
|
||||
Args: { user_id: string }
|
||||
Returns: number
|
||||
}
|
||||
get_compatibility_questions_with_answer_count: {
|
||||
Args: Record<PropertyKey, never>
|
||||
Returns: Record<string, unknown>[]
|
||||
}
|
||||
get_love_question_answers_and_lovers: {
|
||||
Args: { p_question_id: number }
|
||||
Returns: Record<string, unknown>[]
|
||||
}
|
||||
is_admin: {
|
||||
Args: Record<PropertyKey, never> | { user_id: string }
|
||||
Returns: boolean
|
||||
}
|
||||
millis_interval: {
|
||||
Args: { start_millis: number; end_millis: number }
|
||||
Returns: unknown
|
||||
}
|
||||
millis_to_ts: {
|
||||
Args: { millis: number }
|
||||
Returns: string
|
||||
}
|
||||
random_alphanumeric: {
|
||||
Args: { length: number }
|
||||
Returns: string
|
||||
}
|
||||
to_jsonb: {
|
||||
Args: { '': Json }
|
||||
Returns: Json
|
||||
}
|
||||
ts_to_millis: {
|
||||
Args: { ts: string } | { ts: string }
|
||||
Returns: number
|
||||
}
|
||||
}
|
||||
Enums: {
|
||||
lover_visibility: 'public' | 'member'
|
||||
}
|
||||
CompositeTypes: {
|
||||
[_ in never]: never
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export type Schema = Database['public']
|
||||
|
||||
export type SupabaseClient = SupabaseClientGeneric<Database, 'public', Schema>
|
||||
|
||||
export function createClient(
|
||||
instanceId: string,
|
||||
key: string,
|
||||
opts?: SupabaseClientOptionsGeneric<'public'>
|
||||
) {
|
||||
const url = `https://${instanceId}.supabase.co`
|
||||
return createClientGeneric(url, key, opts) as SupabaseClient
|
||||
}
|
||||
|
||||
export const ENV_CONFIG = {
|
||||
domain: 'dev.compassmeet.com',
|
||||
firebaseConfig: {
|
||||
apiKey: "AIzaSyAxzhj6bZuZ1TCw9xzibGccRHXiRWq6iy0",
|
||||
authDomain: "compass-130ba.firebaseapp.com",
|
||||
projectId: "compass-130ba",
|
||||
storageBucket: "compass-130ba-public",
|
||||
messagingSenderId: "253367029065",
|
||||
appId: "1:253367029065:web:b338785af99d4145095e98",
|
||||
measurementId: "G-2LSQYJQE6P",
|
||||
region: 'us-west1',
|
||||
privateBucket: 'compass-130ba.firebasestorage.app',
|
||||
},
|
||||
cloudRunId: 'w3txbmd3ba',
|
||||
cloudRunRegion: 'uc',
|
||||
supabaseInstanceId: 'ltzepxnhhnrnvovqblfr',
|
||||
supabaseAnonKey: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Imx0emVweG5oaG5ybnZvdnFibGZyIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTU5NjczNjgsImV4cCI6MjA3MTU0MzM2OH0.pbazcrVOG7Kh_IgblRu2VAfoBe3-xheNfRzAto7xvzY',
|
||||
apiEndpoint: 'api.dev.compassmeet.com',
|
||||
adminIds: [
|
||||
'...',
|
||||
],
|
||||
}
|
||||
|
||||
export function initSupabaseClient() {
|
||||
// console.log(
|
||||
// 'Initializing supabase client',
|
||||
// ENV_CONFIG.supabaseInstanceId,
|
||||
// ENV_CONFIG.supabaseAnonKey
|
||||
// )
|
||||
return createClient(ENV_CONFIG.supabaseInstanceId, ENV_CONFIG.supabaseAnonKey)
|
||||
}
|
||||
|
||||
export const db = initSupabaseClient()
|
||||
|
||||
export const removeUndefinedProps = <T extends object>(obj: T): T => {
|
||||
const newObj: any = {}
|
||||
|
||||
for (const key of Object.keys(obj)) {
|
||||
if ((obj as any)[key] !== undefined) newObj[key] = (obj as any)[key]
|
||||
}
|
||||
|
||||
return newObj
|
||||
}
|
||||
|
||||
const userId = 'Fpf0JZ1J79MS1dAvYXwyOMnwrHV2'
|
||||
const commentId = 'abcd'
|
||||
|
||||
console.log(db)
|
||||
const data = db.from('lovers').select('*').eq('user_id', userId)
|
||||
// const data = db.from('user_events').insert({
|
||||
// name: 'name_test',
|
||||
// data: removeUndefinedProps({username: "MartinBraquet"}) as Record<string, Json>,
|
||||
// // user_id: userId,
|
||||
// comment_id: undefined,
|
||||
// })
|
||||
|
||||
data.then((d) => console.log(d))
|
||||
Reference in New Issue
Block a user