@fjell/lib-sequelize 4.4.83 → 4.4.84

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":"SequelizeLibrary.d.ts","sourceRoot":"","sources":["../../src/primary/SequelizeLibrary.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,OAAO,KAAK,OAAO,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAiB,OAAO,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,UAAU,EAAoB,MAAM,eAAe,CAAC;AAM7D,MAAM,WAAW,gBAAgB,CAC/B,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,EACjB,CAAC,SAAS,MAAM;IAEhB,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAC1B,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrC,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvB,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;CAC5B;AAED,wBAAgB,sBAAsB,CACpC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,EACjB,CAAC,SAAS,MAAM,EAEhB,OAAO,EAAE,CAAC,EACV,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,EAC1B,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAK,EACvC,MAAM,EAAE,MAAM,EAAE,YAAK,EACrB,QAAQ,EAAE,QAAQ,GACjB,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAoBxB"}
1
+ {"version":3,"file":"SequelizeLibrary.d.ts","sourceRoot":"","sources":["../../src/primary/SequelizeLibrary.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,OAAO,KAAK,OAAO,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAiB,OAAO,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,UAAU,EAAoB,MAAM,eAAe,CAAC;AAW7D,MAAM,WAAW,gBAAgB,CAC/B,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,EACjB,CAAC,SAAS,MAAM;IAEhB,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAC1B,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrC,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvB,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;CAC5B;AAED,wBAAgB,sBAAsB,CACpC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,EACjB,CAAC,SAAS,MAAM,EAEhB,OAAO,EAAE,CAAC,EACV,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,EAC1B,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAK,EACvC,MAAM,EAAE,MAAM,EAAE,YAAK,EACrB,QAAQ,EAAE,QAAQ,GACjB,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAwCxB"}
@@ -0,0 +1,52 @@
1
+ import { Model, ModelStatic } from 'sequelize';
2
+ export type DirectSaveBehavior = 'warn-and-throw' | 'warn-only';
3
+ /**
4
+ * Configuration for Sequelize instance wrapping behavior
5
+ */
6
+ export interface SequelizeWrapperConfig {
7
+ /**
8
+ * Behavior when save() or update() is called directly on a Sequelize instance
9
+ * - 'warn-and-throw': Log a warning and throw an error (default)
10
+ * - 'warn-only': Log a warning but allow the operation to proceed
11
+ */
12
+ directSaveBehavior?: DirectSaveBehavior;
13
+ /**
14
+ * The item type (kt) for better error messages
15
+ */
16
+ itemType?: string;
17
+ /**
18
+ * Whether hooks are defined for this library
19
+ */
20
+ hasHooks?: boolean;
21
+ }
22
+ /**
23
+ * Wraps a Sequelize Model instance to intercept direct save() and update() calls
24
+ * that would bypass Fjell hooks.
25
+ *
26
+ * @param instance - The Sequelize Model instance to wrap
27
+ * @param config - Configuration for wrapper behavior
28
+ * @returns A wrapped instance that intercepts save() and update() calls
29
+ */
30
+ export declare function wrapSequelizeInstance<T extends Model>(instance: T, config?: SequelizeWrapperConfig): T;
31
+ /**
32
+ * Checks if a Sequelize library has hooks defined
33
+ */
34
+ export declare function hasHooksDefined(options: {
35
+ hooks?: any;
36
+ validators?: any;
37
+ }): boolean;
38
+ /**
39
+ * Wraps a Sequelize ModelStatic class so that queries return wrapped instances.
40
+ * This ensures that when actions/facets query models directly via library.models,
41
+ * they receive wrapped instances that intercept direct save()/update() calls.
42
+ *
43
+ * @param modelClass - The Sequelize ModelStatic class to wrap
44
+ * @param config - Configuration for wrapper behavior
45
+ * @returns A wrapped ModelStatic that returns wrapped instances from queries
46
+ */
47
+ export declare function wrapSequelizeModel<T extends ModelStatic<Model>>(modelClass: T, config?: SequelizeWrapperConfig): T;
48
+ /**
49
+ * Wraps an array of Sequelize ModelStatic classes
50
+ */
51
+ export declare function wrapSequelizeModels(models: ModelStatic<any>[], config?: SequelizeWrapperConfig): ModelStatic<any>[];
52
+ //# sourceMappingURL=SequelizeInstanceWrapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SequelizeInstanceWrapper.d.ts","sourceRoot":"","sources":["../../src/util/SequelizeInstanceWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAK/C,MAAM,MAAM,kBAAkB,GAAG,gBAAgB,GAAG,WAAW,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IAExC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAcD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,KAAK,EACnD,QAAQ,EAAE,CAAC,EACX,MAAM,GAAE,sBAA2B,GAClC,CAAC,CAoHH;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,GAAG,CAAC;IAAC,UAAU,CAAC,EAAE,GAAG,CAAA;CAAE,GAAG,OAAO,CAYnF;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,WAAW,CAAC,KAAK,CAAC,EAC7D,UAAU,EAAE,CAAC,EACb,MAAM,GAAE,sBAA2B,GAClC,CAAC,CAgFH;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,EAC1B,MAAM,GAAE,sBAA2B,GAClC,WAAW,CAAC,GAAG,CAAC,EAAE,CAEpB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fjell/lib-sequelize",
3
- "version": "4.4.83",
3
+ "version": "4.4.84",
4
4
  "license": "Apache-2.0",
5
5
  "keywords": [
6
6
  "library",
@@ -41,12 +41,12 @@
41
41
  "docs:test": "cd docs && npm run test"
42
42
  },
43
43
  "dependencies": {
44
- "@fjell/core": "^4.4.76",
45
- "@fjell/lib": "^4.4.86",
46
- "@fjell/logging": "^4.4.66",
47
- "@fjell/registry": "^4.4.83",
48
- "@fjell/types": "^4.4.6",
49
- "@fjell/validation": "^4.4.3",
44
+ "@fjell/core": "^4.4.77",
45
+ "@fjell/lib": "^4.4.88",
46
+ "@fjell/logging": "^4.4.67",
47
+ "@fjell/registry": "^4.4.84",
48
+ "@fjell/types": "^4.4.7",
49
+ "@fjell/validation": "^4.4.4",
50
50
  "dayjs": "^1.11.13",
51
51
  "deepmerge": "^4.3.1",
52
52
  "sequelize": "^6.37.7",
@@ -55,7 +55,7 @@
55
55
  "devDependencies": {
56
56
  "@eslint/eslintrc": "^3.3.1",
57
57
  "@eslint/js": "^9.32.0",
58
- "@fjell/common-config": "^1.1.36",
58
+ "@fjell/common-config": "^1.1.37",
59
59
  "@swc/core": "^1.13.2",
60
60
  "@tsconfig/recommended": "^1.0.10",
61
61
  "@types/node": "^24.1.0",
@@ -72,6 +72,6 @@
72
72
  },
73
73
  "repository": {
74
74
  "type": "git",
75
- "url": "git+https://github.com/getfjell/lib-sequelize.git"
75
+ "url": "git+https://github.com/fjellgrunn/lib-sequelize.git"
76
76
  }
77
77
  }