@decaf-ts/core 0.9.2 → 0.9.3

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.
@@ -22,7 +22,7 @@ export * from "./persistence";
22
22
  * @const VERSION
23
23
  * @memberOf module:core
24
24
  */
25
- export declare const VERSION = "0.9.1";
25
+ export declare const VERSION = "0.9.2";
26
26
  /**
27
27
  * @description Stores the current package version
28
28
  * @summary A constant representing the version of the core package
package/lib/esm/index.js CHANGED
@@ -32,7 +32,7 @@ export * from "./persistence/index.js";
32
32
  * @const VERSION
33
33
  * @memberOf module:core
34
34
  */
35
- export const VERSION = "0.9.1";
35
+ export const VERSION = "0.9.2";
36
36
  /**
37
37
  * @description Stores the current package version
38
38
  * @summary A constant representing the version of the core package
@@ -0,0 +1,7 @@
1
+ import { type Repo } from "../repository/Repository";
2
+ import { ModelService } from "../services/ModelService";
3
+ import { TaskEventModel } from "./models/index";
4
+ export declare class TaskEventService extends ModelService<TaskEventModel> {
5
+ constructor();
6
+ get repo(): Repo<TaskEventModel>;
7
+ }
@@ -0,0 +1,15 @@
1
+ import { Service } from "./../services/services.js";
2
+ import { ModelService } from "./../services/ModelService.js";
3
+ import { TaskEventModel } from "./models/index.js";
4
+ export class TaskEventService extends ModelService {
5
+ constructor() {
6
+ super(TaskEventModel);
7
+ }
8
+ get repo() {
9
+ if (!this._repository) {
10
+ this._repository = Service.get(TaskEventModel)["events"];
11
+ }
12
+ return this._repository;
13
+ }
14
+ }
15
+ //# sourceMappingURL=TaskEventService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TaskEventService.js","sourceRoot":"","sources":["../../../src/tasks/TaskEventService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,kCAA6B;AAE/C,OAAO,EAAE,YAAY,EAAE,sCAAiC;AACxD,OAAO,EAAE,cAAc,EAAE,0BAAuB;AAGhD,MAAM,OAAO,gBAAiB,SAAQ,YAA4B;IAChE;QACE,KAAK,CAAC,cAAc,CAAC,CAAC;IACxB,CAAC;IAED,IAAa,IAAI;QACf,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,IAAI,CAAC,WAAW,GACd,OAAO,CAAC,GAAG,CAAC,cAAqB,CAClC,CAAC,QAAQ,CAAC,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;CACF"}
@@ -12,6 +12,7 @@ export * from "./logging";
12
12
  export * from "./TaskContext";
13
13
  export * from "./TaskEngine";
14
14
  export * from "./TaskEventBus";
15
+ export * from "./TaskEventService";
15
16
  export * from "./TaskHandler";
16
17
  export * from "./TaskHandlerRegistry";
17
18
  export * from "./TaskService";
@@ -12,6 +12,7 @@ export * from "./logging.js";
12
12
  export * from "./TaskContext.js";
13
13
  export * from "./TaskEngine.js";
14
14
  export * from "./TaskEventBus.js";
15
+ export * from "./TaskEventService.js";
15
16
  export * from "./TaskHandler.js";
16
17
  export * from "./TaskHandlerRegistry.js";
17
18
  export * from "./TaskService.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tasks/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,kCAAyB;AACzB,6BAA0B;AAC1B,iCAA8B;AAC9B,+BAA4B;AAC5B,gCAA6B;AAC7B,6BAA0B;AAC1B,iCAA8B;AAC9B,gCAA6B;AAC7B,kCAA+B;AAC/B,iCAA8B;AAC9B,yCAAsC;AACtC,iCAA8B;AAC9B,iCAA8B;AAC9B,2BAAwB;AACxB,2BAAwB;AACxB,gCAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tasks/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,kCAAyB;AACzB,6BAA0B;AAC1B,iCAA8B;AAC9B,+BAA4B;AAC5B,gCAA6B;AAC7B,6BAA0B;AAC1B,iCAA8B;AAC9B,gCAA6B;AAC7B,kCAA+B;AAC/B,sCAAmC;AACnC,iCAA8B;AAC9B,yCAAsC;AACtC,iCAA8B;AAC9B,iCAA8B;AAC9B,2BAAwB;AACxB,2BAAwB;AACxB,gCAA6B"}
@@ -1,10 +1,11 @@
1
- import { CrudOperations } from "@decaf-ts/db-decorators";
1
+ import { BlockOperationKind, CrudOperations } from "@decaf-ts/db-decorators";
2
2
  import type { ModelConstructor } from "@decaf-ts/decorator-validation";
3
3
  import { Constructor } from "@decaf-ts/decoration";
4
4
  export declare function injectableServiceKey(name: string | symbol | Constructor): string;
5
5
  export declare function promiseSequence<T>(tasks: (() => Promise<T>)[], continueOnError?: false): Promise<T[]>;
6
6
  export declare function promiseSequence<T>(tasks: (() => Promise<T>)[], continueOnError: true): Promise<PromiseSettledResult<T>[]>;
7
7
  export declare function isOperationBlocked(ModelConstructor: ModelConstructor<any>, op: CrudOperations): boolean;
8
+ export declare function isOperationBlocked(ModelConstructor: ModelConstructor<any>, kind: BlockOperationKind, value: string): boolean;
8
9
  /**
9
10
  * @description Normalizes imports to handle both CommonJS and ESModule formats.
10
11
  * @summary Utility function to handle module import differences between formats.
@@ -1,5 +1,4 @@
1
- import { InternalError } from "@decaf-ts/db-decorators";
2
- import { OperationKeys } from "@decaf-ts/db-decorators";
1
+ import { InternalError, OperationKeys, } from "@decaf-ts/db-decorators";
3
2
  import { Metadata } from "@decaf-ts/decoration";
4
3
  import { MigrationRuleError } from "./../persistence/errors.js";
5
4
  export function injectableServiceKey(name) {
@@ -30,9 +29,27 @@ export async function promiseSequence(tasks, continueOnError = false) {
30
29
  }
31
30
  return settled;
32
31
  }
33
- export function isOperationBlocked(ModelConstructor, op) {
34
- const { handler, args } = (Metadata.get(ModelConstructor, OperationKeys.REFLECT + OperationKeys.BLOCK) || {});
35
- return !handler ? false : (handler(...args, op) ?? false);
32
+ const crudOperations = [
33
+ OperationKeys.CREATE,
34
+ OperationKeys.READ,
35
+ OperationKeys.UPDATE,
36
+ OperationKeys.DELETE,
37
+ ];
38
+ function isCrudOperation(value) {
39
+ return crudOperations.includes(value);
40
+ }
41
+ export function isOperationBlocked(ModelConstructor, kindOrOperation, value) {
42
+ const metadata = (Metadata.get(ModelConstructor, OperationKeys.REFLECT + OperationKeys.BLOCK) || {});
43
+ if (!metadata?.handler)
44
+ return false;
45
+ const kind = value === undefined && isCrudOperation(kindOrOperation)
46
+ ? "crud"
47
+ : kindOrOperation;
48
+ const targetValue = value === undefined && isCrudOperation(kindOrOperation)
49
+ ? kindOrOperation
50
+ : value;
51
+ const storedTargets = (metadata.args?.[0] || []);
52
+ return metadata.handler(storedTargets, kind, targetValue) ?? false;
36
53
  }
37
54
  /**
38
55
  * @description Normalizes imports to handle both CommonJS and ESModule formats.
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/utils/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/utils/utils.ts"],"names":[],"mappings":"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"}
package/lib/index.cjs CHANGED
@@ -49,7 +49,7 @@ __exportStar(require("./persistence/index.cjs"), exports);
49
49
  * @const VERSION
50
50
  * @memberOf module:core
51
51
  */
52
- exports.VERSION = "0.9.1";
52
+ exports.VERSION = "0.9.2";
53
53
  /**
54
54
  * @description Stores the current package version
55
55
  * @summary A constant representing the version of the core package
package/lib/index.d.ts CHANGED
@@ -22,7 +22,7 @@ export * from "./persistence";
22
22
  * @const VERSION
23
23
  * @memberOf module:core
24
24
  */
25
- export declare const VERSION = "0.9.1";
25
+ export declare const VERSION = "0.9.2";
26
26
  /**
27
27
  * @description Stores the current package version
28
28
  * @summary A constant representing the version of the core package
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TaskEventService = void 0;
4
+ const services_1 = require("./../services/services.cjs");
5
+ const ModelService_1 = require("./../services/ModelService.cjs");
6
+ const index_1 = require("./models/index.cjs");
7
+ class TaskEventService extends ModelService_1.ModelService {
8
+ constructor() {
9
+ super(index_1.TaskEventModel);
10
+ }
11
+ get repo() {
12
+ if (!this._repository) {
13
+ this._repository = services_1.Service.get(index_1.TaskEventModel)["events"];
14
+ }
15
+ return this._repository;
16
+ }
17
+ }
18
+ exports.TaskEventService = TaskEventService;
19
+ //# sourceMappingURL=TaskEventService.js.map
@@ -0,0 +1,7 @@
1
+ import { type Repo } from "../repository/Repository";
2
+ import { ModelService } from "../services/ModelService";
3
+ import { TaskEventModel } from "./models/index";
4
+ export declare class TaskEventService extends ModelService<TaskEventModel> {
5
+ constructor();
6
+ get repo(): Repo<TaskEventModel>;
7
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TaskEventService.js","sourceRoot":"","sources":["../../src/tasks/TaskEventService.ts"],"names":[],"mappings":";;;AAAA,yDAA+C;AAE/C,iEAAwD;AACxD,8CAAgD;AAGhD,MAAa,gBAAiB,SAAQ,2BAA4B;IAChE;QACE,KAAK,CAAC,sBAAc,CAAC,CAAC;IACxB,CAAC;IAED,IAAa,IAAI;QACf,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,IAAI,CAAC,WAAW,GACd,kBAAO,CAAC,GAAG,CAAC,sBAAqB,CAClC,CAAC,QAAQ,CAAC,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;CACF;AAbD,4CAaC"}
@@ -28,6 +28,7 @@ __exportStar(require("./logging.cjs"), exports);
28
28
  __exportStar(require("./TaskContext.cjs"), exports);
29
29
  __exportStar(require("./TaskEngine.cjs"), exports);
30
30
  __exportStar(require("./TaskEventBus.cjs"), exports);
31
+ __exportStar(require("./TaskEventService.cjs"), exports);
31
32
  __exportStar(require("./TaskHandler.cjs"), exports);
32
33
  __exportStar(require("./TaskHandlerRegistry.cjs"), exports);
33
34
  __exportStar(require("./TaskService.cjs"), exports);
@@ -12,6 +12,7 @@ export * from "./logging";
12
12
  export * from "./TaskContext";
13
13
  export * from "./TaskEngine";
14
14
  export * from "./TaskEventBus";
15
+ export * from "./TaskEventService";
15
16
  export * from "./TaskHandler";
16
17
  export * from "./TaskHandlerRegistry";
17
18
  export * from "./TaskService";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tasks/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;GAIG;AACH,qDAAyB;AACzB,gDAA0B;AAC1B,oDAA8B;AAC9B,kDAA4B;AAC5B,mDAA6B;AAC7B,gDAA0B;AAC1B,oDAA8B;AAC9B,mDAA6B;AAC7B,qDAA+B;AAC/B,oDAA8B;AAC9B,4DAAsC;AACtC,oDAA8B;AAC9B,oDAA8B;AAC9B,8CAAwB;AACxB,8CAAwB;AACxB,mDAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tasks/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;GAIG;AACH,qDAAyB;AACzB,gDAA0B;AAC1B,oDAA8B;AAC9B,kDAA4B;AAC5B,mDAA6B;AAC7B,gDAA0B;AAC1B,oDAA8B;AAC9B,mDAA6B;AAC7B,qDAA+B;AAC/B,yDAAmC;AACnC,oDAA8B;AAC9B,4DAAsC;AACtC,oDAA8B;AAC9B,oDAA8B;AAC9B,8CAAwB;AACxB,8CAAwB;AACxB,mDAA6B"}
@@ -6,7 +6,6 @@ exports.isOperationBlocked = isOperationBlocked;
6
6
  exports.normalizeImport = normalizeImport;
7
7
  exports.prefixMethod = prefixMethod;
8
8
  const db_decorators_1 = require("@decaf-ts/db-decorators");
9
- const db_decorators_2 = require("@decaf-ts/db-decorators");
10
9
  const decoration_1 = require("@decaf-ts/decoration");
11
10
  const errors_1 = require("./../persistence/errors.cjs");
12
11
  function injectableServiceKey(name) {
@@ -37,9 +36,27 @@ async function promiseSequence(tasks, continueOnError = false) {
37
36
  }
38
37
  return settled;
39
38
  }
40
- function isOperationBlocked(ModelConstructor, op) {
41
- const { handler, args } = (decoration_1.Metadata.get(ModelConstructor, db_decorators_2.OperationKeys.REFLECT + db_decorators_2.OperationKeys.BLOCK) || {});
42
- return !handler ? false : (handler(...args, op) ?? false);
39
+ const crudOperations = [
40
+ db_decorators_1.OperationKeys.CREATE,
41
+ db_decorators_1.OperationKeys.READ,
42
+ db_decorators_1.OperationKeys.UPDATE,
43
+ db_decorators_1.OperationKeys.DELETE,
44
+ ];
45
+ function isCrudOperation(value) {
46
+ return crudOperations.includes(value);
47
+ }
48
+ function isOperationBlocked(ModelConstructor, kindOrOperation, value) {
49
+ const metadata = (decoration_1.Metadata.get(ModelConstructor, db_decorators_1.OperationKeys.REFLECT + db_decorators_1.OperationKeys.BLOCK) || {});
50
+ if (!metadata?.handler)
51
+ return false;
52
+ const kind = value === undefined && isCrudOperation(kindOrOperation)
53
+ ? "crud"
54
+ : kindOrOperation;
55
+ const targetValue = value === undefined && isCrudOperation(kindOrOperation)
56
+ ? kindOrOperation
57
+ : value;
58
+ const storedTargets = (metadata.args?.[0] || []);
59
+ return metadata.handler(storedTargets, kind, targetValue) ?? false;
43
60
  }
44
61
  /**
45
62
  * @description Normalizes imports to handle both CommonJS and ESModule formats.
@@ -1,10 +1,11 @@
1
- import { CrudOperations } from "@decaf-ts/db-decorators";
1
+ import { BlockOperationKind, CrudOperations } from "@decaf-ts/db-decorators";
2
2
  import type { ModelConstructor } from "@decaf-ts/decorator-validation";
3
3
  import { Constructor } from "@decaf-ts/decoration";
4
4
  export declare function injectableServiceKey(name: string | symbol | Constructor): string;
5
5
  export declare function promiseSequence<T>(tasks: (() => Promise<T>)[], continueOnError?: false): Promise<T[]>;
6
6
  export declare function promiseSequence<T>(tasks: (() => Promise<T>)[], continueOnError: true): Promise<PromiseSettledResult<T>[]>;
7
7
  export declare function isOperationBlocked(ModelConstructor: ModelConstructor<any>, op: CrudOperations): boolean;
8
+ export declare function isOperationBlocked(ModelConstructor: ModelConstructor<any>, kind: BlockOperationKind, value: string): boolean;
8
9
  /**
9
10
  * @description Normalizes imports to handle both CommonJS and ESModule formats.
10
11
  * @summary Utility function to handle module import differences between formats.
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@decaf-ts/core",
3
- "version": "0.9.2",
3
+ "version": "0.9.3",
4
4
  "description": "Core persistence module for the decaf framework",
5
5
  "type": "module",
6
6
  "exports": {