@privateaim/server-db-kit 0.8.20 → 0.8.22

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/CHANGELOG.md CHANGED
@@ -1,5 +1,35 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.8.22](https://github.com/PrivateAIM/hub/compare/v0.8.21...v0.8.22) (2026-01-27)
4
+
5
+
6
+ ### Features
7
+
8
+ * migrate to esm & replace jest with vitest ([#1368](https://github.com/PrivateAIM/hub/issues/1368)) ([5a4d9d1](https://github.com/PrivateAIM/hub/commit/5a4d9d1ce118f65740aa49caf948208eac299032))
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * **deps:** bump the minorandpatch group across 1 directory with 16 updates ([#1329](https://github.com/PrivateAIM/hub/issues/1329)) ([7b394da](https://github.com/PrivateAIM/hub/commit/7b394da159d8e52cc37fe489832307a234f3ddb0))
14
+
15
+
16
+ ### Dependencies
17
+
18
+ * The following workspace dependencies were updated
19
+ * dependencies
20
+ * @privateaim/kit bumped from ^0.8.21 to ^0.8.22
21
+ * @privateaim/server-kit bumped from ^0.8.21 to ^0.8.22
22
+
23
+ ## [0.8.21](https://github.com/PrivateAIM/hub/compare/v0.8.20...v0.8.21) (2025-11-04)
24
+
25
+
26
+ ### Dependencies
27
+
28
+ * The following workspace dependencies were updated
29
+ * dependencies
30
+ * @privateaim/kit bumped from ^0.8.20 to ^0.8.21
31
+ * @privateaim/server-kit bumped from ^0.8.20 to ^0.8.21
32
+
3
33
  ## [0.8.20](https://github.com/PrivateAIM/hub/compare/v0.8.19...v0.8.20) (2025-10-29)
4
34
 
5
35
 
package/dist/index.mjs ADDED
@@ -0,0 +1,53 @@
1
+ import { DomainEventName } from '@privateaim/kit';
2
+ import { useEntityEventPublisher } from '@privateaim/server-kit';
3
+
4
+ class BaseSubscriber {
5
+ publisher;
6
+ destinations;
7
+ refType;
8
+ constructor(ctx){
9
+ this.refType = ctx.refType;
10
+ this.publisher = useEntityEventPublisher();
11
+ this.destinations = ctx.destinations;
12
+ }
13
+ async afterInsert(event) {
14
+ await this.publish({
15
+ data: event.entity,
16
+ type: DomainEventName.CREATED,
17
+ metadata: event.queryRunner.data
18
+ });
19
+ }
20
+ async afterUpdate(event) {
21
+ await this.publish({
22
+ type: DomainEventName.UPDATED,
23
+ data: event.entity,
24
+ dataPrevious: event.databaseEntity,
25
+ metadata: event.queryRunner.data
26
+ });
27
+ }
28
+ async beforeRemove(event) {
29
+ if (event.entity) {
30
+ await this.publish({
31
+ type: DomainEventName.DELETED,
32
+ data: event.entity,
33
+ metadata: event.queryRunner.data
34
+ });
35
+ }
36
+ }
37
+ async publish(payload) {
38
+ await this.publisher.safePublish({
39
+ data: payload.data,
40
+ dataPrevious: payload.dataPrevious,
41
+ metadata: {
42
+ ref_type: this.refType,
43
+ ref_id: payload.data.id,
44
+ event: payload.type,
45
+ ...payload.metadata ? payload.metadata : {}
46
+ },
47
+ destinations: this.destinations
48
+ });
49
+ }
50
+ }
51
+
52
+ export { BaseSubscriber };
53
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../src/subscriber/base.ts"],"sourcesContent":["/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { ObjectLiteral } from '@privateaim/kit';\nimport { DomainEventName } from '@privateaim/kit';\nimport type {\n EntityEventDestinations, EntityEventDestinationsFn,\n EntityEventPublisher,\n} from '@privateaim/server-kit';\nimport { useEntityEventPublisher } from '@privateaim/server-kit';\nimport type {\n EntitySubscriberInterface, InsertEvent, RemoveEvent, UpdateEvent,\n} from 'typeorm';\nimport type { BaseSubscriberContext, SubscriberPublishPayload } from './types';\n\nexport class BaseSubscriber<\n RECORD extends ObjectLiteral,\n> implements EntitySubscriberInterface<RECORD> {\n private readonly publisher: EntityEventPublisher;\n\n private readonly destinations : EntityEventDestinations | EntityEventDestinationsFn<RECORD>;\n\n private readonly refType: string;\n\n constructor(ctx: BaseSubscriberContext<RECORD>) {\n this.refType = ctx.refType;\n this.publisher = useEntityEventPublisher();\n this.destinations = ctx.destinations;\n }\n\n async afterInsert(event: InsertEvent<RECORD>): Promise<any> {\n await this.publish({\n data: event.entity,\n type: DomainEventName.CREATED,\n metadata: event.queryRunner.data,\n });\n }\n\n async afterUpdate(event: UpdateEvent<RECORD>): Promise<any> {\n await this.publish({\n type: DomainEventName.UPDATED,\n data: event.entity as RECORD,\n dataPrevious: event.databaseEntity,\n metadata: event.queryRunner.data,\n });\n }\n\n async beforeRemove(event: RemoveEvent<RECORD>): Promise<any> {\n if (event.entity) {\n await this.publish({\n type: DomainEventName.DELETED,\n data: event.entity as RECORD,\n metadata: event.queryRunner.data,\n });\n }\n }\n\n async publish(payload: SubscriberPublishPayload<RECORD>) {\n await this.publisher.safePublish({\n data: payload.data,\n dataPrevious: payload.dataPrevious,\n metadata: {\n ref_type: this.refType,\n ref_id: payload.data.id,\n\n event: payload.type,\n ...(payload.metadata ? payload.metadata : {}),\n },\n destinations: this.destinations,\n });\n }\n}\n"],"names":["BaseSubscriber","publisher","destinations","refType","ctx","useEntityEventPublisher","afterInsert","event","publish","data","entity","type","DomainEventName","CREATED","metadata","queryRunner","afterUpdate","UPDATED","dataPrevious","databaseEntity","beforeRemove","DELETED","payload","safePublish","ref_type","ref_id","id"],"mappings":";;;AAmBO,MAAMA,cAAAA,CAAAA;IAGQC,SAAAA;IAEAC,YAAAA;IAEAC,OAAAA;AAEjB,IAAA,WAAA,CAAYC,GAAkC,CAAE;AAC5C,QAAA,IAAI,CAACD,OAAO,GAAGC,GAAAA,CAAID,OAAO;QAC1B,IAAI,CAACF,SAAS,GAAGI,uBAAAA,EAAAA;AACjB,QAAA,IAAI,CAACH,YAAY,GAAGE,GAAAA,CAAIF,YAAY;AACxC,IAAA;IAEA,MAAMI,WAAAA,CAAYC,KAA0B,EAAgB;QACxD,MAAM,IAAI,CAACC,OAAO,CAAC;AACfC,YAAAA,IAAAA,EAAMF,MAAMG,MAAM;AAClBC,YAAAA,IAAAA,EAAMC,gBAAgBC,OAAO;YAC7BC,QAAAA,EAAUP,KAAAA,CAAMQ,WAAW,CAACN;AAChC,SAAA,CAAA;AACJ,IAAA;IAEA,MAAMO,WAAAA,CAAYT,KAA0B,EAAgB;QACxD,MAAM,IAAI,CAACC,OAAO,CAAC;AACfG,YAAAA,IAAAA,EAAMC,gBAAgBK,OAAO;AAC7BR,YAAAA,IAAAA,EAAMF,MAAMG,MAAM;AAClBQ,YAAAA,YAAAA,EAAcX,MAAMY,cAAc;YAClCL,QAAAA,EAAUP,KAAAA,CAAMQ,WAAW,CAACN;AAChC,SAAA,CAAA;AACJ,IAAA;IAEA,MAAMW,YAAAA,CAAab,KAA0B,EAAgB;QACzD,IAAIA,KAAAA,CAAMG,MAAM,EAAE;YACd,MAAM,IAAI,CAACF,OAAO,CAAC;AACfG,gBAAAA,IAAAA,EAAMC,gBAAgBS,OAAO;AAC7BZ,gBAAAA,IAAAA,EAAMF,MAAMG,MAAM;gBAClBI,QAAAA,EAAUP,KAAAA,CAAMQ,WAAW,CAACN;AAChC,aAAA,CAAA;AACJ,QAAA;AACJ,IAAA;IAEA,MAAMD,OAAAA,CAAQc,OAAyC,EAAE;AACrD,QAAA,MAAM,IAAI,CAACrB,SAAS,CAACsB,WAAW,CAAC;AAC7Bd,YAAAA,IAAAA,EAAMa,QAAQb,IAAI;AAClBS,YAAAA,YAAAA,EAAcI,QAAQJ,YAAY;YAClCJ,QAAAA,EAAU;gBACNU,QAAAA,EAAU,IAAI,CAACrB,OAAO;gBACtBsB,MAAAA,EAAQH,OAAAA,CAAQb,IAAI,CAACiB,EAAE;AAEvBnB,gBAAAA,KAAAA,EAAOe,QAAQX,IAAI;AACnB,gBAAA,GAAIW,QAAQR,QAAQ,GAAGQ,QAAQR,QAAQ,GAAG;AAC9C,aAAA;YACAZ,YAAAA,EAAc,IAAI,CAACA;AACvB,SAAA,CAAA;AACJ,IAAA;AACJ;;;;"}
package/package.json CHANGED
@@ -1,8 +1,16 @@
1
1
  {
2
2
  "name": "@privateaim/server-db-kit",
3
- "version": "0.8.20",
4
- "main": "dist/index.js",
3
+ "type": "module",
4
+ "version": "0.8.22",
5
+ "module": "dist/index.mjs",
5
6
  "types": "dist/index.d.ts",
7
+ "exports": {
8
+ "./package.json": "./package.json",
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.mjs"
12
+ }
13
+ },
6
14
  "author": {
7
15
  "name": "Peter Placzek",
8
16
  "email": "contact@tada5hi.net",
@@ -11,18 +19,20 @@
11
19
  "license": "Apache-2.0",
12
20
  "description": "This package contains server side db helpers & utilities.",
13
21
  "dependencies": {
14
- "@privateaim/kit": "^0.8.20",
15
- "@privateaim/server-kit": "^0.8.20"
22
+ "@privateaim/kit": "^0.8.22",
23
+ "@privateaim/server-kit": "^0.8.22"
16
24
  },
17
25
  "devDependencies": {
18
- "typeorm": "^0.3.27",
19
- "typeorm-extension": "^3.7.1"
26
+ "typeorm": "^0.3.28",
27
+ "typeorm-extension": "^3.7.2"
20
28
  },
21
29
  "peerDependencies": {
22
- "typeorm": "^0.3.27",
23
- "typeorm-extension": "^3.7.1"
30
+ "typeorm": "^0.3.28",
31
+ "typeorm-extension": "^3.7.2"
24
32
  },
25
33
  "scripts": {
26
- "build": "rimraf dist && tsc -p tsconfig.build.json"
34
+ "build:types": "tsc --emitDeclarationOnly -p tsconfig.build.json",
35
+ "build:js": "rollup -c",
36
+ "build": "rimraf ./dist && cross-env NODE_ENV=production npm run build:js && npm run build:types"
27
37
  }
28
38
  }
@@ -0,0 +1,14 @@
1
+ /*
2
+ * Copyright (c) 2022.
3
+ * Author Peter Placzek (tada5hi)
4
+ * For the full copyright and license information,
5
+ * view the LICENSE file that was distributed with this source code.
6
+ */
7
+
8
+ import fs from 'node:fs';
9
+
10
+ import { createConfig } from '../../rollup.config.mjs';
11
+
12
+ export default createConfig({
13
+ pkg: JSON.parse(fs.readFileSync(new URL('./package.json', import.meta.url), { encoding: 'utf-8' })),
14
+ });
package/dist/index.js DELETED
@@ -1,24 +0,0 @@
1
- "use strict";
2
- /*
3
- * Copyright (c) 2024.
4
- * Author Peter Placzek (tada5hi)
5
- * For the full copyright and license information,
6
- * view the LICENSE file that was distributed with this source code.
7
- */
8
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
- if (k2 === undefined) k2 = k;
10
- var desc = Object.getOwnPropertyDescriptor(m, k);
11
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
- desc = { enumerable: true, get: function() { return m[k]; } };
13
- }
14
- Object.defineProperty(o, k2, desc);
15
- }) : (function(o, m, k, k2) {
16
- if (k2 === undefined) k2 = k;
17
- o[k2] = m[k];
18
- }));
19
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
20
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
21
- };
22
- Object.defineProperty(exports, "__esModule", { value: true });
23
- __exportStar(require("./subscriber"), exports);
24
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;AAEH,+CAA6B"}
@@ -1,60 +0,0 @@
1
- "use strict";
2
- /*
3
- * Copyright (c) 2025.
4
- * Author Peter Placzek (tada5hi)
5
- * For the full copyright and license information,
6
- * view the LICENSE file that was distributed with this source code.
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.BaseSubscriber = void 0;
10
- const kit_1 = require("@privateaim/kit");
11
- const server_kit_1 = require("@privateaim/server-kit");
12
- class BaseSubscriber {
13
- publisher;
14
- destinations;
15
- refType;
16
- constructor(ctx) {
17
- this.refType = ctx.refType;
18
- this.publisher = (0, server_kit_1.useEntityEventPublisher)();
19
- this.destinations = ctx.destinations;
20
- }
21
- async afterInsert(event) {
22
- await this.publish({
23
- data: event.entity,
24
- type: kit_1.DomainEventName.CREATED,
25
- metadata: event.queryRunner.data,
26
- });
27
- }
28
- async afterUpdate(event) {
29
- await this.publish({
30
- type: kit_1.DomainEventName.UPDATED,
31
- data: event.entity,
32
- dataPrevious: event.databaseEntity,
33
- metadata: event.queryRunner.data,
34
- });
35
- }
36
- async beforeRemove(event) {
37
- if (event.entity) {
38
- await this.publish({
39
- type: kit_1.DomainEventName.DELETED,
40
- data: event.entity,
41
- metadata: event.queryRunner.data,
42
- });
43
- }
44
- }
45
- async publish(payload) {
46
- await this.publisher.safePublish({
47
- data: payload.data,
48
- dataPrevious: payload.dataPrevious,
49
- metadata: {
50
- ref_type: this.refType,
51
- ref_id: payload.data.id,
52
- event: payload.type,
53
- ...(payload.metadata ? payload.metadata : {}),
54
- },
55
- destinations: this.destinations,
56
- });
57
- }
58
- }
59
- exports.BaseSubscriber = BaseSubscriber;
60
- //# sourceMappingURL=base.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/subscriber/base.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAGH,yCAAkD;AAKlD,uDAAiE;AAMjE,MAAa,cAAc;IAGN,SAAS,CAAuB;IAEhC,YAAY,CAA+D;IAE3E,OAAO,CAAS;IAEjC,YAAY,GAAkC;QAC1C,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,IAAA,oCAAuB,GAAE,CAAC;QAC3C,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAA0B;QACxC,MAAM,IAAI,CAAC,OAAO,CAAC;YACf,IAAI,EAAE,KAAK,CAAC,MAAM;YAClB,IAAI,EAAE,qBAAe,CAAC,OAAO;YAC7B,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,IAAI;SACnC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAA0B;QACxC,MAAM,IAAI,CAAC,OAAO,CAAC;YACf,IAAI,EAAE,qBAAe,CAAC,OAAO;YAC7B,IAAI,EAAE,KAAK,CAAC,MAAgB;YAC5B,YAAY,EAAE,KAAK,CAAC,cAAc;YAClC,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,IAAI;SACnC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAA0B;QACzC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,OAAO,CAAC;gBACf,IAAI,EAAE,qBAAe,CAAC,OAAO;gBAC7B,IAAI,EAAE,KAAK,CAAC,MAAgB;gBAC5B,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,IAAI;aACnC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAyC;QACnD,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;YAC7B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,QAAQ,EAAE;gBACN,QAAQ,EAAE,IAAI,CAAC,OAAO;gBACtB,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE;gBAEvB,KAAK,EAAE,OAAO,CAAC,IAAI;gBACnB,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;aAChD;YACD,YAAY,EAAE,IAAI,CAAC,YAAY;SAClC,CAAC,CAAC;IACP,CAAC;CACJ;AAxDD,wCAwDC"}
@@ -1,25 +0,0 @@
1
- "use strict";
2
- /*
3
- * Copyright (c) 2025.
4
- * Author Peter Placzek (tada5hi)
5
- * For the full copyright and license information,
6
- * view the LICENSE file that was distributed with this source code.
7
- */
8
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
- if (k2 === undefined) k2 = k;
10
- var desc = Object.getOwnPropertyDescriptor(m, k);
11
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
- desc = { enumerable: true, get: function() { return m[k]; } };
13
- }
14
- Object.defineProperty(o, k2, desc);
15
- }) : (function(o, m, k, k2) {
16
- if (k2 === undefined) k2 = k;
17
- o[k2] = m[k];
18
- }));
19
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
20
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
21
- };
22
- Object.defineProperty(exports, "__esModule", { value: true });
23
- __exportStar(require("./base"), exports);
24
- __exportStar(require("./types"), exports);
25
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/subscriber/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;AAEH,yCAAuB;AACvB,0CAAwB"}
@@ -1,9 +0,0 @@
1
- "use strict";
2
- /*
3
- * Copyright (c) 2025.
4
- * Author Peter Placzek (tada5hi)
5
- * For the full copyright and license information,
6
- * view the LICENSE file that was distributed with this source code.
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/subscriber/types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}