UNPKG

@0xtld/tair-node

Version:

A Node.js package for Tair functionality with configuration, core, and helper modules.

54 lines (53 loc) 1.67 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SupabaseDB = void 0; const supabase_js_1 = require("@supabase/supabase-js"); const DefaultSupabaseURL = process.env.SUPABASE_URL || ''; const DefaultSupabaseKey = process.env.SUPABASE_KEY || ''; class SupabaseDB { constructor(url, key) { url = url || DefaultSupabaseURL; key = key || DefaultSupabaseKey; if (!url || !key) { throw new Error('Supabase URL and Key are required'); } this.instance = (0, supabase_js_1.createClient)(url, key); } async getData(table) { const { data, error } = await this.instance .from(table) .select('*'); if (error) throw error; return data; } async insertData(table, data) { const { error, count } = await this.instance .from(table) .insert(data); if (error) throw error; return `Inserted ${count} rows`; } async updateData(table, data, keyEq) { const keyEqValue = data[keyEq]; const { error, count } = await this.instance .from(table) .update(data) .eq(keyEq, keyEqValue); if (error) throw error; return `Updated ${count} rows`; } async deleteData(table, keyEq, keyEqValue) { const { error, count } = await this.instance .from(table) .delete() .eq(keyEq, keyEqValue); if (error) throw error; return `Deleted ${count} rows`; } } exports.SupabaseDB = SupabaseDB; exports.default = SupabaseDB;