@resvary/postgres 0.5.0-alpha.2 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/receipt.js CHANGED
@@ -1,16 +1,18 @@
1
1
  import { parseReceiptStoreValue, serializeReceiptStoreValue } from '@resvary/sdk/receipts';
2
- import { createPostgresHandle, table, } from './connection.js';
3
- export class PostgresReceiptStore {
2
+ import { createPostgresHandle, isRetryableTransactionError, rollback, table, } from './connection.js';
3
+ class PostgresReceiptStoreView {
4
+ db;
4
5
  handle;
5
- constructor(config) {
6
- this.handle = createPostgresHandle(config);
6
+ constructor(db, handle) {
7
+ this.db = db;
8
+ this.handle = handle;
7
9
  }
8
10
  async saveInvoice(value) {
9
- await this.handle.pool.query(`INSERT INTO ${table(this.handle, 'resvary_invoices')}
10
- (id, status, customer_id, amount_units, created_at, payload)
11
- VALUES ($1, $2, $3, $4, $5, $6)
12
- ON CONFLICT (id) DO UPDATE SET status = EXCLUDED.status,
13
- customer_id = EXCLUDED.customer_id, amount_units = EXCLUDED.amount_units,
11
+ await this.db.query(`INSERT INTO ${table(this.handle, 'resvary_invoices')}
12
+ (id, status, customer_id, amount_units, created_at, payload)
13
+ VALUES ($1, $2, $3, $4, $5, $6)
14
+ ON CONFLICT (id) DO UPDATE SET status = EXCLUDED.status,
15
+ customer_id = EXCLUDED.customer_id, amount_units = EXCLUDED.amount_units,
14
16
  created_at = EXCLUDED.created_at, payload = EXCLUDED.payload`, [
15
17
  value.id,
16
18
  value.status,
@@ -28,9 +30,9 @@ export class PostgresReceiptStore {
28
30
  (!filter.customerId || value.customerId === filter.customerId));
29
31
  }
30
32
  async saveReceipt(value) {
31
- await this.handle.pool.query(`INSERT INTO ${table(this.handle, 'resvary_receipts')}
32
- (id, invoice_id, tx_hash_norm, status, amount_units, created_at, payload)
33
- VALUES ($1, $2, $3, $4, $5, $6, $7)
33
+ await this.db.query(`INSERT INTO ${table(this.handle, 'resvary_receipts')}
34
+ (id, invoice_id, tx_hash_norm, status, amount_units, created_at, payload)
35
+ VALUES ($1, $2, $3, $4, $5, $6, $7)
34
36
  ON CONFLICT DO NOTHING`, [
35
37
  value.id,
36
38
  value.invoiceId,
@@ -45,28 +47,28 @@ export class PostgresReceiptStore {
45
47
  return this.one(`SELECT payload::text AS payload FROM ${table(this.handle, 'resvary_receipts')} WHERE id = $1`, [id]);
46
48
  }
47
49
  getReceiptByTxHash(txHash, invoiceId) {
48
- return this.one(`SELECT payload::text AS payload FROM ${table(this.handle, 'resvary_receipts')}
50
+ return this.one(`SELECT payload::text AS payload FROM ${table(this.handle, 'resvary_receipts')}
49
51
  WHERE tx_hash_norm = $1 ${invoiceId ? 'AND invoice_id = $2' : ''} LIMIT 1`, invoiceId ? [txHash.toLowerCase(), invoiceId] : [txHash.toLowerCase()]);
50
52
  }
51
53
  listReceipts() {
52
54
  return this.all(`SELECT payload::text AS payload FROM ${table(this.handle, 'resvary_receipts')} ORDER BY created_at ASC`);
53
55
  }
54
56
  async saveWebhookEvent(value) {
55
- await this.handle.pool.query(`INSERT INTO ${table(this.handle, 'arc_webhook_events')}(id, type, created_at, payload)
56
- VALUES ($1, $2, $3, $4)
57
- ON CONFLICT (id) DO UPDATE SET type = EXCLUDED.type,
57
+ await this.db.query(`INSERT INTO ${table(this.handle, 'arc_webhook_events')}(id, type, created_at, payload)
58
+ VALUES ($1, $2, $3, $4)
59
+ ON CONFLICT (id) DO UPDATE SET type = EXCLUDED.type,
58
60
  created_at = EXCLUDED.created_at, payload = EXCLUDED.payload`, [value.id, value.type, value.createdAt, serializeReceiptStoreValue(value)]);
59
61
  }
60
62
  async listWebhookEvents(filter = {}) {
61
63
  return (await this.all(`SELECT payload::text AS payload FROM ${table(this.handle, 'arc_webhook_events')} ORDER BY created_at ASC`)).filter((value) => !filter.type || value.type === filter.type);
62
64
  }
63
65
  async saveWebhookDelivery(value) {
64
- await this.handle.pool.query(`INSERT INTO ${table(this.handle, 'arc_webhook_deliveries')}
65
- (id, event_id, event_type, attempt, status, received_at, payload)
66
- VALUES ($1, $2, $3, $4, $5, $6, $7)
67
- ON CONFLICT (id) DO UPDATE SET event_id = EXCLUDED.event_id,
68
- event_type = EXCLUDED.event_type, attempt = EXCLUDED.attempt,
69
- status = EXCLUDED.status, received_at = EXCLUDED.received_at,
66
+ await this.db.query(`INSERT INTO ${table(this.handle, 'arc_webhook_deliveries')}
67
+ (id, event_id, event_type, attempt, status, received_at, payload)
68
+ VALUES ($1, $2, $3, $4, $5, $6, $7)
69
+ ON CONFLICT (id) DO UPDATE SET event_id = EXCLUDED.event_id,
70
+ event_type = EXCLUDED.event_type, attempt = EXCLUDED.attempt,
71
+ status = EXCLUDED.status, received_at = EXCLUDED.received_at,
70
72
  payload = EXCLUDED.payload`, [
71
73
  value.id,
72
74
  value.eventId,
@@ -91,12 +93,12 @@ export class PostgresReceiptStore {
91
93
  return this.all(`SELECT payload::text AS payload FROM ${table(this.handle, 'arc_watcher_cursors')} ORDER BY updated_at ASC`);
92
94
  }
93
95
  async saveWatcherCursor(value) {
94
- await this.handle.pool.query(`INSERT INTO ${table(this.handle, 'arc_watcher_cursors')}
95
- (key, network, invoice_id, memo_id_norm, next_from_block, updated_at, payload)
96
- VALUES ($1, $2, $3, $4, $5, $6, $7)
97
- ON CONFLICT (key) DO UPDATE SET network = EXCLUDED.network,
98
- invoice_id = EXCLUDED.invoice_id, memo_id_norm = EXCLUDED.memo_id_norm,
99
- next_from_block = EXCLUDED.next_from_block, updated_at = EXCLUDED.updated_at,
96
+ await this.db.query(`INSERT INTO ${table(this.handle, 'arc_watcher_cursors')}
97
+ (key, network, invoice_id, memo_id_norm, next_from_block, updated_at, payload)
98
+ VALUES ($1, $2, $3, $4, $5, $6, $7)
99
+ ON CONFLICT (key) DO UPDATE SET network = EXCLUDED.network,
100
+ invoice_id = EXCLUDED.invoice_id, memo_id_norm = EXCLUDED.memo_id_norm,
101
+ next_from_block = EXCLUDED.next_from_block, updated_at = EXCLUDED.updated_at,
100
102
  payload = EXCLUDED.payload`, [
101
103
  value.key,
102
104
  value.network,
@@ -108,21 +110,53 @@ export class PostgresReceiptStore {
108
110
  ]);
109
111
  }
110
112
  async deleteWatcherCursor(key) {
111
- await this.handle.pool.query(`DELETE FROM ${table(this.handle, 'arc_watcher_cursors')} WHERE key = $1`, [key]);
112
- }
113
- async close() {
114
- if (this.handle.ownsPool)
115
- await this.handle.pool.end();
113
+ await this.db.query(`DELETE FROM ${table(this.handle, 'arc_watcher_cursors')} WHERE key = $1`, [
114
+ key,
115
+ ]);
116
116
  }
117
117
  async one(sql, values = []) {
118
- const result = await this.handle.pool.query(sql, values);
118
+ const result = await this.db.query(sql, values);
119
119
  return result.rows[0] ? parseReceiptStoreValue(result.rows[0].payload) : undefined;
120
120
  }
121
121
  async all(sql, values = []) {
122
- const result = await this.handle.pool.query(sql, values);
122
+ const result = await this.db.query(sql, values);
123
123
  return result.rows.map((row) => parseReceiptStoreValue(row.payload));
124
124
  }
125
125
  }
126
+ export class PostgresReceiptStore extends PostgresReceiptStoreView {
127
+ ownedHandle;
128
+ constructor(config) {
129
+ const handle = createPostgresHandle(config);
130
+ super(handle.pool, handle);
131
+ this.ownedHandle = handle;
132
+ }
133
+ async transaction(handler) {
134
+ for (let attempt = 0;; attempt += 1) {
135
+ const client = await this.ownedHandle.pool.connect();
136
+ try {
137
+ await client.query('BEGIN ISOLATION LEVEL SERIALIZABLE');
138
+ const result = await handler(new PostgresReceiptStoreView(client, this.ownedHandle));
139
+ await client.query('COMMIT');
140
+ return result;
141
+ }
142
+ catch (error) {
143
+ await rollback(client);
144
+ if (!isRetryableTransactionError(error) ||
145
+ attempt >= this.ownedHandle.maxTransactionRetries) {
146
+ throw error;
147
+ }
148
+ await new Promise((resolve) => setTimeout(resolve, Math.min(10 * 2 ** attempt, 250)));
149
+ }
150
+ finally {
151
+ client.release();
152
+ }
153
+ }
154
+ }
155
+ async close() {
156
+ if (this.ownedHandle.ownsPool)
157
+ await this.ownedHandle.pool.end();
158
+ }
159
+ }
126
160
  export function createPostgresReceiptStore(config) {
127
161
  return new PostgresReceiptStore(config);
128
162
  }
@@ -1 +1 @@
1
- {"version":3,"file":"receipt.js","sourceRoot":"","sources":["../src/receipt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"receipt.js","sourceRoot":"","sources":["../src/receipt.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,50 +1,49 @@
1
- {
2
- "name": "@resvary/postgres",
3
- "version": "0.5.0-alpha.2",
4
- "description": "Postgres persistence and migration tooling for Resvary",
5
- "type": "module",
6
- "main": "./dist/index.js",
7
- "types": "./dist/index.d.ts",
8
- "bin": {
9
- "resvary-postgres": "dist/cli.js"
10
- },
11
- "exports": {
12
- ".": {
13
- "types": "./dist/index.d.ts",
14
- "import": "./dist/index.js"
15
- },
16
- "./import-sqlite": {
17
- "types": "./dist/import-sqlite.d.ts",
18
- "import": "./dist/import-sqlite.js"
19
- }
20
- },
21
- "files": [
22
- "dist",
23
- "README.md",
24
- "LICENSE"
25
- ],
26
- "publishConfig": {
27
- "access": "public",
28
- "tag": "alpha"
29
- },
30
- "scripts": {
31
- "build": "tsc",
32
- "dev": "tsc --watch",
33
- "clean": "node -e \"const fs=require('node:fs');fs.rmSync('dist',{recursive:true,force:true});fs.rmSync('tsconfig.tsbuildinfo',{force:true})\"",
34
- "test": "vitest run"
35
- },
36
- "engines": {
37
- "node": ">=20.0.0"
38
- },
39
- "dependencies": {
40
- "@resvary/sdk": "0.5.0-alpha.2",
41
- "pg": "^8.16.3"
42
- },
43
- "devDependencies": {
44
- "@types/node": "^22.0.0",
45
- "@types/pg": "^8.15.5",
46
- "typescript": "^5.6.0",
47
- "vitest": "^4.1.10"
48
- },
49
- "license": "Apache-2.0"
50
- }
1
+ {
2
+ "name": "@resvary/postgres",
3
+ "version": "0.5.0",
4
+ "description": "Postgres persistence and migration tooling for Resvary",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "bin": {
9
+ "resvary-postgres": "dist/cli.js"
10
+ },
11
+ "exports": {
12
+ ".": {
13
+ "types": "./dist/index.d.ts",
14
+ "import": "./dist/index.js"
15
+ },
16
+ "./import-sqlite": {
17
+ "types": "./dist/import-sqlite.d.ts",
18
+ "import": "./dist/import-sqlite.js"
19
+ }
20
+ },
21
+ "files": [
22
+ "dist",
23
+ "README.md",
24
+ "LICENSE"
25
+ ],
26
+ "publishConfig": {
27
+ "access": "public"
28
+ },
29
+ "scripts": {
30
+ "build": "tsc",
31
+ "dev": "tsc --watch",
32
+ "clean": "node -e \"const fs=require('node:fs');fs.rmSync('dist',{recursive:true,force:true});fs.rmSync('tsconfig.tsbuildinfo',{force:true})\"",
33
+ "test": "vitest run"
34
+ },
35
+ "engines": {
36
+ "node": ">=20.0.0"
37
+ },
38
+ "dependencies": {
39
+ "@resvary/sdk": "0.5.0",
40
+ "pg": "^8.16.3"
41
+ },
42
+ "devDependencies": {
43
+ "@types/node": "^22.0.0",
44
+ "@types/pg": "^8.15.5",
45
+ "typescript": "^5.6.0",
46
+ "vitest": "^4.1.10"
47
+ },
48
+ "license": "Apache-2.0"
49
+ }