@0xtld/tair-node
Version:
A Node.js package for Tair functionality with configuration, core, and helper modules.
54 lines (53 loc) • 1.67 kB
JavaScript
;
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;