@hexaijs/postgres 0.1.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.
Files changed (60) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +318 -0
  3. package/dist/config/index.d.ts +3 -0
  4. package/dist/config/index.d.ts.map +1 -0
  5. package/dist/config/index.js +19 -0
  6. package/dist/config/index.js.map +1 -0
  7. package/dist/config/postgres-config-spec.d.ts +32 -0
  8. package/dist/config/postgres-config-spec.d.ts.map +1 -0
  9. package/dist/config/postgres-config-spec.js +49 -0
  10. package/dist/config/postgres-config-spec.js.map +1 -0
  11. package/dist/config/postgres-config.d.ts +59 -0
  12. package/dist/config/postgres-config.d.ts.map +1 -0
  13. package/dist/config/postgres-config.js +181 -0
  14. package/dist/config/postgres-config.js.map +1 -0
  15. package/dist/helpers.d.ts +57 -0
  16. package/dist/helpers.d.ts.map +1 -0
  17. package/dist/helpers.js +276 -0
  18. package/dist/helpers.js.map +1 -0
  19. package/dist/index.d.ts +7 -0
  20. package/dist/index.d.ts.map +1 -0
  21. package/dist/index.js +29 -0
  22. package/dist/index.js.map +1 -0
  23. package/dist/postgres-event-store.d.ts +18 -0
  24. package/dist/postgres-event-store.d.ts.map +1 -0
  25. package/dist/postgres-event-store.js +83 -0
  26. package/dist/postgres-event-store.js.map +1 -0
  27. package/dist/postgres-unit-of-work.d.ts +17 -0
  28. package/dist/postgres-unit-of-work.d.ts.map +1 -0
  29. package/dist/postgres-unit-of-work.js +251 -0
  30. package/dist/postgres-unit-of-work.js.map +1 -0
  31. package/dist/run-hexai-migrations.d.ts +3 -0
  32. package/dist/run-hexai-migrations.d.ts.map +1 -0
  33. package/dist/run-hexai-migrations.js +17 -0
  34. package/dist/run-hexai-migrations.js.map +1 -0
  35. package/dist/run-migrations.d.ts +11 -0
  36. package/dist/run-migrations.d.ts.map +1 -0
  37. package/dist/run-migrations.js +202 -0
  38. package/dist/run-migrations.js.map +1 -0
  39. package/dist/test-fixtures/config.d.ts +5 -0
  40. package/dist/test-fixtures/config.d.ts.map +1 -0
  41. package/dist/test-fixtures/config.js +14 -0
  42. package/dist/test-fixtures/config.js.map +1 -0
  43. package/dist/test-fixtures/hooks.d.ts +8 -0
  44. package/dist/test-fixtures/hooks.d.ts.map +1 -0
  45. package/dist/test-fixtures/hooks.js +77 -0
  46. package/dist/test-fixtures/hooks.js.map +1 -0
  47. package/dist/test-fixtures/index.d.ts +3 -0
  48. package/dist/test-fixtures/index.d.ts.map +1 -0
  49. package/dist/test-fixtures/index.js +19 -0
  50. package/dist/test-fixtures/index.js.map +1 -0
  51. package/dist/test.d.ts +11 -0
  52. package/dist/test.d.ts.map +1 -0
  53. package/dist/test.js +41 -0
  54. package/dist/test.js.map +1 -0
  55. package/dist/types.d.ts +14 -0
  56. package/dist/types.d.ts.map +1 -0
  57. package/dist/types.js +11 -0
  58. package/dist/types.js.map +1 -0
  59. package/migrations/01_postgres_event_store/migration.sql +10 -0
  60. package/package.json +67 -0
@@ -0,0 +1,8 @@
1
+ import { DatabaseManager, TableManager } from "../helpers";
2
+ import { Client } from "pg";
3
+ export declare function getDatabaseManager(): DatabaseManager;
4
+ export declare function useDatabase(databaseName: string, when?: "beforeEach" | "beforeAll"): import("..").PostgresConfig;
5
+ export declare function useTableManager(database?: string): TableManager;
6
+ export declare function useClient(database?: string, when?: "beforeEach" | "beforeAll"): Client;
7
+ export declare function newClient(database?: string): Client;
8
+ //# sourceMappingURL=hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/test-fixtures/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAG1D,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAE5B,wBAAgB,kBAAkB,oBAEjC;AAMD,wBAAgB,WAAW,CACvB,YAAY,EAAE,MAAM,EACpB,IAAI,GAAE,YAAY,GAAG,WAAyB,+BA4BjD;AAED,wBAAgB,eAAe,CAAC,QAAQ,CAAC,EAAE,MAAM,gBAWhD;AAED,wBAAgB,SAAS,CACrB,QAAQ,CAAC,EAAE,MAAM,EACjB,IAAI,GAAE,YAAY,GAAG,WAAyB,UAuBjD;AAED,wBAAgB,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,UAO1C"}
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getDatabaseManager = getDatabaseManager;
4
+ exports.useDatabase = useDatabase;
5
+ exports.useTableManager = useTableManager;
6
+ exports.useClient = useClient;
7
+ exports.newClient = newClient;
8
+ const helpers_1 = require("../helpers");
9
+ const config_1 = require("../test-fixtures/config");
10
+ const vitest_1 = require("vitest");
11
+ const pg_1 = require("pg");
12
+ function getDatabaseManager() {
13
+ return new helpers_1.DatabaseManager(getPostgresUrl());
14
+ }
15
+ function getPostgresUrl() {
16
+ return (0, config_1.getTestConfig)().db.withDatabase("postgres");
17
+ }
18
+ function useDatabase(databaseName, when = "beforeAll") {
19
+ const dbManager = getDatabaseManager();
20
+ if (when === "beforeAll") {
21
+ (0, vitest_1.beforeAll)(async () => {
22
+ await dbManager.createDatabase(databaseName);
23
+ return async () => {
24
+ await dbManager.dropDatabase(databaseName);
25
+ await dbManager.close();
26
+ };
27
+ });
28
+ }
29
+ else {
30
+ (0, vitest_1.beforeEach)(async () => {
31
+ await dbManager.createDatabase(databaseName);
32
+ return async () => {
33
+ await dbManager.dropDatabase(databaseName);
34
+ };
35
+ });
36
+ (0, vitest_1.afterAll)(async () => {
37
+ await dbManager.close();
38
+ });
39
+ }
40
+ return getPostgresUrl().withDatabase(databaseName);
41
+ }
42
+ function useTableManager(database) {
43
+ const url = (0, config_1.getTestConfig)().db;
44
+ const manager = new helpers_1.TableManager(database ? url.withDatabase(database) : url);
45
+ (0, vitest_1.afterAll)(async () => {
46
+ await manager.close();
47
+ });
48
+ return manager;
49
+ }
50
+ function useClient(database, when = "beforeAll") {
51
+ const client = newClient(database);
52
+ if (when === "beforeAll") {
53
+ (0, vitest_1.beforeAll)(async () => {
54
+ await client.connect();
55
+ return async () => {
56
+ await client.end();
57
+ };
58
+ });
59
+ }
60
+ else {
61
+ (0, vitest_1.beforeEach)(async () => {
62
+ await client.connect();
63
+ return async () => {
64
+ await client.end();
65
+ };
66
+ });
67
+ }
68
+ return client;
69
+ }
70
+ function newClient(database) {
71
+ let url = (0, config_1.getTestConfig)().db;
72
+ if (database) {
73
+ url = url.withDatabase(database);
74
+ }
75
+ return new pg_1.Client(url.toString());
76
+ }
77
+ //# sourceMappingURL=hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/test-fixtures/hooks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from "./config";
2
+ export * from "./hooks";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/test-fixtures/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./config"), exports);
18
+ __exportStar(require("./hooks"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/test-fixtures/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,0CAAwB"}
package/dist/test.d.ts ADDED
@@ -0,0 +1,11 @@
1
+ import { Client } from "pg";
2
+ import { TableManager } from "./helpers";
3
+ import { PostgresConfig } from "./config";
4
+ export declare function createTestContext(dbUrl: string | PostgresConfig): {
5
+ client: Client;
6
+ newClient: () => Client;
7
+ tableManager: TableManager;
8
+ setup: () => Promise<void>;
9
+ teardown: () => Promise<void>;
10
+ };
11
+ //# sourceMappingURL=test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAE5B,OAAO,EAAoC,YAAY,EAAE,MAAM,WAAW,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG1C,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc;;;;iBAUpC,OAAO,CAAC,IAAI,CAAC;oBAeV,OAAO,CAAC,IAAI,CAAC;EAa3C"}
package/dist/test.js ADDED
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createTestContext = createTestContext;
4
+ const pg_1 = require("pg");
5
+ const helpers_1 = require("./helpers");
6
+ const config_1 = require("./config");
7
+ const run_hexai_migrations_1 = require("./run-hexai-migrations");
8
+ function createTestContext(dbUrl) {
9
+ const config = typeof dbUrl === "string" ? config_1.PostgresConfig.fromUrl(dbUrl) : dbUrl;
10
+ const dbName = config.database;
11
+ const databaseManager = new helpers_1.DatabaseManager(config.withDatabase("postgres"));
12
+ const tableManager = new helpers_1.TableManager(config);
13
+ async function setup() {
14
+ try {
15
+ await databaseManager.dropDatabase(dbName);
16
+ }
17
+ catch (e) {
18
+ if ((0, helpers_1.isDatabaseError)(e) && e.code === "3D000") {
19
+ // ignore
20
+ }
21
+ else {
22
+ throw e;
23
+ }
24
+ }
25
+ await databaseManager.createDatabase(dbName);
26
+ await (0, run_hexai_migrations_1.runHexaiMigrations)(config);
27
+ }
28
+ async function teardown() {
29
+ await tableManager.close();
30
+ await databaseManager.dropDatabase(dbName);
31
+ await databaseManager.close();
32
+ }
33
+ return {
34
+ client: tableManager.getClient(),
35
+ newClient: () => new pg_1.Client(dbUrl),
36
+ tableManager,
37
+ setup,
38
+ teardown,
39
+ };
40
+ }
41
+ //# sourceMappingURL=test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":";;AAMA,8CAsCC;AA5CD,2BAA4B;AAE5B,uCAA2E;AAC3E,qCAA0C;AAC1C,iEAA4D;AAE5D,SAAgB,iBAAiB,CAAC,KAA8B;IAC5D,MAAM,MAAM,GACR,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,uBAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAEtE,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC;IAC/B,MAAM,eAAe,GAAG,IAAI,yBAAe,CACvC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAClC,CAAC;IACF,MAAM,YAAY,GAAG,IAAI,sBAAY,CAAC,MAAM,CAAC,CAAC;IAE9C,KAAK,UAAU,KAAK;QAChB,IAAI,CAAC;YACD,MAAM,eAAe,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,IAAI,IAAA,yBAAe,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC3C,SAAS;YACb,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,CAAC;YACZ,CAAC;QACL,CAAC;QAED,MAAM,eAAe,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,IAAA,yCAAkB,EAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,UAAU,QAAQ;QACnB,MAAM,YAAY,CAAC,KAAK,EAAE,CAAC;QAC3B,MAAM,eAAe,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;IAED,OAAO;QACH,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE;QAChC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,WAAM,CAAC,KAAK,CAAC;QAClC,YAAY;QACZ,KAAK;QACL,QAAQ;KACX,CAAC;AACN,CAAC"}
@@ -0,0 +1,14 @@
1
+ import * as pg from "pg";
2
+ import { BaseUnitOfWorkOptions } from "@hexaijs/core";
3
+ export type ClientFactory = () => pg.Client | Promise<pg.Client>;
4
+ export type ClientCleanUp = (client: pg.Client) => void | Promise<void>;
5
+ export declare enum IsolationLevel {
6
+ READ_UNCOMMITTED = "read uncommitted",
7
+ READ_COMMITTED = "read committed",
8
+ REPEATABLE_READ = "repeatable read",
9
+ SERIALIZABLE = "serializable"
10
+ }
11
+ export interface PostgresTransactionOptions extends BaseUnitOfWorkOptions {
12
+ isolationLevel?: IsolationLevel;
13
+ }
14
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,MAAM,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;AAEjE,MAAM,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAExE,oBAAY,cAAc;IACtB,gBAAgB,qBAAqB;IACrC,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;IACnC,YAAY,iBAAiB;CAChC;AAED,MAAM,WAAW,0BAA2B,SAAQ,qBAAqB;IACrE,cAAc,CAAC,EAAE,cAAc,CAAC;CACnC"}
package/dist/types.js ADDED
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IsolationLevel = void 0;
4
+ var IsolationLevel;
5
+ (function (IsolationLevel) {
6
+ IsolationLevel["READ_UNCOMMITTED"] = "read uncommitted";
7
+ IsolationLevel["READ_COMMITTED"] = "read committed";
8
+ IsolationLevel["REPEATABLE_READ"] = "repeatable read";
9
+ IsolationLevel["SERIALIZABLE"] = "serializable";
10
+ })(IsolationLevel || (exports.IsolationLevel = IsolationLevel = {}));
11
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAQA,IAAY,cAKX;AALD,WAAY,cAAc;IACtB,uDAAqC,CAAA;IACrC,mDAAiC,CAAA;IACjC,qDAAmC,CAAA;IACnC,+CAA6B,CAAA;AACjC,CAAC,EALW,cAAc,8BAAd,cAAc,QAKzB"}
@@ -0,0 +1,10 @@
1
+ CREATE TABLE IF NOT EXISTS hexai__events (
2
+ position BIGSERIAL PRIMARY KEY,
3
+ message_type TEXT NOT NULL,
4
+ headers JSONB NOT NULL,
5
+ payload JSONB NOT NULL,
6
+ created_at TIMESTAMPTZ NOT NULL DEFAULT now()
7
+ );
8
+
9
+ CREATE INDEX IF NOT EXISTS idx_hexai__events_message_type
10
+ ON hexai__events (message_type);
package/package.json ADDED
@@ -0,0 +1,67 @@
1
+ {
2
+ "name": "@hexaijs/postgres",
3
+ "publishConfig": {
4
+ "access": "public"
5
+ },
6
+ "version": "0.1.0",
7
+ "description": "PostgreSQL support for hexai",
8
+ "license": "MIT",
9
+ "author": "Sangwoo Hyun <wkdny.hyun@gmail.com>",
10
+ "contributors": [
11
+ "Seungcheol Baek <victoryiron.baek@gmail.com>",
12
+ "Donghyun Lee <edonghyun@naver.com>"
13
+ ],
14
+ "repository": {
15
+ "type": "git",
16
+ "url": "git+https://github.com/workingdanny911/hexai.git",
17
+ "directory": "packages/postgres"
18
+ },
19
+ "homepage": "https://github.com/workingdanny911/hexai#readme",
20
+ "bugs": {
21
+ "url": "https://github.com/workingdanny911/hexai/issues"
22
+ },
23
+ "keywords": [
24
+ "hexai",
25
+ "hexagonal",
26
+ "clean-architecture",
27
+ "postgres",
28
+ "postgresql",
29
+ "database",
30
+ "typescript"
31
+ ],
32
+ "files": [
33
+ "dist",
34
+ "migrations",
35
+ "LICENSE"
36
+ ],
37
+ "exports": {
38
+ ".": {
39
+ "types": "./dist/index.d.ts",
40
+ "import": "./dist/index.js",
41
+ "require": "./dist/index.js"
42
+ },
43
+ "./test": {
44
+ "types": "./dist/test.d.ts",
45
+ "import": "./dist/test.js",
46
+ "require": "./dist/test.js"
47
+ },
48
+ "./package.json": "./package.json"
49
+ },
50
+ "dependencies": {
51
+ "lodash": "^4.17.21",
52
+ "node-pg-migrate": "^7.9.0"
53
+ },
54
+ "peerDependencies": {
55
+ "pg": "^8.0.0",
56
+ "@hexaijs/core": "^0.2.0",
57
+ "@hexaijs/utils": "^0.1.0"
58
+ },
59
+ "devDependencies": {
60
+ "@types/pg": "^8.11.8",
61
+ "pg": "^8.12.0"
62
+ },
63
+ "scripts": {
64
+ "test": "vitest run",
65
+ "build": "rm -rf dist && tsc -p ./tsconfig.build.json && tsc-alias"
66
+ }
67
+ }