@grammyjs/storage-supabase
Version:
Supabase database storage
26 lines • 2.31 kB
JavaScript
export 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 });
},
};
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21vZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLFVBQVUsZUFBZSxDQUM5QixFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQStDO0lBRWhFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsbUVBQW1FLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBRUQsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxPQUFPO1FBQ04sSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFVLEVBQUUsRUFBRTtZQUMxQixNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLE1BQU0sUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUN0RSxJQUFJLEVBQ0osRUFBRSxDQUNGO2lCQUNDLE1BQU0sRUFBRSxDQUFDO1lBRVgsSUFBSSxLQUFLLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDcEIsT0FBTyxTQUFTLENBQUM7WUFDbEIsQ0FBQztZQUVELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFNLENBQUM7UUFDdEMsQ0FBQztRQUNELEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBVSxFQUFFLEtBQVEsRUFBRSxFQUFFO1lBQ3JDLE1BQU0sS0FBSyxHQUFHLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFFckQsTUFBTSxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQyxDQUFDO1FBQ0QsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFVLEVBQUUsRUFBRTtZQUM1QixNQUFNLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNuRCxDQUFDO0tBQ0QsQ0FBQztBQUNILENBQUMifQ==