@dieugene/payments-db
v0.1.1
Published
Payments DB access layer for YDB Serverless (invoices & payments repos)
Maintainers
Readme
@dieugene/payments-db
Упрощённый модуль для работы c инвойсами. Автоинициализация YDB через PAYMENTS_DB_ADDRESS. CommonJS (require).
- Отдаём только инвойсы, доступ к БД скрыт внутри.
- Есть «чёрный ход»:
rawдля прямого доступа к соединению и репозиториям. - Таблица:
payments_db, индекс поuuid:VIEW uuid_index.
Требования
- Node.js >= 18
- Env:
PAYMENTS_DB_ADDRESS
Установка
npm installБыстрый старт
const db = require('@dieugene/payments-db');
// Создать инвойс
const invoice = await db.invoices.make_invoice({
domain: 'example.com',
amount: 1000,
data: { comment: 'test' }
});
// Получить инвойс
const same = await db.invoices.get_invoice(invoice.id);
// Обновить инвойс
await db.invoices.set({ id: invoice.id, is_paid: true });
Низкоуровневый доступ (по необходимости)
const db = require('@dieugene/payments-db');
const connection = db.raw.get_connection(); // адаптер YDB c execute/upsert_struct
const payments = db.raw.payments();
const invoices = db.raw.invoices();API
invoices.make_invoice({ domain, amount, currency = 'RUB', data })invoices.get_invoice(id_or_uuid)invoices.set(invoice_updates, return_record = true)
Заметки
- Соединение лениво создаётся на основе
PAYMENTS_DB_ADDRESS.
