UNPKG

@dieugene/payments-db

Version:

Payments DB access layer for YDB Serverless (invoices & payments repos)

55 lines (39 loc) 1.68 kB
# @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 ``` ## Быстрый старт ```js 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 }); ``` ## Низкоуровневый доступ (по необходимости) ```js 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`.