{"_id":"@dieugene/payments-db","_rev":"2-967edf65f46750ba476f12bd6f79b6eb","name":"@dieugene/payments-db","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@dieugene/payments-db","version":"0.1.0","keywords":["payments","invoices","ydb","database","serverless"],"license":"MIT","_id":"@dieugene/payments-db@0.1.0","maintainers":[{"name":"di.eugene","email":"ditkovsky.eugene@gmail.com"}],"dist":{"shasum":"bd91e1c9c59918e0ed1ab511d2d2e01513009a91","tarball":"https://registry.npmjs.org/@dieugene/payments-db/-/payments-db-0.1.0.tgz","fileCount":6,"integrity":"sha512-vkoj7VPEbX90MU7yXYIsGuBUb2hlPSDfTpESfRr62J3lScNQkDxkd+ISabd29UkMR0e5h+Fz7A1OCKwLReN8Ew==","signatures":[{"sig":"MEUCIQCJ9XmAq9qSBmHH0rcXK3Pdf2VkIzqbw2uffRYONybNbQIgGGgvJMdiTe8A9YDeAqsdJPUlQJG2+vHUJXEStFO40oU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7971},"main":"index.js","type":"commonjs","exports":{".":"./index.js"},"_npmUser":{"name":"di.eugene","email":"ditkovsky.eugene@gmail.com"},"_npmVersion":"10.8.1","description":"Payments DB access layer for YDB Serverless (invoices & payments repos)","directories":{},"_nodeVersion":"20.16.0","dependencies":{"uuid":"^11.1.0","@dieugene/ydb-serverless":"^1.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/payments-db_0.1.0_1757605330794_0.2866477376375727","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@dieugene/payments-db","version":"0.1.1","main":"index.js","type":"commonjs","description":"Payments DB access layer for YDB Serverless (invoices & payments repos)","license":"MIT","keywords":["payments","invoices","ydb","database","serverless"],"exports":{".":"./index.js"},"publishConfig":{"access":"public"},"dependencies":{"uuid":"^11.1.0","@dieugene/ydb-serverless":"^1.0.3"},"_id":"@dieugene/payments-db@0.1.1","_nodeVersion":"20.16.0","_npmVersion":"10.8.1","dist":{"integrity":"sha512-CpsuZJ1oCuyEYv7XfECr2Ln++IW9iEtFt3WotxeML7W7MoVQcYRlM4yRQPCUYC/Sdcpsq0Ju0JnDm1K700ivvA==","shasum":"3b9ad66da85617aabd01b7f0c237e18f58c383f9","tarball":"https://registry.npmjs.org/@dieugene/payments-db/-/payments-db-0.1.1.tgz","fileCount":6,"unpackedSize":9224,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDJOLXoXnZQeP6/lu0q1Y96SrL0U1FY3RgpAQ+zciYP0AiEA7560t2vaEIHDGDeDmdJNvVfaRLij6WwVW5t9yLirCJc="}]},"_npmUser":{"name":"di.eugene","email":"ditkovsky.eugene@gmail.com"},"directories":{},"maintainers":[{"name":"di.eugene","email":"ditkovsky.eugene@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/payments-db_0.1.1_1757689762563_0.24331790695406874"},"_hasShrinkwrap":false}},"time":{"created":"2025-09-11T15:42:10.715Z","modified":"2025-09-12T15:09:22.944Z","0.1.0":"2025-09-11T15:42:10.978Z","0.1.1":"2025-09-12T15:09:22.735Z"},"license":"MIT","keywords":["payments","invoices","ydb","database","serverless"],"description":"Payments DB access layer for YDB Serverless (invoices & payments repos)","maintainers":[{"name":"di.eugene","email":"ditkovsky.eugene@gmail.com"}],"readme":"# @dieugene/payments-db\r\n\r\nУпрощённый модуль для работы c инвойсами. Автоинициализация YDB через `PAYMENTS_DB_ADDRESS`. CommonJS (`require`).\r\n\r\n- **Отдаём только инвойсы**, доступ к БД скрыт внутри.\r\n- Есть «чёрный ход»: `raw` для прямого доступа к соединению и репозиториям.\r\n- Таблица: `payments_db`, индекс по `uuid`: `VIEW uuid_index`.\r\n\r\n## Требования\r\n- Node.js >= 18\r\n- Env: `PAYMENTS_DB_ADDRESS`\r\n\r\n## Установка\r\n\r\n```\r\nnpm install\r\n```\r\n\r\n## Быстрый старт\r\n\r\n```js\r\nconst db = require('@dieugene/payments-db');\r\n\r\n// Создать инвойс\r\nconst invoice = await db.invoices.make_invoice({\r\n  domain: 'example.com',\r\n  amount: 1000,\r\n  data: { comment: 'test' }\r\n});\r\n\r\n// Получить инвойс\r\nconst same = await db.invoices.get_invoice(invoice.id);\r\n\r\n// Обновить инвойс\r\nawait db.invoices.set({ id: invoice.id, is_paid: true });\r\n\r\n```\r\n\r\n## Низкоуровневый доступ (по необходимости)\r\n\r\n```js\r\nconst db = require('@dieugene/payments-db');\r\nconst connection = db.raw.get_connection(); // адаптер YDB c execute/upsert_struct\r\nconst payments = db.raw.payments();\r\nconst invoices = db.raw.invoices();\r\n```\r\n\r\n## API\r\n- `invoices.make_invoice({ domain, amount, currency = 'RUB', data })`\r\n- `invoices.get_invoice(id_or_uuid)`\r\n- `invoices.set(invoice_updates, return_record = true)`\r\n\r\n## Заметки\r\n- Соединение лениво создаётся на основе `PAYMENTS_DB_ADDRESS`.\r\n","readmeFilename":"README.md"}