@grammyjs/storage-supabase
Version:
Supabase database storage
30 lines • 2.47 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.supabaseAdapter = void 0;
function supabaseAdapter({ supabase, table }) {
if (!supabase) {
throw new Error('Kindly pass an instance of supabase client to the parameter list.');
}
if (!table) {
throw new Error('Kindly pass a table to the parameter list.');
}
return {
read: async (id) => {
const { data, error } = await supabase.from(table).select('session').eq('id', id)
.single();
if (error || !data) {
return undefined;
}
return JSON.parse(data.session);
},
write: async (id, value) => {
const input = { id, session: JSON.stringify(value) };
await supabase.from(table).upsert(input);
},
delete: async (id) => {
await supabase.from(table).delete().match({ id });
},
};
}
exports.supabaseAdapter = supabaseAdapter;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21vZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxTQUFnQixlQUFlLENBQzlCLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBK0M7SUFFaEUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyxtRUFBbUUsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFFRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDWixNQUFNLElBQUksS0FBSyxDQUFDLDRDQUE0QyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELE9BQU87UUFDTixJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQVUsRUFBRSxFQUFFO1lBQzFCLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQ3RFLElBQUksRUFDSixFQUFFLENBQ0Y7aUJBQ0MsTUFBTSxFQUFFLENBQUM7WUFFWCxJQUFJLEtBQUssSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNwQixPQUFPLFNBQVMsQ0FBQztZQUNsQixDQUFDO1lBRUQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQU0sQ0FBQztRQUN0QyxDQUFDO1FBQ0QsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFVLEVBQUUsS0FBUSxFQUFFLEVBQUU7WUFDckMsTUFBTSxLQUFLLEdBQUcsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUVyRCxNQUFNLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFDLENBQUM7UUFDRCxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQVUsRUFBRSxFQUFFO1lBQzVCLE1BQU0sUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELENBQUM7S0FDRCxDQUFDO0FBQ0gsQ0FBQztBQWxDRCwwQ0FrQ0MifQ==