@fjell/lib-sequelize 4.3.4 → 4.4.1
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/cjs/AggregationBuilder.cjs +31 -0
- package/dist/cjs/Coordinate.cjs +37 -0
- package/dist/cjs/Definition.cjs +46 -0
- package/dist/cjs/EventCoordinator.cjs +35 -0
- package/dist/cjs/Instance.cjs +40 -0
- package/dist/cjs/KeyMaster.cjs +91 -0
- package/dist/cjs/Operations.cjs +29 -0
- package/dist/cjs/Options.cjs +39 -0
- package/dist/cjs/QueryBuilder.cjs +188 -0
- package/dist/cjs/ReferenceBuilder.cjs +34 -0
- package/dist/cjs/RowProcessor.cjs +41 -0
- package/dist/cjs/contained/Instance.cjs +21 -0
- package/dist/cjs/contained/index.cjs +10 -0
- package/dist/cjs/index.cjs +23 -0
- package/dist/cjs/logger.cjs +10 -0
- package/dist/cjs/ops/all.cjs +62 -0
- package/dist/cjs/ops/create.cjs +23 -0
- package/dist/cjs/ops/find.cjs +45 -0
- package/dist/cjs/ops/get.cjs +49 -0
- package/dist/cjs/ops/one.cjs +26 -0
- package/dist/cjs/ops/remove.cjs +72 -0
- package/dist/cjs/ops/update.cjs +59 -0
- package/dist/cjs/primary/Instance.cjs +31 -0
- package/dist/cjs/primary/index.cjs +10 -0
- package/dist/cjs/util/general.cjs +52 -0
- package/dist/es/AggregationBuilder.js +27 -0
- package/dist/es/Coordinate.js +13 -0
- package/dist/es/Definition.js +23 -0
- package/dist/es/EventCoordinator.js +30 -0
- package/dist/es/Instance.js +17 -0
- package/dist/es/KeyMaster.js +86 -0
- package/dist/es/Operations.js +25 -0
- package/dist/es/Options.js +16 -0
- package/dist/{src → es}/QueryBuilder.js +67 -46
- package/dist/es/ReferenceBuilder.js +30 -0
- package/dist/es/RowProcessor.js +37 -0
- package/dist/es/contained/Instance.js +17 -0
- package/dist/es/contained/index.js +2 -0
- package/dist/es/index.js +10 -0
- package/dist/es/logger.js +6 -0
- package/dist/{src → es}/ops/all.js +25 -14
- package/dist/es/ops/create.js +19 -0
- package/dist/es/ops/find.js +41 -0
- package/dist/es/ops/get.js +45 -0
- package/dist/es/ops/one.js +22 -0
- package/dist/es/ops/remove.js +68 -0
- package/dist/es/ops/update.js +55 -0
- package/dist/es/primary/Instance.js +27 -0
- package/dist/es/primary/index.js +2 -0
- package/dist/es/util/general.js +47 -0
- package/dist/index.cjs +810 -0
- package/dist/index.cjs.map +1 -0
- package/dist/types/AggregationBuilder.d.ts +4 -0
- package/dist/{src → types}/Definition.d.ts +2 -2
- package/dist/{src → types}/Instance.d.ts +2 -2
- package/dist/{src → types}/KeyMaster.d.ts +1 -2
- package/dist/{src → types}/Operations.d.ts +4 -4
- package/dist/{src → types}/Options.d.ts +15 -4
- package/dist/types/ReferenceBuilder.d.ts +3 -0
- package/dist/types/RowProcessor.d.ts +5 -0
- package/dist/{src → types}/contained/Instance.d.ts +2 -1
- package/dist/types/logger.d.ts +2 -0
- package/dist/types/ops/all.d.ts +5 -0
- package/dist/{src → types}/ops/create.d.ts +5 -4
- package/dist/types/ops/find.d.ts +5 -0
- package/dist/{src → types}/ops/get.d.ts +2 -1
- package/dist/types/ops/one.d.ts +5 -0
- package/dist/types/ops/remove.d.ts +5 -0
- package/dist/types/ops/update.d.ts +5 -0
- package/dist/{src → types}/primary/Instance.d.ts +2 -1
- package/dist/types/util/general.d.ts +4 -0
- package/package.json +45 -35
- package/dist/src/Coordinate.js +0 -7
- package/dist/src/Coordinate.js.map +0 -1
- package/dist/src/Definition.js +0 -16
- package/dist/src/Definition.js.map +0 -1
- package/dist/src/EventCoordinator.js +0 -56
- package/dist/src/EventCoordinator.js.map +0 -1
- package/dist/src/Instance.js +0 -14
- package/dist/src/Instance.js.map +0 -1
- package/dist/src/KeyMaster.js +0 -58
- package/dist/src/KeyMaster.js.map +0 -1
- package/dist/src/Operations.js +0 -22
- package/dist/src/Operations.js.map +0 -1
- package/dist/src/Options.js +0 -16
- package/dist/src/Options.js.map +0 -1
- package/dist/src/QueryBuilder.js.map +0 -1
- package/dist/src/RowProcessor.d.ts +0 -3
- package/dist/src/RowProcessor.js +0 -11
- package/dist/src/RowProcessor.js.map +0 -1
- package/dist/src/contained/Instance.js +0 -14
- package/dist/src/contained/Instance.js.map +0 -1
- package/dist/src/contained/index.js +0 -2
- package/dist/src/contained/index.js.map +0 -1
- package/dist/src/index.js +0 -8
- package/dist/src/index.js.map +0 -1
- package/dist/src/logger.d.ts +0 -2
- package/dist/src/logger.js +0 -4
- package/dist/src/logger.js.map +0 -1
- package/dist/src/ops/all.d.ts +0 -4
- package/dist/src/ops/all.js.map +0 -1
- package/dist/src/ops/create.js +0 -14
- package/dist/src/ops/create.js.map +0 -1
- package/dist/src/ops/find.d.ts +0 -4
- package/dist/src/ops/find.js +0 -26
- package/dist/src/ops/find.js.map +0 -1
- package/dist/src/ops/get.js +0 -36
- package/dist/src/ops/get.js.map +0 -1
- package/dist/src/ops/one.d.ts +0 -4
- package/dist/src/ops/one.js +0 -17
- package/dist/src/ops/one.js.map +0 -1
- package/dist/src/ops/remove.d.ts +0 -5
- package/dist/src/ops/remove.js +0 -56
- package/dist/src/ops/remove.js.map +0 -1
- package/dist/src/ops/update.d.ts +0 -4
- package/dist/src/ops/update.js +0 -49
- package/dist/src/ops/update.js.map +0 -1
- package/dist/src/primary/Instance.js +0 -17
- package/dist/src/primary/Instance.js.map +0 -1
- package/dist/src/primary/index.js +0 -2
- package/dist/src/primary/index.js.map +0 -1
- package/eslint.config.mjs +0 -70
- package/src/Coordinate.ts +0 -16
- package/src/Definition.ts +0 -49
- package/src/EventCoordinator.ts +0 -103
- package/src/Instance.ts +0 -45
- package/src/KeyMaster.ts +0 -90
- package/src/Operations.ts +0 -42
- package/src/Options.ts +0 -41
- package/src/QueryBuilder.ts +0 -208
- package/src/RowProcessor.ts +0 -23
- package/src/contained/Instance.ts +0 -45
- package/src/contained/index.ts +0 -1
- package/src/index.ts +0 -7
- package/src/logger.ts +0 -5
- package/src/ops/all.ts +0 -76
- package/src/ops/create.ts +0 -40
- package/src/ops/find.ts +0 -49
- package/src/ops/get.ts +0 -67
- package/src/ops/one.ts +0 -37
- package/src/ops/remove.ts +0 -81
- package/src/ops/update.ts +0 -78
- package/src/primary/Instance.ts +0 -41
- package/src/primary/index.ts +0 -1
- /package/dist/{src → types}/Coordinate.d.ts +0 -0
- /package/dist/{src → types}/EventCoordinator.d.ts +0 -0
- /package/dist/{src → types}/QueryBuilder.d.ts +0 -0
- /package/dist/{src → types}/contained/index.d.ts +0 -0
- /package/dist/{src → types}/index.d.ts +0 -0
- /package/dist/{src → types}/primary/index.d.ts +0 -0
package/dist/src/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC"}
|
package/dist/src/logger.d.ts
DELETED
package/dist/src/logger.js
DELETED
package/dist/src/logger.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,gBAAgB,CAAC;AAErC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;AAE5D,eAAe,SAAS,CAAC"}
|
package/dist/src/ops/all.d.ts
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { Definition } from "../Definition";
|
|
2
|
-
import { Item, ItemQuery, LocKeyArray } from "@fjell/core";
|
|
3
|
-
import { ModelStatic } from "sequelize";
|
|
4
|
-
export declare const getAllOperation: <V extends Item<S, L1, L2, L3, L4, L5>, S extends string, L1 extends string = never, L2 extends string = never, L3 extends string = never, L4 extends string = never, L5 extends string = never>(models: ModelStatic<any>[], definition: Definition<V, S, L1, L2, L3, L4, L5>) => (itemQuery: ItemQuery, locations?: LocKeyArray<L1, L2, L3, L4, L5> | [] | undefined) => Promise<V[]>;
|
package/dist/src/ops/all.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"all.js","sourceRoot":"","sources":["../../../src/ops/all.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG5C,OAAO,SAAS,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAA4B,EAAE,EAAE,MAAM,WAAW,CAAC;AAEzD,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAExD,MAAM,CAAC,MAAM,eAAe,GAAG,CAQ7B,MAA0B,EAAE,UAAgD,EAAE,EAAE;IAEhF,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC;IAElC,eAAe;IACf,MAAM,GAAG,GAAG,KAAK,EACf,SAAoB,EACpB,SAA4D,EAE9C,EAAE;QAChB,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;QAChD,MAAM,GAAG,GAAyC,SAAS,IAAI,EAAE,CAAC;QAElE,kCAAkC;QAClC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAG,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QAED,0BAA0B;QAC1B,aAAa;QACb,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAExB,0BAA0B;QAC1B,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAE7C,8DAA8D;QAC9D,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAG,CAAC;YACtB,MAAM,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7B,IAAI,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,EAAG,CAAC;gBACpC,MAAM,WAAW,GAA0B,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;gBAC1E,OAAO,CAAC,KAAK,GAAG;oBACd,GAAG,OAAO,CAAC,KAAK;oBAChB,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE;wBACxB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;qBACnB;iBACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CAAC,oEAAoE,EAAE,UAAU,CAAC,CAAC;gBAC/F,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QAED,MAAM,CAAC,OAAO,CAAC,4BAA4B,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;QAErE,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAEnD,4DAA4D;QAE5D,sBAAsB;QACtB,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,CAAQ,CAAC;IAC/G,CAAC,CAAA;IAED,OAAO,GAAG,CAAC;AAEb,CAAC,CAAA"}
|
package/dist/src/ops/create.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import LibLogger from '../logger';
|
|
2
|
-
const logger = LibLogger.get('sequelize', 'ops', 'create');
|
|
3
|
-
export const getCreateOperation = (
|
|
4
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
5
|
-
models,
|
|
6
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
7
|
-
definition) => {
|
|
8
|
-
const create = async (item, options) => {
|
|
9
|
-
logger.default('Create', { item, options });
|
|
10
|
-
throw new Error('Not implemented');
|
|
11
|
-
};
|
|
12
|
-
return create;
|
|
13
|
-
};
|
|
14
|
-
//# sourceMappingURL=create.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/ops/create.ts"],"names":[],"mappings":"AAEA,OAAO,SAAS,MAAM,UAAU,CAAC;AAIjC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AAE3D,MAAM,CAAC,MAAM,kBAAkB,GAAG;AAS9B,6DAA6D;AAC7D,MAA0B;AAC1B,6DAA6D;AAC7D,UAAgD,EAChD,EAAE;IAEJ,MAAM,MAAM,GAAG,KAAK,EAClB,IAA+C,EAC/C,OAMC,EACW,EAAE;QACd,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAE5C,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC,CAAA;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAA"}
|
package/dist/src/ops/find.d.ts
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { Item, LocKeyArray } from "@fjell/core";
|
|
2
|
-
import { Definition } from "../Definition";
|
|
3
|
-
import { ModelStatic } from "sequelize";
|
|
4
|
-
export declare const getFindOperation: <V extends Item<S, L1, L2, L3, L4, L5>, S extends string, L1 extends string = never, L2 extends string = never, L3 extends string = never, L4 extends string = never, L5 extends string = never>(models: ModelStatic<any>[], definition: Definition<V, S, L1, L2, L3, L4, L5>) => (finder: string, finderParams: Record<string, string | number | boolean | Date | Array<string | number | boolean | Date>>, locations?: LocKeyArray<L1, L2, L3, L4, L5> | []) => Promise<V[]>;
|
package/dist/src/ops/find.js
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import LibLogger from '../logger';
|
|
2
|
-
const logger = LibLogger.get('sequelize', 'ops', 'find');
|
|
3
|
-
export const getFindOperation = (models, definition) => {
|
|
4
|
-
const { options } = definition;
|
|
5
|
-
const find = async (finder, finderParams, locations) => {
|
|
6
|
-
logger.default('Find', { finder, finderParams, locations });
|
|
7
|
-
// Note that we execute the createFinders function here because we want to make sure we're always getting the
|
|
8
|
-
// most up to date methods.
|
|
9
|
-
if (options.finders && options.finders[finder]) {
|
|
10
|
-
const finderMethod = options.finders[finder];
|
|
11
|
-
if (finderMethod) {
|
|
12
|
-
return finderMethod(finderParams, locations);
|
|
13
|
-
}
|
|
14
|
-
else {
|
|
15
|
-
logger.error(`Finder %s not found`, finder);
|
|
16
|
-
throw new Error(`Finder ${finder} not found`);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
else {
|
|
20
|
-
logger.error(`No finders have been defined for this lib`);
|
|
21
|
-
throw new Error(`No finders found`);
|
|
22
|
-
}
|
|
23
|
-
};
|
|
24
|
-
return find;
|
|
25
|
-
};
|
|
26
|
-
//# sourceMappingURL=find.js.map
|
package/dist/src/ops/find.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"find.js","sourceRoot":"","sources":["../../../src/ops/find.ts"],"names":[],"mappings":"AAGA,OAAO,SAAS,MAAM,UAAU,CAAC;AAGjC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAEzD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAS5B,MAA0B,EAC1B,UAAgD,EAChD,EAAE;IAEJ,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;IAE/B,MAAM,IAAI,GAAG,KAAK,EAChB,MAAc,EACd,YAAwG,EACxG,SAAgD,EAElC,EAAE;QAChB,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC;QAE5D,6GAA6G;QAC7G,2BAA2B;QAC3B,IAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9C,MAAM,YAAY,GAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC9C,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO,YAAY,CAAC,YAAY,EAAE,SAAS,CAAiB,CAAC;YAC/D,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;gBAC5C,MAAM,IAAI,KAAK,CAAC,UAAU,MAAM,YAAY,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAC1D,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACtC,CAAC;IACH,CAAC,CAAA;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAA"}
|
package/dist/src/ops/get.js
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { isComKey, isPriKey, isValidItemKey, validateKeys } from '@fjell/core';
|
|
2
|
-
import LibLogger from '../logger';
|
|
3
|
-
import { processRow } from '../RowProcessor';
|
|
4
|
-
import { NotFoundError } from '@fjell/lib';
|
|
5
|
-
const logger = LibLogger.get('sequelize', 'ops', 'get');
|
|
6
|
-
export const getGetOperation = (models, definition) => {
|
|
7
|
-
const { coordinate } = definition;
|
|
8
|
-
const { kta } = coordinate;
|
|
9
|
-
const get = async (key) => {
|
|
10
|
-
logger.default('Get', { key });
|
|
11
|
-
if (!isValidItemKey(key)) {
|
|
12
|
-
logger.error('Key for Get is not a valid ItemKey: %j', key);
|
|
13
|
-
throw new Error('Key for Get is not a valid ItemKey');
|
|
14
|
-
}
|
|
15
|
-
const itemKey = key;
|
|
16
|
-
// @ts-ignore
|
|
17
|
-
const model = models[0];
|
|
18
|
-
let item;
|
|
19
|
-
if (isPriKey(itemKey)) {
|
|
20
|
-
item = await model.findByPk(itemKey.pk);
|
|
21
|
-
}
|
|
22
|
-
else if (isComKey(itemKey)) {
|
|
23
|
-
const comKey = itemKey;
|
|
24
|
-
// TODO: This should probably interrogate the model?
|
|
25
|
-
item = await model.findOne({ where: { id: comKey.pk, [comKey?.loc[0]?.kt + 'Id']: comKey?.loc[0]?.lk } });
|
|
26
|
-
}
|
|
27
|
-
if (!item) {
|
|
28
|
-
throw new NotFoundError('get', coordinate, key);
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
return validateKeys(processRow(item, kta), kta);
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
return get;
|
|
35
|
-
};
|
|
36
|
-
//# sourceMappingURL=get.js.map
|
package/dist/src/ops/get.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/ops/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EACR,QAAQ,EACR,cAAc,EAGd,YAAY,EACb,MAAM,aAAa,CAAC;AAErB,OAAO,SAAS,MAAM,UAAU,CAAC;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAExD,MAAM,CAAC,MAAM,eAAe,GAAG,CAS3B,MAA+B,EAC/B,UAAgD,EAChD,EAAE;IAEJ,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC;IAClC,MAAM,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC;IAE3B,MAAM,GAAG,GAAG,KAAK,EACf,GAA8C,EAClC,EAAE;QACd,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE,GAAG,CAAC,CAAC;YAC5D,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,OAAO,GAAG,GAAG,CAAC;QAEpB,aAAa;QACb,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAExB,IAAI,IAAI,CAAC;QAET,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAG,CAAC;YACvB,IAAI,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAE,OAAqB,CAAC,EAAE,CAAC,CAAC;QACzD,CAAC;aAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAG,CAAC;YAC9B,MAAM,MAAM,GAAG,OAAwC,CAAC;YACxD,oDAAoD;YACpD,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5G,CAAC;QAED,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,aAAa,CAAwB,KAAK,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;QACzE,CAAC;aAAM,CAAC;YACN,OAAO,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAM,CAAC;QACvD,CAAC;IACH,CAAC,CAAA;IAED,OAAO,GAAG,CAAC;AACb,CAAC,CAAA"}
|
package/dist/src/ops/one.d.ts
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { Item, ItemQuery, LocKeyArray } from "@fjell/core";
|
|
2
|
-
import { Definition } from "../Definition";
|
|
3
|
-
import { ModelStatic } from "sequelize";
|
|
4
|
-
export declare const getOneOperation: <V extends Item<S, L1, L2, L3, L4, L5>, S extends string, L1 extends string = never, L2 extends string = never, L3 extends string = never, L4 extends string = never, L5 extends string = never>(models: ModelStatic<any>[], definition: Definition<V, S, L1, L2, L3, L4, L5>) => (itemQuery: ItemQuery, locations?: LocKeyArray<L1, L2, L3, L4, L5> | []) => Promise<V | null>;
|
package/dist/src/ops/one.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import LibLogger from '../logger';
|
|
2
|
-
import { getAllOperation } from "./all";
|
|
3
|
-
const logger = LibLogger.get('sequelize', 'ops', 'one');
|
|
4
|
-
export const getOneOperation = (models, definition) => {
|
|
5
|
-
const one = async (itemQuery, locations = []) => {
|
|
6
|
-
logger.default('One', { itemQuery, locations });
|
|
7
|
-
const items = await getAllOperation(models, definition)(itemQuery, locations);
|
|
8
|
-
if (items.length > 0) {
|
|
9
|
-
return items[0];
|
|
10
|
-
}
|
|
11
|
-
else {
|
|
12
|
-
return null;
|
|
13
|
-
}
|
|
14
|
-
};
|
|
15
|
-
return one;
|
|
16
|
-
};
|
|
17
|
-
//# sourceMappingURL=one.js.map
|
package/dist/src/ops/one.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"one.js","sourceRoot":"","sources":["../../../src/ops/one.ts"],"names":[],"mappings":"AAGA,OAAO,SAAS,MAAM,UAAU,CAAC;AAEjC,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAExC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAExD,MAAM,CAAC,MAAM,eAAe,GAAG,CAS3B,MAA0B,EAC1B,UAAgD,EAChD,EAAE;IACJ,MAAM,GAAG,GAAG,KAAK,EACf,SAAoB,EACpB,YAAkD,EAAE,EACjC,EAAE;QACrB,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;QAEhD,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC9E,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,OAAO,KAAK,CAAC,CAAC,CAAM,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAA;IAED,OAAO,GAAG,CAAC;AACb,CAAC,CAAA"}
|
package/dist/src/ops/remove.d.ts
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { ComKey, PriKey } from "@fjell/core";
|
|
2
|
-
import { Item } from "@fjell/core";
|
|
3
|
-
import { Definition } from "../Definition";
|
|
4
|
-
import { ModelStatic } from "sequelize";
|
|
5
|
-
export declare const getRemoveOperation: <V extends Item<S, L1, L2, L3, L4, L5>, S extends string, L1 extends string = never, L2 extends string = never, L3 extends string = never, L4 extends string = never, L5 extends string = never>(models: ModelStatic<any>[], definition: Definition<V, S, L1, L2, L3, L4, L5>) => (key: PriKey<S> | ComKey<S, L1, L2, L3, L4, L5>) => Promise<V>;
|
package/dist/src/ops/remove.js
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { isValidItemKey } from "@fjell/core";
|
|
2
|
-
import { abbrevIK, isComKey, isPriKey } from "@fjell/core";
|
|
3
|
-
import { populateEvents } from "../EventCoordinator";
|
|
4
|
-
import { populateKey } from "../KeyMaster";
|
|
5
|
-
import LibLogger from '../logger';
|
|
6
|
-
const logger = LibLogger.get('sequelize', 'ops', 'remove');
|
|
7
|
-
export const getRemoveOperation = (models, definition) => {
|
|
8
|
-
const { coordinate, options } = definition;
|
|
9
|
-
const { kta } = coordinate;
|
|
10
|
-
const remove = async (key) => {
|
|
11
|
-
logger.default('Remove', { key });
|
|
12
|
-
if (!isValidItemKey(key)) {
|
|
13
|
-
logger.error('Key for Remove is not a valid ItemKey: %j', key);
|
|
14
|
-
throw new Error('Key for Remove is not a valid ItemKey');
|
|
15
|
-
}
|
|
16
|
-
// @ts-ignore
|
|
17
|
-
const model = models[0];
|
|
18
|
-
let item;
|
|
19
|
-
let returnItem;
|
|
20
|
-
logger.debug('remove: %s', abbrevIK(key));
|
|
21
|
-
if (isPriKey(key)) {
|
|
22
|
-
item = await model.findByPk(key.pk);
|
|
23
|
-
}
|
|
24
|
-
else if (isComKey(key)) {
|
|
25
|
-
const comKey = key;
|
|
26
|
-
item = await model.findOne({ where: { id: comKey.pk, [comKey?.loc[0]?.kt + 'Id']: comKey?.loc[0]?.lk } });
|
|
27
|
-
}
|
|
28
|
-
const isDeletedAttribute = model.getAttributes().isDeleted;
|
|
29
|
-
const deletedAtAttribute = model.getAttributes().deletedAt;
|
|
30
|
-
if (isDeletedAttribute || deletedAtAttribute) {
|
|
31
|
-
if (model.getAttributes().isDeleted) {
|
|
32
|
-
item.isDeleted = true;
|
|
33
|
-
}
|
|
34
|
-
if (model.getAttributes().deletedAt) {
|
|
35
|
-
item.deletedAt = new Date();
|
|
36
|
-
}
|
|
37
|
-
// Save the object
|
|
38
|
-
await item?.save();
|
|
39
|
-
returnItem = item?.get({ plain: true });
|
|
40
|
-
returnItem = populateKey(returnItem, kta);
|
|
41
|
-
returnItem = populateEvents(returnItem);
|
|
42
|
-
}
|
|
43
|
-
else if (options.deleteOnRemove) {
|
|
44
|
-
await item?.destroy();
|
|
45
|
-
returnItem = item?.get({ plain: true });
|
|
46
|
-
returnItem = populateKey(returnItem, kta);
|
|
47
|
-
returnItem = populateEvents(returnItem);
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
throw new Error('No deletedAt or isDeleted attribute found in model, and deleteOnRemove is not set');
|
|
51
|
-
}
|
|
52
|
-
return returnItem;
|
|
53
|
-
};
|
|
54
|
-
return remove;
|
|
55
|
-
};
|
|
56
|
-
//# sourceMappingURL=remove.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../src/ops/remove.ts"],"names":[],"mappings":"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"}
|
package/dist/src/ops/update.d.ts
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { ComKey, Item, PriKey, TypesProperties } from "@fjell/core";
|
|
2
|
-
import { Definition } from "../Definition";
|
|
3
|
-
import { ModelStatic } from "sequelize";
|
|
4
|
-
export declare const getUpdateOperation: <V extends Item<S, L1, L2, L3, L4, L5>, S extends string, L1 extends string = never, L2 extends string = never, L3 extends string = never, L4 extends string = never, L5 extends string = never>(models: ModelStatic<any>[], definition: Definition<V, S, L1, L2, L3, L4, L5>) => (key: PriKey<S> | ComKey<S, L1, L2, L3, L4, L5>, item: TypesProperties<V, S, L1, L2, L3, L4, L5>) => Promise<V>;
|
package/dist/src/ops/update.js
DELETED
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { abbrevIK, isComKey } from "@fjell/core";
|
|
2
|
-
import { isPriKey } from "@fjell/core";
|
|
3
|
-
import { populateEvents, removeEvents } from "../EventCoordinator";
|
|
4
|
-
import { populateKey, removeKey } from "../KeyMaster";
|
|
5
|
-
import LibLogger from '../logger';
|
|
6
|
-
import { NotFoundError } from "@fjell/lib";
|
|
7
|
-
const logger = LibLogger.get('sequelize', 'ops', 'update');
|
|
8
|
-
export const getUpdateOperation = (models, definition) => {
|
|
9
|
-
const update = async (key, item) => {
|
|
10
|
-
const { coordinate } = definition;
|
|
11
|
-
const { kta } = coordinate;
|
|
12
|
-
logger.debug('update: %s, %j', abbrevIK(key), item);
|
|
13
|
-
// Find the object we're updating
|
|
14
|
-
// @ts-ignore
|
|
15
|
-
const model = models[0];
|
|
16
|
-
let response;
|
|
17
|
-
if (isPriKey(key)) {
|
|
18
|
-
// Find the model by using the PK
|
|
19
|
-
const priKey = key;
|
|
20
|
-
response = await model.findByPk(priKey.pk);
|
|
21
|
-
}
|
|
22
|
-
else if (isComKey(key)) {
|
|
23
|
-
const comKey = key;
|
|
24
|
-
// Find the model by using both of the identifiers.
|
|
25
|
-
response = await model.findOne({ where: {
|
|
26
|
-
[comKey?.loc[0]?.kt + 'Id']: comKey?.loc[0]?.lk,
|
|
27
|
-
id: comKey?.pk
|
|
28
|
-
} });
|
|
29
|
-
}
|
|
30
|
-
if (response) {
|
|
31
|
-
// Remove the key and events
|
|
32
|
-
let updateProps = removeKey(item);
|
|
33
|
-
updateProps = removeEvents(item);
|
|
34
|
-
// Update the object
|
|
35
|
-
response = { ...response, ...updateProps };
|
|
36
|
-
await response?.save();
|
|
37
|
-
// Populate the key and events
|
|
38
|
-
let returnItem = response?.get({ plain: true });
|
|
39
|
-
returnItem = populateKey(returnItem, kta);
|
|
40
|
-
returnItem = populateEvents(returnItem);
|
|
41
|
-
return returnItem;
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
throw new NotFoundError('update', coordinate, key);
|
|
45
|
-
}
|
|
46
|
-
};
|
|
47
|
-
return update;
|
|
48
|
-
};
|
|
49
|
-
//# sourceMappingURL=update.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/ops/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAkB,MAAM,aAAa,CAAC;AAEjE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAKvC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,SAAS,MAAM,UAAU,CAAC;AAEjC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AAE3D,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAS9B,MAA0B,EAC1B,UAAgD,EAChD,EAAE;IAEJ,MAAM,MAAM,GAAG,KAAK,EAClB,GAA8C,EAC9C,IAA+C,EACnC,EAAE;QACd,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC;QAClC,MAAM,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC;QAE3B,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QACpD,iCAAiC;QACjC,aAAa;QACb,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAExB,IAAI,QAAQ,CAAC;QAEb,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAG,CAAC;YACrB,iCAAiC;YAC/B,MAAM,MAAM,GAAG,GAAgB,CAAC;YAChC,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC7C,CAAC;aAAM,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAG,CAAC;YAC1B,MAAM,MAAM,GAAG,GAAoC,CAAC;YACpD,mDAAmD;YACnD,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE;oBACtC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC/C,EAAE,EAAE,MAAM,EAAE,EAAE;iBACf,EAAE,CAAC,CAAC;QACP,CAAC;QAED,IAAI,QAAQ,EAAG,CAAC;YAEd,4BAA4B;YAC5B,IAAI,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;YACjC,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;YAEjC,oBAAoB;YACpB,QAAQ,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,WAAW,EAAE,CAAC;YAC3C,MAAM,QAAQ,EAAE,IAAI,EAAE,CAAC;YAEvB,8BAA8B;YAC9B,IAAI,UAAU,GAAG,QAAQ,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAA0C,CAAC;YACzF,UAAU,GAAG,WAAW,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YAC1C,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;YACxC,OAAO,UAAe,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,aAAa,CAAwB,QAAQ,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;QAC5E,CAAC;IAEH,CAAC,CAAA;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAA"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { Primary } from '@fjell/lib';
|
|
2
|
-
import { createDefinition } from '../Definition';
|
|
3
|
-
import { createOperations } from '../Operations';
|
|
4
|
-
import LibLogger from '../logger';
|
|
5
|
-
const logger = LibLogger.get('lib-sequelize', 'primary', 'instance');
|
|
6
|
-
// eslint-disable-next-line max-params
|
|
7
|
-
export function createInstance(keyType, models, libOptions = {}, scopes = []) {
|
|
8
|
-
logger.debug('createInstance', { keyType, models, libOptions, scopes });
|
|
9
|
-
const definition = createDefinition([keyType], scopes, libOptions);
|
|
10
|
-
const operations = createOperations(models, definition);
|
|
11
|
-
return {
|
|
12
|
-
definition,
|
|
13
|
-
operations: Primary.wrapOperations(operations, definition),
|
|
14
|
-
models
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=Instance.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Instance.js","sourceRoot":"","sources":["../../../src/primary/Instance.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAIhD,OAAO,SAAS,MAAM,UAAU,CAAC;AAEjC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AASrE,sCAAsC;AACtC,MAAM,UAAU,cAAc,CAI5B,OAAU,EACV,MAA0B,EAC1B,aAA4B,EAAE,EAC9B,SAAmB,EAAE;IAErB,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;IACxE,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAEnE,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAExD,OAAO;QACL,UAAU;QACV,UAAU,EAAE,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC;QAC1D,MAAM;KACW,CAAC;AAEtB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/primary/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
|
package/eslint.config.mjs
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import typescriptEslint from "@typescript-eslint/eslint-plugin";
|
|
2
|
-
import tsParser from "@typescript-eslint/parser";
|
|
3
|
-
import path from "node:path";
|
|
4
|
-
import { fileURLToPath } from "node:url";
|
|
5
|
-
import js from "@eslint/js";
|
|
6
|
-
import { FlatCompat } from "@eslint/eslintrc";
|
|
7
|
-
|
|
8
|
-
const __filename = fileURLToPath(import.meta.url);
|
|
9
|
-
const __dirname = path.dirname(__filename);
|
|
10
|
-
const compat = new FlatCompat({
|
|
11
|
-
baseDirectory: __dirname,
|
|
12
|
-
recommendedConfig: js.configs.recommended,
|
|
13
|
-
allConfig: js.configs.all
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
export default [{
|
|
17
|
-
ignores: ["**/dist", "**/node_modules"],
|
|
18
|
-
}, ...compat.extends("plugin:@typescript-eslint/recommended"), {
|
|
19
|
-
plugins: {
|
|
20
|
-
"@typescript-eslint": typescriptEslint,
|
|
21
|
-
},
|
|
22
|
-
|
|
23
|
-
languageOptions: {
|
|
24
|
-
parser: tsParser,
|
|
25
|
-
},
|
|
26
|
-
|
|
27
|
-
rules: {
|
|
28
|
-
"@typescript-eslint/no-unused-expressions": "off",
|
|
29
|
-
"no-console": 0,
|
|
30
|
-
"no-unused-vars": "off",
|
|
31
|
-
|
|
32
|
-
"max-len": ["error", {
|
|
33
|
-
code: 120,
|
|
34
|
-
}],
|
|
35
|
-
|
|
36
|
-
"max-depth": ["error", 4],
|
|
37
|
-
"max-params": ["error", 4],
|
|
38
|
-
"max-lines": ["error", 500],
|
|
39
|
-
|
|
40
|
-
"no-multiple-empty-lines": ["error", {
|
|
41
|
-
max: 1,
|
|
42
|
-
maxEOF: 1,
|
|
43
|
-
}],
|
|
44
|
-
|
|
45
|
-
"no-trailing-spaces": ["error", {
|
|
46
|
-
skipBlankLines: true,
|
|
47
|
-
}],
|
|
48
|
-
|
|
49
|
-
indent: ["error", 2, {
|
|
50
|
-
SwitchCase: 1,
|
|
51
|
-
}],
|
|
52
|
-
|
|
53
|
-
"sort-imports": ["error", {
|
|
54
|
-
ignoreCase: true,
|
|
55
|
-
ignoreDeclarationSort: true,
|
|
56
|
-
ignoreMemberSort: false,
|
|
57
|
-
memberSyntaxSortOrder: ["none", "all", "multiple", "single"],
|
|
58
|
-
}],
|
|
59
|
-
|
|
60
|
-
"no-var": "error",
|
|
61
|
-
"no-undefined": "error",
|
|
62
|
-
"@typescript-eslint/no-unused-vars": "error",
|
|
63
|
-
"@typescript-eslint/ban-ts-comment": "off",
|
|
64
|
-
"@typescript-eslint/no-explicit-any": "off",
|
|
65
|
-
|
|
66
|
-
"no-restricted-imports": ["error", {
|
|
67
|
-
patterns: ["..*", "src/*"],
|
|
68
|
-
}],
|
|
69
|
-
},
|
|
70
|
-
}];
|
package/src/Coordinate.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { ItemTypeArray } from '@fjell/core';
|
|
2
|
-
import * as Library from '@fjell/lib';
|
|
3
|
-
|
|
4
|
-
export const SCOPE_SEQUELIZE = 'sequelize';
|
|
5
|
-
|
|
6
|
-
export const createCoordinate = <
|
|
7
|
-
S extends string,
|
|
8
|
-
L1 extends string = never,
|
|
9
|
-
L2 extends string = never,
|
|
10
|
-
L3 extends string = never,
|
|
11
|
-
L4 extends string = never,
|
|
12
|
-
L5 extends string = never
|
|
13
|
-
>(kta: ItemTypeArray<S, L1, L2, L3, L4, L5>, scopes?: string[]) => {
|
|
14
|
-
const coordinate = Library.createCoordinate(kta,[SCOPE_SEQUELIZE, ...(scopes || [])])
|
|
15
|
-
return coordinate;
|
|
16
|
-
};
|
package/src/Definition.ts
DELETED
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
Item,
|
|
3
|
-
ItemTypeArray
|
|
4
|
-
} from '@fjell/core';
|
|
5
|
-
|
|
6
|
-
import * as Library from '@fjell/lib';
|
|
7
|
-
import { createCoordinate } from './Coordinate';
|
|
8
|
-
import { createOptions } from './Options';
|
|
9
|
-
import { Options } from './Options';
|
|
10
|
-
import LibLogger from './logger';
|
|
11
|
-
|
|
12
|
-
const logger = LibLogger.get('lib-sequelize', 'Definition');
|
|
13
|
-
|
|
14
|
-
export interface Definition<
|
|
15
|
-
V extends Item<S, L1, L2, L3, L4, L5>,
|
|
16
|
-
S extends string,
|
|
17
|
-
L1 extends string = never,
|
|
18
|
-
L2 extends string = never,
|
|
19
|
-
L3 extends string = never,
|
|
20
|
-
L4 extends string = never,
|
|
21
|
-
L5 extends string = never
|
|
22
|
-
> extends Library.Definition<V, S, L1, L2, L3, L4, L5> {
|
|
23
|
-
options: Options<V, S, L1, L2, L3, L4, L5>;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export function createDefinition<
|
|
27
|
-
V extends Item<S, L1, L2, L3, L4, L5>,
|
|
28
|
-
S extends string,
|
|
29
|
-
L1 extends string = never,
|
|
30
|
-
L2 extends string = never,
|
|
31
|
-
L3 extends string = never,
|
|
32
|
-
L4 extends string = never,
|
|
33
|
-
L5 extends string = never
|
|
34
|
-
>(
|
|
35
|
-
kta: ItemTypeArray<S, L1, L2, L3, L4, L5>,
|
|
36
|
-
scopes: string[],
|
|
37
|
-
libOptions?: Options<V, S, L1, L2, L3, L4, L5>,
|
|
38
|
-
): Definition<V, S, L1, L2, L3, L4, L5> {
|
|
39
|
-
logger.debug('createDefinition', { kta, scopes, libOptions });
|
|
40
|
-
const coordinate = createCoordinate(kta, scopes);
|
|
41
|
-
const options = createOptions(libOptions);
|
|
42
|
-
|
|
43
|
-
const definition = Library.createDefinition(coordinate, options);
|
|
44
|
-
|
|
45
|
-
return {
|
|
46
|
-
...definition,
|
|
47
|
-
options,
|
|
48
|
-
}
|
|
49
|
-
}
|
package/src/EventCoordinator.ts
DELETED
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
Evented,
|
|
3
|
-
ItemProperties,
|
|
4
|
-
ManagedEvents
|
|
5
|
-
} from '@fjell/core';
|
|
6
|
-
import deepmerge from 'deepmerge';
|
|
7
|
-
|
|
8
|
-
import LibLogger from '@/logger';
|
|
9
|
-
|
|
10
|
-
const logger = LibLogger.get("sequelize", "EventCoordinator");
|
|
11
|
-
|
|
12
|
-
export const createEvents = <
|
|
13
|
-
S extends string,
|
|
14
|
-
L1 extends string = never,
|
|
15
|
-
L2 extends string = never,
|
|
16
|
-
L3 extends string = never,
|
|
17
|
-
L4 extends string = never,
|
|
18
|
-
L5 extends string = never
|
|
19
|
-
>(item: ItemProperties<S, L1, L2, L3, L4, L5>):
|
|
20
|
-
ItemProperties<S, L1, L2, L3, L4, L5> => {
|
|
21
|
-
logger.default('Creating Events', { item });
|
|
22
|
-
const currentDate = new Date();
|
|
23
|
-
|
|
24
|
-
let events = item.events;
|
|
25
|
-
|
|
26
|
-
if (events) {
|
|
27
|
-
if (!events.created) {
|
|
28
|
-
events = deepmerge(events, { created: { at: currentDate } });
|
|
29
|
-
}
|
|
30
|
-
if (!events.updated) {
|
|
31
|
-
events = deepmerge(events, { updated: { at: currentDate } });
|
|
32
|
-
}
|
|
33
|
-
if (!events.deleted) {
|
|
34
|
-
events = deepmerge(events, { deleted: { at: null } });
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
} else {
|
|
38
|
-
events = {
|
|
39
|
-
created: { at: currentDate },
|
|
40
|
-
updated: { at: currentDate },
|
|
41
|
-
deleted: { at: null },
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
return deepmerge(item, { events }) as
|
|
46
|
-
ItemProperties<S, L1, L2, L3, L4, L5>;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
export const updateEvents = <
|
|
50
|
-
S extends string,
|
|
51
|
-
L1 extends string = never,
|
|
52
|
-
L2 extends string = never,
|
|
53
|
-
L3 extends string = never,
|
|
54
|
-
L4 extends string = never,
|
|
55
|
-
L5 extends string = never
|
|
56
|
-
>(item: ItemProperties<S, L1, L2, L3, L4, L5>):
|
|
57
|
-
ItemProperties<S, L1, L2, L3, L4, L5> => {
|
|
58
|
-
logger.default('Updating Events', { item });
|
|
59
|
-
const currentDate = new Date();
|
|
60
|
-
const events: Evented = {
|
|
61
|
-
updated: { at: currentDate },
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
// TODO: This is clean-up code, we should remove it
|
|
65
|
-
// If the event lacks a created data, let's just insert it here...
|
|
66
|
-
if (!item.events || !item.events.created || !item.events.created.at) {
|
|
67
|
-
events.created = { at: currentDate };
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
return deepmerge(item, { events }) as ItemProperties<S, L1, L2, L3, L4, L5>;
|
|
71
|
-
}
|
|
72
|
-
//#endregion
|
|
73
|
-
|
|
74
|
-
export const populateEvents = <
|
|
75
|
-
S extends string,
|
|
76
|
-
L1 extends string = never,
|
|
77
|
-
L2 extends string = never,
|
|
78
|
-
L3 extends string = never,
|
|
79
|
-
L4 extends string = never,
|
|
80
|
-
L5 extends string = never
|
|
81
|
-
>(item: ItemProperties<S, L1, L2, L3, L4, L5>): ItemProperties<S, L1, L2, L3, L4, L5> => {
|
|
82
|
-
const events: ManagedEvents = {
|
|
83
|
-
created: { at: item.createdAt },
|
|
84
|
-
updated: { at: item.updatedAt },
|
|
85
|
-
deleted: { at: null }
|
|
86
|
-
};
|
|
87
|
-
item.events = events;
|
|
88
|
-
return item;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
export const removeEvents = <
|
|
92
|
-
S extends string,
|
|
93
|
-
L1 extends string = never,
|
|
94
|
-
L2 extends string = never,
|
|
95
|
-
L3 extends string = never,
|
|
96
|
-
L4 extends string = never,
|
|
97
|
-
L5 extends string = never
|
|
98
|
-
>(item: ItemProperties<S, L1, L2, L3, L4, L5>): ItemProperties<S, L1, L2, L3, L4, L5> => {
|
|
99
|
-
logger.default('Removing Events', { item });
|
|
100
|
-
delete item.events;
|
|
101
|
-
return item;
|
|
102
|
-
}
|
|
103
|
-
|
package/src/Instance.ts
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import * as Library from '@fjell/lib';
|
|
2
|
-
import { Item, ItemTypeArray } from '@fjell/core';
|
|
3
|
-
import { createDefinition } from './Definition';
|
|
4
|
-
import { createOperations } from './Operations';
|
|
5
|
-
import { ModelStatic } from 'sequelize';
|
|
6
|
-
import { Options } from './Options';
|
|
7
|
-
|
|
8
|
-
export interface Instance<
|
|
9
|
-
V extends Item<S, L1, L2, L3, L4, L5>,
|
|
10
|
-
S extends string,
|
|
11
|
-
L1 extends string = never,
|
|
12
|
-
L2 extends string = never,
|
|
13
|
-
L3 extends string = never,
|
|
14
|
-
L4 extends string = never,
|
|
15
|
-
L5 extends string = never
|
|
16
|
-
> extends Library.Instance<V, S, L1, L2, L3, L4, L5> {
|
|
17
|
-
models: ModelStatic<any>[];
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
// eslint-disable-next-line max-params
|
|
21
|
-
export function createInstance<
|
|
22
|
-
V extends Item<S, L1, L2, L3, L4, L5>,
|
|
23
|
-
S extends string,
|
|
24
|
-
L1 extends string = never,
|
|
25
|
-
L2 extends string = never,
|
|
26
|
-
L3 extends string = never,
|
|
27
|
-
L4 extends string = never,
|
|
28
|
-
L5 extends string = never
|
|
29
|
-
>(
|
|
30
|
-
keyTypes: ItemTypeArray<S, L1, L2, L3, L4, L5>,
|
|
31
|
-
models: ModelStatic<any>[],
|
|
32
|
-
libOptions: Options<V, S, L1, L2, L3, L4, L5> = {},
|
|
33
|
-
scopes: string[] = [],
|
|
34
|
-
): Instance<V, S, L1, L2, L3, L4, L5> {
|
|
35
|
-
|
|
36
|
-
const definition = createDefinition(keyTypes, scopes, libOptions);
|
|
37
|
-
const operations = createOperations(models, definition);
|
|
38
|
-
|
|
39
|
-
return {
|
|
40
|
-
definition,
|
|
41
|
-
operations: Library.wrapOperations(operations, definition),
|
|
42
|
-
models
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
}
|