@decaf-ts/db-decorators 0.8.30 → 0.8.31

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.
@@ -1 +1 @@
1
- {"version":3,"file":"db-decorators.js","sources":["../src/model/constants.ts","../src/validation/constants.ts","../src/validation/validators/ReadOnlyValidator.ts","../src/validation/validators/TimestampValidator.ts","../src/validation/validators/UpdateValidator.ts","../src/operations/constants.ts","../src/validation/validation.ts","../src/operations/OperationsRegistry.ts","../src/operations/Operations.ts","../src/repository/errors.ts","../src/operations/decorators.ts","../src/model/decorators.ts","../src/validation/decorators.ts","../src/identity/decorators.ts","../src/model/validation.ts","../src/overrides/overrides.ts","../src/overrides/ModelBuilderExtensions.ts","../src/repository/utils.ts","../src/repository/constants.ts","../src/repository/Context.ts","../src/repository/wrappers.ts","../src/repository/Repository.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["DBKeys","REFLECT","ModelKeys","MODEL","REPOSITORY","CLASS","ID","INDEX","UNIQUE","SERIALIZE","READONLY","TIMESTAMP","TRANSIENT","HASH","COMPOSED","GENERATED","VERSION","ORIGINAL","DefaultSeparator","DEFAULT_TIMESTAMP_FORMAT","DEFAULT_ERROR_MESSAGES","INVALID","REQUIRED","DATE","UpdateValidationKeys","ReadOnlyValidator","Validator","constructor","super","hasErrors","value","args","updateHasErrors","oldValue","message","undefined","isEqual","this","getMessage","__decorate","validator","TimestampValidator","Date","e","UpdateValidator","DecoratorMessages","DEFAULT","acceptedTypes","OperationKeys","ModelOperations","BulkCrudOperationKeys","Validation","updateKey","key","DBOperations","CREATE","READ","UPDATE","DELETE","CREATE_UPDATE","READ_CREATE","ALL","OperationsRegistry","cache","get","target","propKey","operation","accum","owner","resolveOwner","name","resolveTargetName","handlers","selectHandlers","length","unshift","Object","prototype","getPrototypeOf","proto","register","handler","handlerName","getHandlerName","flavour","resolveFlavour","Decoration","defaultFlavour","Metadata","flavourOf","byOperation","bucket","firstBucket","values","keys","Hashing","hash","toString","Operations","str","targetName","registry","getOpRegistry","BaseError","Error","msg","code","stack","replaceAll","BreakError","BadRequestError","ValidationError","InternalError","SerializationError","NotFoundError","ConflictError","DefaultGroupSort","priority","getHandlerArgs","dec","prop","m","props","getHandlersDecorators","model","decorators","prefix","decs","handlerArgs","argsEntry","data","push","groupDecorators","grouped","reduce","acc","group","set","Symbol","groupKey","has","existing","Map","groups","Array","from","forEach","combined","map","d","i","sort","a","b","groupPriority","c","sortDecorators","onCreateUpdate","groupsort","on","onUpdate","onCreate","onRead","onDelete","onAny","op","ON","afterCreateUpdate","after","afterUpdate","afterCreate","afterRead","afterDelete","afterAny","AFTER","baseOp","dataToAdd","propertyKey","compoundKey","readOperation","handlerKey","mergeData","filter","handle","propMetadata","OPERATIONS","apply","storeHandlerMetadata","params","metadata","BlockOperations","operations","BLOCK","includes","BlockOperationIf","generated","type","hashOnCreateUpdate","context","oldModel","composeAttributeValue","suffix","separator","filterEmpty","hashResult","composed","arg","isArray","JSON","stringify","join","composedFromCreateUpdate","composedFrom","for","define","decorator","property","composedFromKeys","versionCreateUpdate","Model","shouldGenerate","version","Number","transient","attribute","readonly","meta","description","async","innerValidationDecorator","timestampHandler","timestamp","format","decorationKey","updateValidationKey","date","required","indexOf","serializeOnCreateUpdate","serializer","serialize","serializeAfterAll","deserialize","parse","String","id","getValidatableUpdateProps","propsToIgnore","decoratedProperties","hasOwnProperty","call","validationFor","validateDecorator","newModel","toConditionalPromise","decoratorProps","maybeError","validateDecorators","result","decoratorKey","validationErrors","ValidationKeys","LIST","newPropValue","oldPropValue","newValues","Set","oldValues","allowedTypes","class","clazz","customTypes","flat","t","toLowerCase","errs","childValue","isModel","pk","oldListModel","find","el","Promise","all","then","every","r","allEmpty","promises","resolvedValues","res","val","validateCompare","ValidatableUpdateProps","nestedErrors","propValue","designTypes","getPropDesignTypes","some","TYPE","propErrors","isConstr","isPropertyModel","instance","Constr","designTypeNames","nestedPropsToIgnore","getChildNestedPropsToIgnore","entries","error","ModelErrorDefinition","merged","allSettled","results","parentProp","nestedErrPromise","nestedPropDecErrors","nestedProp","nestedPropDecError","status","reason","isTransient","previousVersion","exclusions","isAsync","validate","resolve","resolvedErrs","segregate","validatableProperties","transientProps","build","keyValue","constr","idProp","bind","pkProps","merge","extractData","assign","saveOperation","ctx","versionProp","versionOf","builderPrototype","ModelBuilderImpl","decorateClass","_classDecorators","applyDecorator","builder","attr","attributes","ensureAttributeBuilder","decorate","reduceErrorsToPrint","errors","enforceDBDecorators","repo","getDbDecorators","sortedDecorators","UPDATE_ALL","logger","extraPrefix","replace","obj","hashValue","DefaultRepositoryFlags","parentContext","childContexts","ignoredValidationProperties","callArgs","writeOperation","affectedTables","breakOnHandlerError","rebuildWithTransient","ignoreValidation","ignoreHandlers","ignoreDevSafeGuards","mergeForUpdate","applyUpdateValidation","allowGenerationOverride","DefaultContextFactory","Context","accumulate","Logging","ObjectAccumulator","defineProperty","writable","enumerable","configurable","factory","parent","childFrom","overrides","contextual","last","pop","getContext","prefixMethod","afterName","Proxy","thisArg","argArray","suffixMethod","before","beforeName","wrapMethodWithContext","method","methodName","transformedArgs","wrapMethodWithContextForUpdate","o","Repository","_class","self","create","read","delete","update","createAll","models","createPrefix","contextArgs","createSuffix","createAllPrefix","ignoreValidate","createAllSuffix","readAll","readSuffix","readPrefix","readAllPrefix","k","readAllSuffix","updateAll","updateSuffix","updatePrefix","updateAllPrefix","ids","oldModels","modelsValidation","updateAllSuffix","deleteAll","deleteSuffix","deletePrefix","deleteAllPrefix","deleteAllSuffix","PACKAGE_NAME","registerLibrary"],"mappings":"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"}
1
+ {"version":3,"file":"db-decorators.js","sources":["../src/model/constants.ts","../src/validation/constants.ts","../src/validation/validators/ReadOnlyValidator.ts","../src/validation/validators/TimestampValidator.ts","../src/validation/validators/UpdateValidator.ts","../src/operations/constants.ts","../src/validation/validation.ts","../src/operations/OperationsRegistry.ts","../src/operations/Operations.ts","../src/repository/errors.ts","../src/operations/decorators.ts","../src/model/decorators.ts","../src/validation/decorators.ts","../src/identity/decorators.ts","../src/model/validation.ts","../src/overrides/overrides.ts","../src/overrides/ModelBuilderExtensions.ts","../src/repository/utils.ts","../src/repository/constants.ts","../src/repository/Context.ts","../src/repository/wrappers.ts","../src/repository/Repository.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["DBKeys","REFLECT","ModelKeys","MODEL","REPOSITORY","CLASS","ID","INDEX","UNIQUE","SERIALIZE","READONLY","TIMESTAMP","TRANSIENT","HASH","COMPOSED","GENERATED","VERSION","ORIGINAL","DefaultSeparator","DEFAULT_TIMESTAMP_FORMAT","DEFAULT_ERROR_MESSAGES","INVALID","REQUIRED","DATE","UpdateValidationKeys","ReadOnlyValidator","Validator","constructor","super","hasErrors","value","args","updateHasErrors","oldValue","message","undefined","isEqual","this","getMessage","__decorate","validator","TimestampValidator","Date","e","UpdateValidator","DecoratorMessages","DEFAULT","acceptedTypes","OperationKeys","ModelOperations","BulkCrudOperationKeys","BulkOperationBlockTarget","Validation","updateKey","key","DBOperations","CREATE","READ","UPDATE","DELETE","CREATE_UPDATE","READ_CREATE","ALL","OperationsRegistry","cache","get","target","propKey","operation","accum","owner","resolveOwner","name","resolveTargetName","handlers","selectHandlers","length","unshift","Object","prototype","getPrototypeOf","proto","register","handler","handlerName","getHandlerName","flavour","resolveFlavour","Decoration","defaultFlavour","Metadata","flavourOf","byOperation","bucket","firstBucket","values","keys","Hashing","hash","toString","Operations","str","targetName","registry","getOpRegistry","BaseError","Error","msg","code","stack","replaceAll","BreakError","BadRequestError","ValidationError","InternalError","SerializationError","NotFoundError","ConflictError","DefaultGroupSort","priority","crudOperationSet","Set","bulkOperationSet","resolveKindForString","has","isBlockOperationDescriptor","hasOwnProperty","call","kind","normalizeBlockOperationsInput","input","candidates","Array","isArray","descriptors","item","push","getHandlerArgs","dec","prop","m","props","getHandlersDecorators","model","decorators","prefix","decs","handlerArgs","argsEntry","data","groupDecorators","grouped","reduce","acc","group","set","Symbol","groupKey","existing","Map","groups","from","forEach","combined","map","d","i","sort","a","b","groupPriority","c","sortDecorators","onCreateUpdate","groupsort","on","onUpdate","onCreate","onRead","onDelete","onAny","op","ON","afterCreateUpdate","after","afterUpdate","afterCreate","afterRead","afterDelete","afterAny","AFTER","baseOp","dataToAdd","propertyKey","compoundKey","readOperation","handlerKey","mergeData","filter","handle","propMetadata","OPERATIONS","apply","storeHandlerMetadata","params","metadata","BlockOperations","operations","targets","BLOCK","some","matchesTarget","BlockOperationIf","invokeBlockOperationIfHandler","generated","type","hashOnCreateUpdate","context","oldModel","composeAttributeValue","suffix","separator","filterEmpty","hashResult","composed","arg","includes","JSON","stringify","join","composedFromCreateUpdate","composedFrom","for","define","decorator","property","composedFromKeys","versionCreateUpdate","Model","shouldGenerate","version","Number","transient","attribute","readonly","meta","description","async","innerValidationDecorator","timestampHandler","timestamp","format","decorationKey","updateValidationKey","date","required","indexOf","serializeOnCreateUpdate","serializer","serialize","serializeAfterAll","deserialize","parse","String","id","getValidatableUpdateProps","propsToIgnore","decoratedProperties","validationFor","validateDecorator","newModel","toConditionalPromise","decoratorProps","maybeError","validateDecorators","result","decoratorKey","validationErrors","ValidationKeys","LIST","newPropValue","oldPropValue","newValues","oldValues","allowedTypes","class","clazz","customTypes","flat","t","toLowerCase","errs","childValue","isModel","pk","oldListModel","find","el","Promise","all","then","every","r","allEmpty","promises","resolvedValues","res","val","validateCompare","ValidatableUpdateProps","nestedErrors","propValue","designTypes","getPropDesignTypes","TYPE","propErrors","isConstr","isPropertyModel","instance","Constr","designTypeNames","nestedPropsToIgnore","getChildNestedPropsToIgnore","entries","error","ModelErrorDefinition","merged","allSettled","results","parentProp","nestedErrPromise","nestedPropDecErrors","nestedProp","nestedPropDecError","status","reason","isTransient","previousVersion","exclusions","isAsync","validate","resolve","resolvedErrs","segregate","validatableProperties","transientProps","build","keyValue","constr","idProp","bind","pkProps","merge","extractData","assign","saveOperation","ctx","versionProp","versionOf","builderPrototype","ModelBuilderImpl","decorateClass","_classDecorators","applyDecorator","builder","attr","attributes","ensureAttributeBuilder","decorate","reduceErrorsToPrint","errors","enforceDBDecorators","repo","getDbDecorators","sortedDecorators","UPDATE_ALL","logger","extraPrefix","replace","obj","hashValue","DefaultRepositoryFlags","parentContext","childContexts","ignoredValidationProperties","callArgs","writeOperation","affectedTables","breakOnHandlerError","rebuildWithTransient","ignoreValidation","ignoreHandlers","ignoreDevSafeGuards","mergeForUpdate","applyUpdateValidation","allowGenerationOverride","DefaultContextFactory","Context","accumulate","Logging","ObjectAccumulator","defineProperty","writable","enumerable","configurable","factory","parent","childFrom","overrides","contextual","last","pop","getContext","prefixMethod","afterName","Proxy","thisArg","argArray","suffixMethod","before","beforeName","wrapMethodWithContext","method","methodName","transformedArgs","wrapMethodWithContextForUpdate","o","Repository","_class","self","create","read","delete","update","createAll","models","createPrefix","contextArgs","createSuffix","createAllPrefix","ignoreValidate","createAllSuffix","readAll","readSuffix","readPrefix","readAllPrefix","k","readAllSuffix","updateAll","updateSuffix","updatePrefix","updateAllPrefix","ids","oldModels","modelsValidation","updateAllSuffix","deleteAll","deleteSuffix","deletePrefix","deleteAllPrefix","deleteAllSuffix","PACKAGE_NAME","registerLibrary"],"mappings":"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"}
@@ -11,5 +11,5 @@ export * from "./validation";
11
11
  * @const VERSION
12
12
  * @memberOf module:db-decorators
13
13
  */
14
- export declare const VERSION = "0.8.29";
14
+ export declare const VERSION = "0.8.30";
15
15
  export declare const PACKAGE_NAME = "@decaf-ts/db-decorators";
package/lib/esm/index.js CHANGED
@@ -17,7 +17,7 @@ export * from "./validation/index.js";
17
17
  * @const VERSION
18
18
  * @memberOf module:db-decorators
19
19
  */
20
- export const VERSION = "0.8.29";
20
+ export const VERSION = "0.8.30";
21
21
  export const PACKAGE_NAME = "@decaf-ts/db-decorators";
22
22
  Metadata.registerLibrary(PACKAGE_NAME, VERSION);
23
23
  //# sourceMappingURL=index.js.map
@@ -46,6 +46,9 @@ export declare enum BulkCrudOperationKeys {
46
46
  UPDATE_ALL = "updateAll",
47
47
  DELETE_ALL = "deleteAll"
48
48
  }
49
+ export declare enum BulkOperationBlockTarget {
50
+ ALL = "bulkAll"
51
+ }
49
52
  /**
50
53
  * @description Type for bulk CRUD operations
51
54
  * @summary Union type of the four bulk database operations for handling multiple records at once
@@ -60,3 +63,44 @@ export type BulkCrudOperations = BulkCrudOperationKeys.CREATE_ALL | BulkCrudOper
60
63
  * @memberOf module:db-decorators
61
64
  */
62
65
  export declare const DBOperations: Record<string, CrudOperations[]>;
66
+ /**
67
+ * @description Block target categories
68
+ * @summary Indicates whether the block applies to CRUD ops, prepared statements, or query keys
69
+ * @typedef {"crud" | "statement" | "query"} BlockOperationKind
70
+ * @memberOf module:db-decorators
71
+ */
72
+ export type BlockOperationKind = "crud" | "statement" | "query" | "bulk";
73
+ /**
74
+ * @description Descriptor for a single blocked operation target
75
+ * @summary Includes the target kind and identifier (CRUD operation, statement name, query key)
76
+ * @typedef BlockOperationDescriptor
77
+ * @property {"crud"} kind
78
+ * @property {CrudOperations} value
79
+ *
80
+ * @property {"statement"} kind
81
+ * @property {string} value
82
+ *
83
+ * @property {"query"} kind
84
+ * @property {string} value
85
+ * @memberOf module:db-decorators
86
+ */
87
+ export type BlockOperationDescriptor = {
88
+ kind: "crud";
89
+ value: CrudOperations;
90
+ } | {
91
+ kind: "statement";
92
+ value: string;
93
+ } | {
94
+ kind: "query";
95
+ value: string;
96
+ } | {
97
+ kind: "bulk";
98
+ value: BulkCrudOperations | BulkOperationBlockTarget;
99
+ };
100
+ /**
101
+ * @description Inputs accepted by @BlockOperations decorator
102
+ * @summary Accepts either a CRUD operation, a descriptor, or an array of both
103
+ * @typedef {CrudOperations | BlockOperationDescriptor | Array<CrudOperations | BlockOperationDescriptor>} BlockOperationsInput
104
+ * @memberOf module:db-decorators
105
+ */
106
+ export type BlockOperationsInput = CrudOperations | BulkCrudOperations | BulkOperationBlockTarget | BlockOperationDescriptor | (CrudOperations | BulkCrudOperations | BulkOperationBlockTarget | BlockOperationDescriptor)[];
@@ -42,6 +42,10 @@ export var BulkCrudOperationKeys;
42
42
  BulkCrudOperationKeys["UPDATE_ALL"] = "updateAll";
43
43
  BulkCrudOperationKeys["DELETE_ALL"] = "deleteAll";
44
44
  })(BulkCrudOperationKeys || (BulkCrudOperationKeys = {}));
45
+ export var BulkOperationBlockTarget;
46
+ (function (BulkOperationBlockTarget) {
47
+ BulkOperationBlockTarget["ALL"] = "bulkAll";
48
+ })(BulkOperationBlockTarget || (BulkOperationBlockTarget = {}));
45
49
  /**
46
50
  * @description Grouped CRUD operations for decorator mapping
47
51
  * @summary Maps out groups of CRUD operations for easier mapping of decorators
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/operations/constants.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAN,IAAY,aASX;AATD,WAAY,aAAa;IACvB,uDAAsC,CAAA;IACtC,kCAAiB,CAAA;IACjB,8BAAa,CAAA;IACb,kCAAiB,CAAA;IACjB,kCAAiB,CAAA;IACjB,2BAAU,CAAA;IACV,iCAAgB,CAAA;IAChB,gCAAe,CAAA;AACjB,CAAC,EATW,aAAa,KAAb,aAAa,QASxB;AAED;;;;;;GAMG;AACH,MAAM,CAAN,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,4CAAyB,CAAA;IACzB,0CAAuB,CAAA;AACzB,CAAC,EAHW,eAAe,KAAf,eAAe,QAG1B;AAcD;;;;;;GAMG;AACH,MAAM,CAAN,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAC/B,iDAAwB,CAAA;IACxB,6CAAoB,CAAA;IACpB,iDAAwB,CAAA;IACxB,iDAAwB,CAAA;AAC1B,CAAC,EALW,qBAAqB,KAArB,qBAAqB,QAKhC;AAcD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAqC;IAC5D,MAAM,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC;IAC9B,IAAI,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC;IAC1B,MAAM,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC;IAC9B,MAAM,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC;IAC9B,aAAa,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC;IAC3D,WAAW,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC;IACvD,GAAG,EAAE;QACH,aAAa,CAAC,MAAM;QACpB,aAAa,CAAC,IAAI;QAClB,aAAa,CAAC,MAAM;QACpB,aAAa,CAAC,MAAM;KACrB;CACF,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/operations/constants.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAN,IAAY,aASX;AATD,WAAY,aAAa;IACvB,uDAAsC,CAAA;IACtC,kCAAiB,CAAA;IACjB,8BAAa,CAAA;IACb,kCAAiB,CAAA;IACjB,kCAAiB,CAAA;IACjB,2BAAU,CAAA;IACV,iCAAgB,CAAA;IAChB,gCAAe,CAAA;AACjB,CAAC,EATW,aAAa,KAAb,aAAa,QASxB;AAED;;;;;;GAMG;AACH,MAAM,CAAN,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,4CAAyB,CAAA;IACzB,0CAAuB,CAAA;AACzB,CAAC,EAHW,eAAe,KAAf,eAAe,QAG1B;AAcD;;;;;;GAMG;AACH,MAAM,CAAN,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAC/B,iDAAwB,CAAA;IACxB,6CAAoB,CAAA;IACpB,iDAAwB,CAAA;IACxB,iDAAwB,CAAA;AAC1B,CAAC,EALW,qBAAqB,KAArB,qBAAqB,QAKhC;AAED,MAAM,CAAN,IAAY,wBAEX;AAFD,WAAY,wBAAwB;IAClC,2CAAe,CAAA;AACjB,CAAC,EAFW,wBAAwB,KAAxB,wBAAwB,QAEnC;AAcD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAqC;IAC5D,MAAM,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC;IAC9B,IAAI,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC;IAC1B,MAAM,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC;IAC9B,MAAM,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC;IAC9B,aAAa,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC;IAC3D,WAAW,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC;IACvD,GAAG,EAAE;QACH,aAAa,CAAC,MAAM;QACpB,aAAa,CAAC,IAAI;QAClB,aAAa,CAAC,MAAM;QACpB,aAAa,CAAC,MAAM;KACrB;CACF,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { GeneralOperationHandler, GeneralUpdateOperationHandler, IdOperationHandler, OperationHandler, StandardOperationHandler, UpdateOperationHandler } from "./types";
2
- import { CrudOperations, OperationKeys } from "./constants";
2
+ import { CrudOperations, OperationKeys, BlockOperationDescriptor, BlockOperationKind, BlockOperationsInput } from "./constants";
3
3
  import { Model } from "@decaf-ts/decorator-validation";
4
4
  import { IRepository } from "../interfaces";
5
5
  import { Constructor } from "@decaf-ts/decoration";
@@ -317,31 +317,7 @@ export declare function operation<V = object>(baseOp: OperationKeys.ON | Operati
317
317
  *
318
318
  */
319
319
  export declare function storeHandlerMetadata<P extends any[]>(key: string, handler: (...params: P) => boolean): (...params: Partial<P>) => (model: any, prop?: any, descriptor?: PropertyDescriptor | number) => void;
320
- /**
321
- * @description
322
- * Decorator factory that conditionally blocks specific CRUD operations
323
- * from being executed on a model or controller.
324
- *
325
- * @summary
326
- * The `BlockOperations` decorator integrates with the `executeIf` mechanism to
327
- * associate metadata that defines which CRUD operations should be restricted.
328
- * When applied, it registers a conditional handler that evaluates whether a given
329
- * operation is included in the list of blocked operations. This enables dynamic,
330
- * metadata-driven control over allowed operations in CRUD-based systems.
331
- *
332
- * @template CrudOperations - Enum or type representing valid CRUD operations.
333
- *
334
- * @param {CrudOperations[]} operations - An array of CRUD operations that should be blocked.
335
- * The handler will later check if the requested operation is part of this list.
336
- *
337
- * Returns a decorator that stores metadata indicating which operations are blocked.
338
- * The metadata can be inspected or enforced later within the application's lifecycle.
339
- *
340
- * @function BlockOperations
341
-
342
- * @category decorators
343
- */
344
- export declare const BlockOperations: (operations: CrudOperations[]) => (model: any, prop?: any, descriptor?: PropertyDescriptor | number) => void;
320
+ export declare const BlockOperations: (operations: BlockOperationsInput) => (model: any, prop?: any, descriptor?: PropertyDescriptor | number) => void;
345
321
  /**
346
322
  * @description
347
323
  * Decorator factory that conditionally blocks specific CRUD operations
@@ -366,4 +342,7 @@ export declare const BlockOperations: (operations: CrudOperations[]) => (model:
366
342
 
367
343
  * @category decorators
368
344
  */
369
- export declare const BlockOperationIf: (handler: <P extends any[]>(...params: P) => boolean) => (model: any, prop?: any, descriptor?: PropertyDescriptor | number) => void;
345
+ type LegacyBlockOperationHandler = (operations: CrudOperations[], operation: CrudOperations) => boolean;
346
+ type BlockOperationIfHandler = (targets: BlockOperationDescriptor[], kind: BlockOperationKind, value: string) => boolean;
347
+ export declare const BlockOperationIf: (handler: LegacyBlockOperationHandler | BlockOperationIfHandler) => (model: any, prop?: any, descriptor?: PropertyDescriptor | number) => void;
348
+ export {};
@@ -1,9 +1,56 @@
1
- import { DBOperations, ModelOperations, OperationKeys, } from "./constants.js";
1
+ import { BulkCrudOperationKeys, BulkOperationBlockTarget, DBOperations, ModelOperations, OperationKeys, } from "./constants.js";
2
2
  import { Operations } from "./Operations.js";
3
3
  import { InternalError } from "./../repository/errors.js";
4
4
  import { propMetadata, apply, metadata, Metadata, } from "@decaf-ts/decoration";
5
5
  const defaultPriority = 50;
6
6
  const DefaultGroupSort = { priority: defaultPriority };
7
+ const crudOperationSet = new Set([
8
+ OperationKeys.CREATE,
9
+ OperationKeys.READ,
10
+ OperationKeys.UPDATE,
11
+ OperationKeys.DELETE,
12
+ ]);
13
+ const bulkOperationSet = new Set(Object.values(BulkCrudOperationKeys));
14
+ function resolveKindForString(value) {
15
+ if (bulkOperationSet.has(value))
16
+ return "bulk";
17
+ if (value === BulkOperationBlockTarget.ALL)
18
+ return "bulk";
19
+ if (crudOperationSet.has(value))
20
+ return "crud";
21
+ return "crud";
22
+ }
23
+ function isBlockOperationDescriptor(value) {
24
+ return (typeof value === "object" &&
25
+ value !== null &&
26
+ Object.prototype.hasOwnProperty.call(value, "kind") &&
27
+ typeof value.kind === "string");
28
+ }
29
+ function normalizeBlockOperationsInput(input) {
30
+ const candidates = Array.isArray(input) ? input : [input];
31
+ const descriptors = [];
32
+ for (const item of candidates) {
33
+ if (Array.isArray(item)) {
34
+ descriptors.push(...normalizeBlockOperationsInput(item));
35
+ continue;
36
+ }
37
+ if (typeof item === "string") {
38
+ const kind = resolveKindForString(item);
39
+ const value = kind === "bulk" && item === BulkOperationBlockTarget.ALL
40
+ ? item
41
+ : kind === "bulk"
42
+ ? item
43
+ : item;
44
+ descriptors.push({ kind, value });
45
+ continue;
46
+ }
47
+ if (isBlockOperationDescriptor(item)) {
48
+ descriptors.push(item);
49
+ continue;
50
+ }
51
+ }
52
+ return descriptors;
53
+ }
7
54
  /**
8
55
  * @description Internal function to register operation handlers
9
56
  * @summary Registers an operation handler for a specific operation key on a target property
@@ -473,32 +520,28 @@ export function storeHandlerMetadata(key, handler) {
473
520
 
474
521
  * @category decorators
475
522
  */
476
- export const BlockOperations = (operations) => storeHandlerMetadata(OperationKeys.REFLECT + OperationKeys.BLOCK, (operations, operation) => {
477
- return operations.includes(operation);
478
- })(operations);
479
- /**
480
- * @description
481
- * Decorator factory that conditionally blocks specific CRUD operations
482
- * from being executed on a model or controller.
483
- *
484
- * @summary
485
- * The `BlockOperations` decorator integrates with the `executeIf` mechanism to
486
- * associate metadata that defines which CRUD operations should be restricted.
487
- * When applied, it registers a conditional handler that evaluates whether a given
488
- * operation is included in the list of blocked operations. This enables dynamic,
489
- * metadata-driven control over allowed operations in CRUD-based systems.
490
- *
491
- * @template CrudOperations - Enum or type representing valid CRUD operations.
492
- *
493
- * @param {function(any[]): boolean} handler - An array of CRUD operations that should be blocked.
494
- * The handler will later check if the requested operation is part of this list.
495
- *
496
- * Returns a decorator that stores metadata indicating which operations are blocked.
497
- * The metadata can be inspected or enforced later within the application's lifecycle.
498
- *
499
- * @function BlockOperationIf
500
-
501
- * @category decorators
502
- */
503
- export const BlockOperationIf = (handler) => storeHandlerMetadata(OperationKeys.REFLECT + OperationKeys.BLOCK, handler)();
523
+ function matchesTarget(target, kind, value) {
524
+ if (target.kind !== kind)
525
+ return false;
526
+ if (target.kind === "bulk" &&
527
+ target.value === BulkOperationBlockTarget.ALL) {
528
+ return true;
529
+ }
530
+ return target.value === value;
531
+ }
532
+ export const BlockOperations = (operations) => {
533
+ const targets = normalizeBlockOperationsInput(operations);
534
+ return storeHandlerMetadata(OperationKeys.REFLECT + OperationKeys.BLOCK, (targets, kind, value) => {
535
+ return targets.some((target) => matchesTarget(target, kind, value));
536
+ })(targets);
537
+ };
538
+ function invokeBlockOperationIfHandler(handler, targets, kind, value) {
539
+ if (handler.length <= 2 && kind === "crud") {
540
+ const crudTargets = targets.filter((target) => target.kind === "crud");
541
+ const operations = crudTargets.map((target) => target.value);
542
+ return handler(operations, value);
543
+ }
544
+ return handler(targets, kind, value);
545
+ }
546
+ export const BlockOperationIf = (handler) => storeHandlerMetadata(OperationKeys.REFLECT + OperationKeys.BLOCK, (targets, kind, value) => invokeBlockOperationIfHandler(handler, targets, kind, value))();
504
547
  //# sourceMappingURL=decorators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../src/operations/decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../src/operations/decorators.ts"],"names":[],"mappings":"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"}
package/lib/index.cjs CHANGED
@@ -34,7 +34,7 @@ __exportStar(require("./validation/index.cjs"), exports);
34
34
  * @const VERSION
35
35
  * @memberOf module:db-decorators
36
36
  */
37
- exports.VERSION = "0.8.29";
37
+ exports.VERSION = "0.8.30";
38
38
  exports.PACKAGE_NAME = "@decaf-ts/db-decorators";
39
39
  decoration_1.Metadata.registerLibrary(exports.PACKAGE_NAME, exports.VERSION);
40
40
  //# sourceMappingURL=index.js.map
package/lib/index.d.ts CHANGED
@@ -11,5 +11,5 @@ export * from "./validation";
11
11
  * @const VERSION
12
12
  * @memberOf module:db-decorators
13
13
  */
14
- export declare const VERSION = "0.8.29";
14
+ export declare const VERSION = "0.8.30";
15
15
  export declare const PACKAGE_NAME = "@decaf-ts/db-decorators";
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DBOperations = exports.BulkCrudOperationKeys = exports.ModelOperations = exports.OperationKeys = void 0;
3
+ exports.DBOperations = exports.BulkOperationBlockTarget = exports.BulkCrudOperationKeys = exports.ModelOperations = exports.OperationKeys = void 0;
4
4
  /**
5
5
  * @description Database operation key constants
6
6
  * @summary Enum defining CRUD operations and their lifecycle phases
@@ -45,6 +45,10 @@ var BulkCrudOperationKeys;
45
45
  BulkCrudOperationKeys["UPDATE_ALL"] = "updateAll";
46
46
  BulkCrudOperationKeys["DELETE_ALL"] = "deleteAll";
47
47
  })(BulkCrudOperationKeys || (exports.BulkCrudOperationKeys = BulkCrudOperationKeys = {}));
48
+ var BulkOperationBlockTarget;
49
+ (function (BulkOperationBlockTarget) {
50
+ BulkOperationBlockTarget["ALL"] = "bulkAll";
51
+ })(BulkOperationBlockTarget || (exports.BulkOperationBlockTarget = BulkOperationBlockTarget = {}));
48
52
  /**
49
53
  * @description Grouped CRUD operations for decorator mapping
50
54
  * @summary Maps out groups of CRUD operations for easier mapping of decorators
@@ -46,6 +46,9 @@ export declare enum BulkCrudOperationKeys {
46
46
  UPDATE_ALL = "updateAll",
47
47
  DELETE_ALL = "deleteAll"
48
48
  }
49
+ export declare enum BulkOperationBlockTarget {
50
+ ALL = "bulkAll"
51
+ }
49
52
  /**
50
53
  * @description Type for bulk CRUD operations
51
54
  * @summary Union type of the four bulk database operations for handling multiple records at once
@@ -60,3 +63,44 @@ export type BulkCrudOperations = BulkCrudOperationKeys.CREATE_ALL | BulkCrudOper
60
63
  * @memberOf module:db-decorators
61
64
  */
62
65
  export declare const DBOperations: Record<string, CrudOperations[]>;
66
+ /**
67
+ * @description Block target categories
68
+ * @summary Indicates whether the block applies to CRUD ops, prepared statements, or query keys
69
+ * @typedef {"crud" | "statement" | "query"} BlockOperationKind
70
+ * @memberOf module:db-decorators
71
+ */
72
+ export type BlockOperationKind = "crud" | "statement" | "query" | "bulk";
73
+ /**
74
+ * @description Descriptor for a single blocked operation target
75
+ * @summary Includes the target kind and identifier (CRUD operation, statement name, query key)
76
+ * @typedef BlockOperationDescriptor
77
+ * @property {"crud"} kind
78
+ * @property {CrudOperations} value
79
+ *
80
+ * @property {"statement"} kind
81
+ * @property {string} value
82
+ *
83
+ * @property {"query"} kind
84
+ * @property {string} value
85
+ * @memberOf module:db-decorators
86
+ */
87
+ export type BlockOperationDescriptor = {
88
+ kind: "crud";
89
+ value: CrudOperations;
90
+ } | {
91
+ kind: "statement";
92
+ value: string;
93
+ } | {
94
+ kind: "query";
95
+ value: string;
96
+ } | {
97
+ kind: "bulk";
98
+ value: BulkCrudOperations | BulkOperationBlockTarget;
99
+ };
100
+ /**
101
+ * @description Inputs accepted by @BlockOperations decorator
102
+ * @summary Accepts either a CRUD operation, a descriptor, or an array of both
103
+ * @typedef {CrudOperations | BlockOperationDescriptor | Array<CrudOperations | BlockOperationDescriptor>} BlockOperationsInput
104
+ * @memberOf module:db-decorators
105
+ */
106
+ export type BlockOperationsInput = CrudOperations | BulkCrudOperations | BulkOperationBlockTarget | BlockOperationDescriptor | (CrudOperations | BulkCrudOperations | BulkOperationBlockTarget | BlockOperationDescriptor)[];