@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.
- package/dist/Options.d.ts +11 -0
- package/dist/Options.d.ts.map +1 -1
- package/dist/SequelizeLibrary.d.ts.map +1 -1
- package/dist/contained/SequelizeLibrary.d.ts.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +214 -10
- package/dist/index.js.map +4 -4
- package/dist/primary/SequelizeLibrary.d.ts.map +1 -1
- package/dist/util/SequelizeInstanceWrapper.d.ts +52 -0
- package/dist/util/SequelizeInstanceWrapper.d.ts.map +1 -0
- package/package.json +9 -9
|
@@ -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;
|
|
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.
|
|
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.
|
|
45
|
-
"@fjell/lib": "^4.4.
|
|
46
|
-
"@fjell/logging": "^4.4.
|
|
47
|
-
"@fjell/registry": "^4.4.
|
|
48
|
-
"@fjell/types": "^4.4.
|
|
49
|
-
"@fjell/validation": "^4.4.
|
|
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.
|
|
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/
|
|
75
|
+
"url": "git+https://github.com/fjellgrunn/lib-sequelize.git"
|
|
76
76
|
}
|
|
77
77
|
}
|