@resvary/postgres 0.5.0-alpha.1
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/LICENSE +1 -0
- package/README.md +5 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +74 -0
- package/dist/cli.js.map +1 -0
- package/dist/connection.d.ts +19 -0
- package/dist/connection.d.ts.map +1 -0
- package/dist/connection.js +37 -0
- package/dist/connection.js.map +1 -0
- package/dist/credit.d.ts +41 -0
- package/dist/credit.d.ts.map +1 -0
- package/dist/credit.js +468 -0
- package/dist/credit.js.map +1 -0
- package/dist/health.d.ts +13 -0
- package/dist/health.d.ts.map +1 -0
- package/dist/health.js +40 -0
- package/dist/health.js.map +1 -0
- package/dist/import-sqlite.d.ts +19 -0
- package/dist/import-sqlite.d.ts.map +1 -0
- package/dist/import-sqlite.js +293 -0
- package/dist/import-sqlite.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/migrations.d.ts +11 -0
- package/dist/migrations.d.ts.map +1 -0
- package/dist/migrations.js +160 -0
- package/dist/migrations.js.map +1 -0
- package/dist/receipt.d.ts +29 -0
- package/dist/receipt.d.ts.map +1 -0
- package/dist/receipt.js +129 -0
- package/dist/receipt.js.map +1 -0
- package/package.json +50 -0
package/LICENSE
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Apache License 2.0. See the repository root LICENSE file.
|
package/README.md
ADDED
package/dist/cli.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
|
package/dist/cli.js
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { getPostgresMigrationStatus, migratePostgres } from './index.js';
|
|
3
|
+
async function main() {
|
|
4
|
+
const [command, ...rest] = process.argv.slice(2);
|
|
5
|
+
const options = parseOptions(rest);
|
|
6
|
+
const connectionString = optionString(options, 'database-url') ?? process.env.DATABASE_URL;
|
|
7
|
+
if (!connectionString)
|
|
8
|
+
throw new Error('DATABASE_URL or --database-url is required');
|
|
9
|
+
const schema = optionString(options, 'schema') ?? process.env.RESVARY_POSTGRES_SCHEMA ?? 'public';
|
|
10
|
+
const base = { connectionString, schema };
|
|
11
|
+
switch (command) {
|
|
12
|
+
case 'status':
|
|
13
|
+
print(await getPostgresMigrationStatus(base));
|
|
14
|
+
return;
|
|
15
|
+
case 'migrate':
|
|
16
|
+
print(await migratePostgres(base));
|
|
17
|
+
return;
|
|
18
|
+
case 'import-sqlite': {
|
|
19
|
+
const sqlitePath = requireSqlitePath(options);
|
|
20
|
+
const { importSqliteDatabase } = await import('./import-sqlite.js');
|
|
21
|
+
print(await importSqliteDatabase({ ...base, sqlitePath, dryRun: options['dry-run'] === true }));
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
case 'verify-import': {
|
|
25
|
+
const sqlitePath = requireSqlitePath(options);
|
|
26
|
+
const { verifySqliteImport } = await import('./import-sqlite.js');
|
|
27
|
+
const report = await verifySqliteImport({ ...base, sqlitePath });
|
|
28
|
+
print(report);
|
|
29
|
+
if (report.balanceMismatches.length > 0 ||
|
|
30
|
+
report.ledgerMismatches.length > 0 ||
|
|
31
|
+
report.sourceOpenReservations !== report.targetOpenReservations) {
|
|
32
|
+
process.exitCode = 1;
|
|
33
|
+
}
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
default:
|
|
37
|
+
throw new Error('Usage: resvary-postgres <status|migrate|import-sqlite|verify-import> [--database-url URL] [--schema NAME] [--sqlite PATH] [--dry-run]');
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
function parseOptions(args) {
|
|
41
|
+
const options = {};
|
|
42
|
+
for (let index = 0; index < args.length; index += 1) {
|
|
43
|
+
const arg = args[index];
|
|
44
|
+
if (!arg?.startsWith('--'))
|
|
45
|
+
throw new Error(`Unexpected argument: ${arg}`);
|
|
46
|
+
const key = arg.slice(2);
|
|
47
|
+
const next = args[index + 1];
|
|
48
|
+
if (!next || next.startsWith('--'))
|
|
49
|
+
options[key] = true;
|
|
50
|
+
else {
|
|
51
|
+
options[key] = next;
|
|
52
|
+
index += 1;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return options;
|
|
56
|
+
}
|
|
57
|
+
function optionString(options, key) {
|
|
58
|
+
const value = options[key];
|
|
59
|
+
return typeof value === 'string' ? value : undefined;
|
|
60
|
+
}
|
|
61
|
+
function requireSqlitePath(options) {
|
|
62
|
+
const value = optionString(options, 'sqlite');
|
|
63
|
+
if (!value)
|
|
64
|
+
throw new Error('--sqlite PATH is required');
|
|
65
|
+
return value;
|
|
66
|
+
}
|
|
67
|
+
function print(value) {
|
|
68
|
+
process.stdout.write(`${JSON.stringify(value, null, 2)}\n`);
|
|
69
|
+
}
|
|
70
|
+
main().catch((error) => {
|
|
71
|
+
process.stderr.write(`${JSON.stringify({ ok: false, error: error instanceof Error ? error.message : String(error) })}\n`);
|
|
72
|
+
process.exitCode = 1;
|
|
73
|
+
});
|
|
74
|
+
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Pool, type PoolClient, type PoolConfig } from 'pg';
|
|
2
|
+
export interface PostgresConnectionConfig {
|
|
3
|
+
connectionString?: string;
|
|
4
|
+
pool?: Pool;
|
|
5
|
+
schema?: string;
|
|
6
|
+
maxTransactionRetries?: number;
|
|
7
|
+
poolConfig?: Omit<PoolConfig, 'connectionString'>;
|
|
8
|
+
}
|
|
9
|
+
export interface PostgresHandle {
|
|
10
|
+
pool: Pool;
|
|
11
|
+
schema: string;
|
|
12
|
+
ownsPool: boolean;
|
|
13
|
+
maxTransactionRetries: number;
|
|
14
|
+
}
|
|
15
|
+
export declare function createPostgresHandle(config: PostgresConnectionConfig): PostgresHandle;
|
|
16
|
+
export declare function table(handle: Pick<PostgresHandle, 'schema'>, name: string): string;
|
|
17
|
+
export declare function isRetryableTransactionError(error: unknown): boolean;
|
|
18
|
+
export declare function rollback(client: PoolClient): Promise<void>;
|
|
19
|
+
//# sourceMappingURL=connection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,IAAI,CAAC;AAE5D,MAAM,WAAW,wBAAwB;IACvC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,UAAU,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;CACnD;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,wBAAwB,GAAG,cAAc,CAkBrF;AAED,wBAAgB,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAElF;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAInE;AAED,wBAAsB,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAMhE"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Pool } from 'pg';
|
|
2
|
+
export function createPostgresHandle(config) {
|
|
3
|
+
if (config.pool && config.connectionString) {
|
|
4
|
+
throw new Error('Provide either pool or connectionString, not both');
|
|
5
|
+
}
|
|
6
|
+
if (!config.pool && !config.connectionString) {
|
|
7
|
+
throw new Error('Postgres connectionString or pool is required');
|
|
8
|
+
}
|
|
9
|
+
const schema = config.schema ?? 'public';
|
|
10
|
+
if (!/^[a-z_][a-z0-9_]*$/i.test(schema)) {
|
|
11
|
+
throw new Error(`Invalid Postgres schema: ${schema}`);
|
|
12
|
+
}
|
|
13
|
+
return {
|
|
14
|
+
pool: config.pool ?? new Pool({ ...config.poolConfig, connectionString: config.connectionString }),
|
|
15
|
+
schema,
|
|
16
|
+
ownsPool: !config.pool,
|
|
17
|
+
maxTransactionRetries: config.maxTransactionRetries ?? 5,
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export function table(handle, name) {
|
|
21
|
+
return `"${handle.schema}"."${name}"`;
|
|
22
|
+
}
|
|
23
|
+
export function isRetryableTransactionError(error) {
|
|
24
|
+
if (!error || typeof error !== 'object' || !('code' in error))
|
|
25
|
+
return false;
|
|
26
|
+
const code = error.code;
|
|
27
|
+
return code === '40001' || code === '40P01' || code === '23505';
|
|
28
|
+
}
|
|
29
|
+
export async function rollback(client) {
|
|
30
|
+
try {
|
|
31
|
+
await client.query('ROLLBACK');
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
// Preserve the original transaction error.
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=connection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAoC,MAAM,IAAI,CAAC;AAiB5D,MAAM,UAAU,oBAAoB,CAAC,MAAgC;IACnE,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,QAAQ,CAAC;IACzC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,4BAA4B,MAAM,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,OAAO;QACL,IAAI,EACF,MAAM,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC9F,MAAM;QACN,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI;QACtB,qBAAqB,EAAE,MAAM,CAAC,qBAAqB,IAAI,CAAC;KACzD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,MAAsC,EAAE,IAAY;IACxE,OAAO,IAAI,MAAM,CAAC,MAAM,MAAM,IAAI,GAAG,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,KAAc;IACxD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5E,MAAM,IAAI,GAAI,KAA2B,CAAC,IAAI,CAAC;IAC/C,OAAO,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,OAAO,CAAC;AAClE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,MAAkB;IAC/C,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,2CAA2C;IAC7C,CAAC;AACH,CAAC"}
|
package/dist/credit.d.ts
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { ClaimOutboxEventsInput, CreditAccount, CreditBalanceFilter, CreditGrant, CreditOutboxEvent, CreditReservation, CreditReservationFilter, CreditStore, CreditStoreTransaction, FailOutboxEventInput, FundingIntent, FundingTransaction, IdempotencyRecord, LedgerEntry, MeterDefinition, OutboxDeliveryStore, OutboxEventFilter, PriceVersion, UsageEvent, UsageReceipt } from '@resvary/sdk/credits';
|
|
2
|
+
import { type PostgresConnectionConfig } from './connection.js';
|
|
3
|
+
export interface PostgresCreditStoreConfig extends PostgresConnectionConfig {
|
|
4
|
+
}
|
|
5
|
+
export declare class PostgresCreditStore implements CreditStore, OutboxDeliveryStore {
|
|
6
|
+
private readonly handle;
|
|
7
|
+
constructor(config: PostgresCreditStoreConfig);
|
|
8
|
+
transaction<T>(handler: (transaction: CreditStoreTransaction) => Promise<T>): Promise<T>;
|
|
9
|
+
getAccount(id: string): Promise<CreditAccount | undefined>;
|
|
10
|
+
getAccountByCustomer(projectId: string, customerId: string): Promise<CreditAccount | undefined>;
|
|
11
|
+
listAccounts(filter?: CreditBalanceFilter): Promise<CreditAccount[]>;
|
|
12
|
+
getGrant(id: string): Promise<CreditGrant | undefined>;
|
|
13
|
+
listGrants(accountId?: string): Promise<CreditGrant[]>;
|
|
14
|
+
getMeter(id: string): Promise<MeterDefinition | undefined>;
|
|
15
|
+
getMeterByKey(projectId: string, key: string): Promise<MeterDefinition | undefined>;
|
|
16
|
+
getPriceVersion(id: string): Promise<PriceVersion | undefined>;
|
|
17
|
+
listPriceVersions(meterId?: string): Promise<PriceVersion[]>;
|
|
18
|
+
getReservation(id: string): Promise<CreditReservation | undefined>;
|
|
19
|
+
listReservations(filter?: CreditReservationFilter): Promise<CreditReservation[]>;
|
|
20
|
+
getUsageEvent(id: string): Promise<UsageEvent | undefined>;
|
|
21
|
+
getUsageReceipt(id: string): Promise<UsageReceipt | undefined>;
|
|
22
|
+
listUsageReceipts(accountId?: string): Promise<UsageReceipt[]>;
|
|
23
|
+
listLedgerEntries(accountId?: string): Promise<LedgerEntry[]>;
|
|
24
|
+
getOutboxEvent(id: string): Promise<CreditOutboxEvent<unknown> | undefined>;
|
|
25
|
+
listOutboxEvents(filter?: OutboxEventFilter): Promise<CreditOutboxEvent<unknown>[]>;
|
|
26
|
+
getIdempotencyRecord(scope: string, key: string): Promise<IdempotencyRecord | undefined>;
|
|
27
|
+
getFundingIntent(id: string): Promise<FundingIntent | undefined>;
|
|
28
|
+
listFundingIntents(projectId?: string): Promise<FundingIntent[]>;
|
|
29
|
+
getFundingTransaction(id: string): Promise<FundingTransaction | undefined>;
|
|
30
|
+
getFundingTransactionByExternalPayment(rail: FundingTransaction['rail'], network: string, externalPaymentId: string): Promise<FundingTransaction | undefined>;
|
|
31
|
+
getFundingTransactionByTxHash(network: string, txHash: `0x${string}`): Promise<FundingTransaction | undefined>;
|
|
32
|
+
listFundingTransactions(fundingIntentId?: string): Promise<FundingTransaction[]>;
|
|
33
|
+
claimOutboxEvents(input: ClaimOutboxEventsInput): Promise<CreditOutboxEvent[]>;
|
|
34
|
+
completeOutboxEvent(eventId: string, workerId: string, deliveredAt: number): Promise<void>;
|
|
35
|
+
failOutboxEvent(input: FailOutboxEventInput): Promise<void>;
|
|
36
|
+
listDeadLetterEvents(projectId?: string): Promise<CreditOutboxEvent[]>;
|
|
37
|
+
requeueOutboxEvent(eventId: string, now: number): Promise<void>;
|
|
38
|
+
close(): Promise<void>;
|
|
39
|
+
}
|
|
40
|
+
export declare function createPostgresCreditStore(config: PostgresCreditStoreConfig): PostgresCreditStore;
|
|
41
|
+
//# sourceMappingURL=credit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credit.d.ts","sourceRoot":"","sources":["../src/credit.ts"],"names":[],"mappings":"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"}
|