@webda/core 3.5.0 → 3.7.0
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/lib/application.d.ts +7 -1
- package/lib/application.js.map +1 -1
- package/lib/core.d.ts +13 -0
- package/lib/core.js +58 -2
- package/lib/core.js.map +1 -1
- package/lib/core.spec.js +10 -4
- package/lib/core.spec.js.map +1 -1
- package/lib/index.d.ts +5 -4
- package/lib/index.js +5 -4
- package/lib/index.js.map +1 -1
- package/lib/models/aclmodel.d.ts +23 -10
- package/lib/models/aclmodel.js +31 -21
- package/lib/models/aclmodel.js.map +1 -1
- package/lib/models/aclmodel.spec.js +20 -6
- package/lib/models/aclmodel.spec.js.map +1 -1
- package/lib/models/coremodel.d.ts +106 -14
- package/lib/models/coremodel.js +240 -42
- package/lib/models/coremodel.js.map +1 -1
- package/lib/models/coremodel.spec.js +21 -4
- package/lib/models/coremodel.spec.js.map +1 -1
- package/lib/models/ident.d.ts +2 -6
- package/lib/models/ident.js.map +1 -1
- package/lib/models/ident.spec.js.map +1 -1
- package/lib/models/ownermodel.js +1 -1
- package/lib/models/ownermodel.js.map +1 -1
- package/lib/models/relations.d.ts +20 -20
- package/lib/models/relations.js +31 -11
- package/lib/models/relations.js.map +1 -1
- package/lib/models/relations.spec.d.ts +11 -0
- package/lib/models/relations.spec.js +115 -0
- package/lib/models/relations.spec.js.map +1 -0
- package/lib/models/user.d.ts +2 -2
- package/lib/models/user.js.map +1 -1
- package/lib/services/asyncevents.d.ts +4 -3
- package/lib/services/asyncevents.js +17 -4
- package/lib/services/asyncevents.js.map +1 -1
- package/lib/services/authentication.js +1 -1
- package/lib/services/authentication.js.map +1 -1
- package/lib/services/binary.d.ts +26 -2
- package/lib/services/binary.js +160 -63
- package/lib/services/binary.js.map +1 -1
- package/lib/services/binary.spec.js +3 -1
- package/lib/services/binary.spec.js.map +1 -1
- package/lib/services/cloudbinary.d.ts +0 -18
- package/lib/services/cloudbinary.js +0 -94
- package/lib/services/cloudbinary.js.map +1 -1
- package/lib/services/cloudbinary.spec.js +18 -11
- package/lib/services/cloudbinary.spec.js.map +1 -1
- package/lib/services/configuration.d.ts +1 -1
- package/lib/services/configuration.js +2 -1
- package/lib/services/configuration.js.map +1 -1
- package/lib/services/domainservice.d.ts +2 -1
- package/lib/services/domainservice.js +16 -25
- package/lib/services/domainservice.js.map +1 -1
- package/lib/services/filebinary.js +1 -1
- package/lib/services/filebinary.js.map +1 -1
- package/lib/services/filebinary.spec.d.ts +1 -0
- package/lib/services/filebinary.spec.js +24 -2
- package/lib/services/filebinary.spec.js.map +1 -1
- package/lib/services/invitationservice.js +1 -1
- package/lib/services/invitationservice.js.map +1 -1
- package/lib/services/invitationservice.spec.js +3 -1
- package/lib/services/invitationservice.spec.js.map +1 -1
- package/lib/services/service.d.ts +4 -5
- package/lib/services/service.js +9 -34
- package/lib/services/service.js.map +1 -1
- package/lib/services/service.spec.js +2 -2
- package/lib/services/service.spec.js.map +1 -1
- package/lib/stores/aliasstore.js +5 -1
- package/lib/stores/aliasstore.js.map +1 -1
- package/lib/stores/file.js.map +1 -1
- package/lib/stores/file.spec.js +1 -1
- package/lib/stores/file.spec.js.map +1 -1
- package/lib/stores/mapper.d.ts +4 -4
- package/lib/stores/mapper.spec.js +1 -1
- package/lib/stores/mapper.spec.js.map +1 -1
- package/lib/stores/memory.d.ts +4 -0
- package/lib/stores/memory.js +8 -0
- package/lib/stores/memory.js.map +1 -1
- package/lib/stores/memory.spec.d.ts +1 -0
- package/lib/stores/memory.spec.js +34 -3
- package/lib/stores/memory.spec.js.map +1 -1
- package/lib/stores/modelmapper.d.ts +21 -0
- package/lib/stores/modelmapper.js +127 -0
- package/lib/stores/modelmapper.js.map +1 -0
- package/lib/stores/store.d.ts +27 -9
- package/lib/stores/store.js +136 -82
- package/lib/stores/store.js.map +1 -1
- package/lib/stores/store.spec.js +2 -2
- package/lib/stores/store.spec.js.map +1 -1
- package/lib/test.js +1 -1
- package/lib/test.js.map +1 -1
- package/lib/utils/case.d.ts +7 -0
- package/lib/utils/case.js +43 -0
- package/lib/utils/case.js.map +1 -0
- package/lib/utils/case.spec.d.ts +1 -0
- package/lib/utils/case.spec.js +50 -0
- package/lib/utils/case.spec.js.map +1 -0
- package/lib/utils/context.d.ts +15 -2
- package/lib/utils/context.js +24 -5
- package/lib/utils/context.js.map +1 -1
- package/lib/utils/cookie.spec.js +2 -2
- package/lib/utils/cookie.spec.js.map +1 -1
- package/lib/utils/esm.d.ts +9 -0
- package/lib/utils/esm.js +9 -0
- package/lib/utils/esm.js.map +1 -1
- package/lib/utils/logger.spec.js +5 -2
- package/lib/utils/logger.spec.js.map +1 -1
- package/lib/utils/serializers.js +8 -1
- package/lib/utils/serializers.js.map +1 -1
- package/lib/utils/serializers.spec.js +6 -0
- package/lib/utils/serializers.spec.js.map +1 -1
- package/lib/utils/session.spec.js +1 -1
- package/lib/utils/session.spec.js.map +1 -1
- package/lib/utils/throttler.d.ts +22 -2
- package/lib/utils/throttler.js +35 -3
- package/lib/utils/throttler.js.map +1 -1
- package/lib/utils/throttler.spec.js +10 -2
- package/lib/utils/throttler.spec.js.map +1 -1
- package/package.json +10 -10
- package/webda.module.json +60 -26
- package/test/data/binaries/123/Test_plop_456 +0 -0
- package/test/data/binaries/123/data +0 -1
- package/test/data/tasks/068e6a96-9fdc-44e2-80fa-d27ed28f5440.json +0 -1
- package/test/data/tasks/task_no_owner.json +0 -1
- package/test/data/tasks/task_public.json +0 -1
- package/test/data/tasks/task_user1.json +0 -1
- package/test/data/tasks/task_user2.json +0 -1
- package/test/my-cnf.json +0 -11
package/lib/models/ident.d.ts
CHANGED
|
@@ -20,9 +20,9 @@ export declare class Ident extends OwnerModel {
|
|
|
20
20
|
*/
|
|
21
21
|
uid: string;
|
|
22
22
|
/**
|
|
23
|
-
*
|
|
23
|
+
* Provider profile
|
|
24
24
|
*/
|
|
25
|
-
__profile:
|
|
25
|
+
__profile: unknown;
|
|
26
26
|
__tokens: IdentTokens;
|
|
27
27
|
_lastUsed: Date;
|
|
28
28
|
_user: ModelLink<User>;
|
|
@@ -44,10 +44,6 @@ export declare class Ident extends OwnerModel {
|
|
|
44
44
|
* Provider id
|
|
45
45
|
*/
|
|
46
46
|
provider?: string;
|
|
47
|
-
/**
|
|
48
|
-
* Provider profile
|
|
49
|
-
*/
|
|
50
|
-
profile?: any;
|
|
51
47
|
static init(type: string, uid: string, accessToken?: string, refreshToken?: string, profile?: object): Ident;
|
|
52
48
|
getUser(): ModelLink<User>;
|
|
53
49
|
getEmail(): string;
|
package/lib/models/ident.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ident.js","sourceRoot":"","sources":["../../src/models/ident.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAI1C,MAAM,OAAO,WAAW;CAGvB;AACD;;;;GAIG;AACH,MAAM,OAAO,KAAM,SAAQ,UAAU;
|
|
1
|
+
{"version":3,"file":"ident.js","sourceRoot":"","sources":["../../src/models/ident.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAI1C,MAAM,OAAO,WAAW;CAGvB;AACD;;;;GAIG;AACH,MAAM,OAAO,KAAM,SAAQ,UAAU;IAoCnC,MAAM,CAAC,IAAI,CACT,IAAY,EACZ,GAAW,EACX,cAAsB,EAAE,EACxB,eAAuB,EAAE,EACzB,UAAkB,EAAE;QAEpB,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC/B,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QAC5B,IAAI,GAAG,CAAC,KAAK,KAAK,OAAO,EAAE;YACzB,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC;SACrB;QACD,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC;QACrC,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC;QACxB,GAAG,CAAC,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAC;QACjC,GAAG,CAAC,QAAQ,CAAC,OAAO,GAAG,YAAY,CAAC;QACpC,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,WAAW,CAAC;QAClC,OAAO,GAAG,CAAC;IACb,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,OAAO,CAAC,IAAI;QACV,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,OAAO,CAAC,IAAI;QACV,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ident.spec.js","sourceRoot":"","sources":["../../src/models/ident.spec.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,IAAM,SAAS,GAAf,MAAM,SAAS;IACP,OAAO;QACX,eAAe;QACf,IAAI,IAAI,GAAU,IAAI,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IAEK,IAAI;QACR,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACjE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACxC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACpC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC1C,MAAM,CAAC,WAAW,
|
|
1
|
+
{"version":3,"file":"ident.spec.js","sourceRoot":"","sources":["../../src/models/ident.spec.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,IAAM,SAAS,GAAf,MAAM,SAAS;IACP,OAAO;QACX,eAAe;QACf,IAAI,IAAI,GAAU,IAAI,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IAEK,IAAI;QACR,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACjE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACxC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACpC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC1C,MAAM,CAAC,WAAW,CAAO,KAAK,CAAC,SAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAChD,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACjD,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACjC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAC5C,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC9C,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC/C,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC,CAAC;QAChD,KAAK,CAAC,KAAK,GAAG,eAAe,CAAC;QAC9B,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,eAAe,CAAC,CAAC;IACxD,CAAC;CACF,CAAA;AAvBO;IAAL,IAAI;wCAKJ;AAEK;IAAL,IAAI;qCAeJ;AAvBG,SAAS;IADd,KAAK;GACA,SAAS,CAwBd"}
|
package/lib/models/ownermodel.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ownermodel.js","sourceRoot":"","sources":["../../src/models/ownermodel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B;;GAEG;AACH,MAAM,OAAO,UAAW,SAAQ,SAAS;IAgBvC;;;OAGG;IACH,QAAQ,CAAC,IAAY;QACnB,IAAI,CAAC,KAAK,KAAV,IAAI,CAAC,KAAK,GAAK,IAAI,SAAS,CAAO,IAAI,EAAO,IAAI,CAAC,EAAC;
|
|
1
|
+
{"version":3,"file":"ownermodel.js","sourceRoot":"","sources":["../../src/models/ownermodel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B;;GAEG;AACH,MAAM,OAAO,UAAW,SAAQ,SAAS;IAgBvC;;;OAGG;IACH,QAAQ,CAAC,IAAY;QACnB,IAAI,CAAC,KAAK,KAAV,IAAI,CAAC,KAAK,GAAK,IAAI,SAAS,CAAO,IAAI,EAAO,IAAI,EAAE,IAAI,CAAC,EAAC;QAC1D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,GAA+B,EAAE,OAAY,EAAE,cAAwB;QAC9E,OAAO,CAAC,KAAK,KAAb,OAAO,CAAC,KAAK,GAAK,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAC;QACzC,OAAO,CAAC,IAAI,KAAZ,OAAO,CAAC,IAAI,GAAK,IAAI,CAAC,WAAW,EAAE,EAAC;QACpC,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;IACtD,CAAC;IAED;;;;;OAKG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,MAAM,CACV,GAAqB,EACrB,MASU;QAEV,mBAAmB;QACnB,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,YAAY,CAAC,EAAE;YAChE,OAAO,IAAI,CAAC;SACb;aAAM,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,EAAE;YAClC,OAAO,gDAAgD,CAAC;SACzD;aAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,MAAM,KAAK,QAAQ,EAAE;YAClD,OAAO,+BAA+B,CAAC;SACxC;QACD,IAAI,MAAM,KAAK,QAAQ,EAAE;YACvB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC;SACvC;QACD,OAAO,GAAG,CAAC,gBAAgB,EAAE,KAAK,IAAI,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC;IAChE,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CAAC,OAA0B;QAClD,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,IAAI,CAAC;SACb;QACD,OAAO;YACL,KAAK,EAAE,YAAY,OAAO,CAAC,gBAAgB,EAAE,oBAAoB;YACjE,OAAO,EAAE,KAAK;SACf,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,12 +1,4 @@
|
|
|
1
|
-
import { CoreModel, CoreModelDefinition, ModelAction, ModelRef, ModelRefCustomProperties } from "./coremodel.js";
|
|
2
|
-
/**
|
|
3
|
-
* Attribute of an object
|
|
4
|
-
*
|
|
5
|
-
* Filter out methods
|
|
6
|
-
*/
|
|
7
|
-
export type Attributes<T extends object> = {
|
|
8
|
-
[K in keyof T]: T[K] extends Function ? never : K;
|
|
9
|
-
}[keyof T];
|
|
1
|
+
import { Attributes, CoreModel, CoreModelDefinition, FilterAttributes, ModelAction, ModelRef, ModelRefCustomProperties } from "./coremodel.js";
|
|
10
2
|
/**
|
|
11
3
|
* Raw model without methods
|
|
12
4
|
*/
|
|
@@ -48,13 +40,16 @@ export type ModelRelated<T extends CoreModel, _K extends Attributes<T>> = {
|
|
|
48
40
|
*/
|
|
49
41
|
getAll: () => Promise<T[]>;
|
|
50
42
|
};
|
|
43
|
+
export interface ModelLinker {
|
|
44
|
+
}
|
|
51
45
|
/**
|
|
52
46
|
* Define a link to 1:n relation
|
|
53
47
|
*/
|
|
54
|
-
export declare class ModelLink<T extends CoreModel> {
|
|
48
|
+
export declare class ModelLink<T extends CoreModel> implements ModelLinker {
|
|
55
49
|
protected uuid: string;
|
|
56
50
|
protected model: CoreModelDefinition<T>;
|
|
57
|
-
|
|
51
|
+
protected parent: CoreModel;
|
|
52
|
+
constructor(uuid: string, model: CoreModelDefinition<T>, parent?: CoreModel);
|
|
58
53
|
get(): Promise<T>;
|
|
59
54
|
set(id: string | T): void;
|
|
60
55
|
toString(): string;
|
|
@@ -78,9 +73,10 @@ type ModelCollectionManager<T> = {
|
|
|
78
73
|
*/
|
|
79
74
|
remove: (model: T | string) => void;
|
|
80
75
|
};
|
|
81
|
-
export declare class ModelLinksSimpleArray<T extends CoreModel> extends Array<ModelRef<T>> {
|
|
76
|
+
export declare class ModelLinksSimpleArray<T extends CoreModel> extends Array<ModelRef<T>> implements ModelLinker {
|
|
82
77
|
protected model: CoreModelDefinition<T>;
|
|
83
|
-
|
|
78
|
+
private parent;
|
|
79
|
+
constructor(model: CoreModelDefinition<T>, content?: any[], parent?: CoreModel);
|
|
84
80
|
add(model: string | ModelRef<T> | T): void;
|
|
85
81
|
remove(model: ModelRef<T> | string | T): void;
|
|
86
82
|
}
|
|
@@ -88,9 +84,10 @@ export declare class ModelLinksArray<T extends CoreModel, K> extends Array<Model
|
|
|
88
84
|
uuid: string;
|
|
89
85
|
}) | {
|
|
90
86
|
getUuid: () => string;
|
|
91
|
-
}>> {
|
|
87
|
+
}>> implements ModelLinker {
|
|
92
88
|
protected model: CoreModelDefinition<T>;
|
|
93
|
-
|
|
89
|
+
parent: CoreModel;
|
|
90
|
+
constructor(model: CoreModelDefinition<T>, content?: any[], parent?: CoreModel);
|
|
94
91
|
add(model: ModelRefCustomProperties<T, (K & {
|
|
95
92
|
uuid: string;
|
|
96
93
|
}) | {
|
|
@@ -117,8 +114,8 @@ export type ModelLinksMap<T extends CoreModel, K> = Readonly<{
|
|
|
117
114
|
uuid: string;
|
|
118
115
|
} | {
|
|
119
116
|
getUuid: () => string;
|
|
120
|
-
})
|
|
121
|
-
export declare function createModelLinksMap<T extends CoreModel>(model: CoreModelDefinition<any>, data?: any): {
|
|
117
|
+
})> & ModelLinker;
|
|
118
|
+
export declare function createModelLinksMap<T extends CoreModel>(model: CoreModelDefinition<any>, data?: any, parent?: CoreModel): {
|
|
122
119
|
add: (model: ModelRefCustomProperties<T, any>) => void;
|
|
123
120
|
remove: (model: ModelRefCustomProperties<T, any> | string) => void;
|
|
124
121
|
};
|
|
@@ -139,14 +136,15 @@ export type ModelActions = {
|
|
|
139
136
|
* TODO Handle 1:1 map
|
|
140
137
|
*/
|
|
141
138
|
export declare class ModelMapLoaderImplementation<T extends CoreModel, K = any> {
|
|
142
|
-
protected _model:
|
|
139
|
+
protected _model: CoreModelDefinition<T>;
|
|
140
|
+
protected _parent: CoreModel;
|
|
143
141
|
/**
|
|
144
142
|
* The uuid of the object
|
|
145
143
|
*/
|
|
146
144
|
uuid: string;
|
|
147
145
|
constructor(model: CoreModelDefinition<T>, data: {
|
|
148
146
|
uuid: string;
|
|
149
|
-
} & K);
|
|
147
|
+
} & K, parent: CoreModel);
|
|
150
148
|
/**
|
|
151
149
|
*
|
|
152
150
|
* @returns the model
|
|
@@ -162,6 +160,8 @@ export declare class ModelMapLoaderImplementation<T extends CoreModel, K = any>
|
|
|
162
160
|
export type ModelMapLoader<T extends CoreModel, K extends keyof T> = ModelMapLoaderImplementation<T, K> & Pick<T, K>;
|
|
163
161
|
/**
|
|
164
162
|
* Define a ModelMap attribute
|
|
163
|
+
*
|
|
164
|
+
* K is used by the compiler to define the field it comes from
|
|
165
165
|
*/
|
|
166
|
-
export type ModelsMapped<T extends CoreModel, K extends Attributes<T>> = Readonly<ModelMapLoader<T,
|
|
166
|
+
export type ModelsMapped<T extends CoreModel, K extends FilterAttributes<T, ModelLinker>, L extends Attributes<T>> = Readonly<ModelMapLoader<T, L>[]>;
|
|
167
167
|
export {};
|
package/lib/models/relations.js
CHANGED
|
@@ -15,12 +15,13 @@ export type ModelLink<T extends CoreModel, _FK extends keyof T = any> = ModelLoa
|
|
|
15
15
|
};
|
|
16
16
|
*/
|
|
17
17
|
export class ModelLink {
|
|
18
|
-
constructor(uuid, model) {
|
|
18
|
+
constructor(uuid, model, parent) {
|
|
19
19
|
this.uuid = uuid;
|
|
20
20
|
this.model = model;
|
|
21
|
+
this.parent = parent;
|
|
21
22
|
}
|
|
22
23
|
async get() {
|
|
23
|
-
return this.model.ref(this.uuid).get();
|
|
24
|
+
return (await this.model.ref(this.uuid).get())?.setContext(this.parent?.getContext());
|
|
24
25
|
}
|
|
25
26
|
set(id) {
|
|
26
27
|
this.uuid = typeof id === "string" ? id : id.getUuid();
|
|
@@ -35,14 +36,20 @@ export class ModelLink {
|
|
|
35
36
|
return this.uuid;
|
|
36
37
|
}
|
|
37
38
|
}
|
|
39
|
+
__decorate([
|
|
40
|
+
NotEnumerable
|
|
41
|
+
], ModelLink.prototype, "parent", void 0);
|
|
38
42
|
export class ModelLinksSimpleArray extends Array {
|
|
39
|
-
constructor(model, content = []) {
|
|
43
|
+
constructor(model, content = [], parent) {
|
|
40
44
|
super();
|
|
41
45
|
this.model = model;
|
|
42
46
|
content.forEach(c => this.add(c));
|
|
47
|
+
this.parent = parent;
|
|
43
48
|
}
|
|
44
49
|
add(model) {
|
|
45
|
-
this.push(typeof model === "string"
|
|
50
|
+
this.push(typeof model === "string"
|
|
51
|
+
? new ModelRef(model, this.model, this.parent)
|
|
52
|
+
: new ModelRef(model.getUuid(), this.model, this.parent));
|
|
46
53
|
}
|
|
47
54
|
remove(model) {
|
|
48
55
|
let index = this.findIndex(m => m.toString() === (typeof model === "string" ? model : model.getUuid()));
|
|
@@ -51,16 +58,22 @@ export class ModelLinksSimpleArray extends Array {
|
|
|
51
58
|
}
|
|
52
59
|
}
|
|
53
60
|
}
|
|
61
|
+
__decorate([
|
|
62
|
+
NotEnumerable
|
|
63
|
+
], ModelLinksSimpleArray.prototype, "parent", void 0);
|
|
54
64
|
export class ModelLinksArray extends Array {
|
|
55
|
-
constructor(model, content = []) {
|
|
65
|
+
constructor(model, content = [], parent) {
|
|
56
66
|
super();
|
|
57
67
|
this.model = model;
|
|
58
|
-
this.
|
|
68
|
+
this.parent = parent;
|
|
69
|
+
this.push(...content
|
|
70
|
+
.filter(c => c && c.uuid)
|
|
71
|
+
.map(c => new ModelRefCustom(c.uuid, model, c, this.parent)));
|
|
59
72
|
}
|
|
60
73
|
add(model) {
|
|
61
74
|
this.push(((model instanceof ModelRefCustom
|
|
62
75
|
? model
|
|
63
|
-
: new ModelRefCustom(model.uuid || model.getUuid(), this.model, model))));
|
|
76
|
+
: new ModelRefCustom(model.uuid || model.getUuid(), this.model, model, this.parent))));
|
|
64
77
|
}
|
|
65
78
|
remove(model) {
|
|
66
79
|
const uuid = typeof model === "string" ? model : model.uuid || model.getUuid();
|
|
@@ -70,7 +83,10 @@ export class ModelLinksArray extends Array {
|
|
|
70
83
|
}
|
|
71
84
|
}
|
|
72
85
|
}
|
|
73
|
-
|
|
86
|
+
__decorate([
|
|
87
|
+
NotEnumerable
|
|
88
|
+
], ModelLinksArray.prototype, "parent", void 0);
|
|
89
|
+
export function createModelLinksMap(model, data = {}, parent) {
|
|
74
90
|
let result = {
|
|
75
91
|
add: (model) => {
|
|
76
92
|
result[model.uuid || model.getUuid()] = model;
|
|
@@ -84,7 +100,7 @@ export function createModelLinksMap(model, data = {}) {
|
|
|
84
100
|
Object.keys(data)
|
|
85
101
|
.filter(k => k !== "__proto__")
|
|
86
102
|
.forEach(key => {
|
|
87
|
-
result[key] = new ModelRefCustom(data[key].uuid, model, data[key]);
|
|
103
|
+
result[key] = new ModelRefCustom(data[key].uuid, model, data[key], parent);
|
|
88
104
|
});
|
|
89
105
|
return result;
|
|
90
106
|
}
|
|
@@ -95,19 +111,23 @@ export function createModelLinksMap(model, data = {}) {
|
|
|
95
111
|
* TODO Handle 1:1 map
|
|
96
112
|
*/
|
|
97
113
|
export class ModelMapLoaderImplementation {
|
|
98
|
-
constructor(model, data) {
|
|
114
|
+
constructor(model, data, parent) {
|
|
99
115
|
Object.assign(this, data);
|
|
100
116
|
this._model = model;
|
|
117
|
+
this._parent = parent;
|
|
101
118
|
}
|
|
102
119
|
/**
|
|
103
120
|
*
|
|
104
121
|
* @returns the model
|
|
105
122
|
*/
|
|
106
123
|
async get() {
|
|
107
|
-
return this._model.ref(this.uuid).get();
|
|
124
|
+
return this._model.ref(this.uuid).get(this._parent.getContext());
|
|
108
125
|
}
|
|
109
126
|
}
|
|
110
127
|
__decorate([
|
|
111
128
|
NotEnumerable
|
|
112
129
|
], ModelMapLoaderImplementation.prototype, "_model", void 0);
|
|
130
|
+
__decorate([
|
|
131
|
+
NotEnumerable
|
|
132
|
+
], ModelMapLoaderImplementation.prototype, "_parent", void 0);
|
|
113
133
|
//# sourceMappingURL=relations.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relations.js","sourceRoot":"","sources":["../../src/models/relations.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"relations.js","sourceRoot":"","sources":["../../src/models/relations.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAML,QAAQ,EACR,cAAc,EAEd,aAAa,EACd,MAAM,aAAa,CAAC;AAsDrB;;GAEG;AACH;;;;;IAKI;AACJ,MAAM,OAAO,SAAS;IAIpB,YACY,IAAY,EACZ,KAA6B,EACvC,MAAkB;QAFR,SAAI,GAAJ,IAAI,CAAQ;QACZ,UAAK,GAAL,KAAK,CAAwB;QAGvC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,GAAG;QACP,OAAO,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;IACxF,CAAC;IACD,GAAG,CAAC,EAAc;QAChB,IAAI,CAAC,IAAI,GAAG,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;IACzD,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IACD,MAAM;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IACD,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;CACF;AA1BW;IADT,aAAa;yCACc;AA6C9B,MAAM,OAAO,qBAA2C,SAAQ,KAAkB;IAIhF,YACY,KAA6B,EACvC,UAAiB,EAAE,EACnB,MAAkB;QAElB,KAAK,EAAE,CAAC;QAJE,UAAK,GAAL,KAAK,CAAwB;QAKvC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,GAAG,CAAC,KAA+B;QACjC,IAAI,CAAC,IAAI,CACP,OAAO,KAAK,KAAK,QAAQ;YACvB,CAAC,CAAC,IAAI,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC;YAC9C,CAAC,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAC3D,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,KAA+B;QACpC,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACxG,IAAI,KAAK,IAAI,CAAC,EAAE;YACd,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SACvB;IACH,CAAC;CACF;AA1BS;IADP,aAAa;qDACY;AA4B5B,MAAM,OAAO,eACX,SAAQ,KAAsF;IAK9F,YACY,KAA6B,EACvC,UAAiB,EAAE,EACnB,MAAkB;QAElB,KAAK,EAAE,CAAC;QAJE,UAAK,GAAL,KAAK,CAAwB;QAKvC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,CACP,GAAG,OAAO;aACP,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;aACxB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAiC,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAC/F,CAAC;IACJ,CAAC;IAED,GAAG,CACD,KAEwD;QAExD,IAAI,CAAC,IAAI,CAC0E,CAC/E,CAAC,KAAK,YAAY,cAAc;YAC9B,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,IAAI,cAAc,CACG,KAAM,CAAC,IAAI,IAAgC,KAAM,CAAC,OAAO,EAAE,EAC9E,IAAI,CAAC,KAAK,EACV,KAAK,EACL,IAAI,CAAC,MAAM,CACZ,CAAC,CACP,CACF,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,KAAkD;QACvD,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAoB,KAAM,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QACnG,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,CAAC;QACtD,IAAI,KAAK,IAAI,CAAC,EAAE;YACd,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SACvB;IACH,CAAC;CACF;AAzCC;IADC,aAAa;+CACI;AAsDpB,MAAM,UAAU,mBAAmB,CACjC,KAA+B,EAC/B,OAAY,EAAE,EACd,MAAkB;IAElB,IAAI,MAAM,GAAG;QACX,GAAG,EAAE,CAAC,KAAuC,EAAE,EAAE;YAC/C,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC;QAChD,CAAC;QACD,MAAM,EAAE,CAAC,KAAgD,EAAE,EAAE;YAC3D,aAAa;YACb,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAC/E,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;KACF,CAAC;IACF,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;SACd,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,WAAW,CAAC;SAC9B,OAAO,CAAC,GAAG,CAAC,EAAE;QACb,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IACL,OAAO,MAAM,CAAC;AAChB,CAAC;AAcD;;;;;GAKG;AACH,MAAM,OAAO,4BAA4B;IAUvC,YAAY,KAA6B,EAAE,IAA0B,EAAE,MAAiB;QACtF,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,GAAG;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IACnE,CAAC;CACF;AArBW;IADT,aAAa;4DAC2B;AAE/B;IADT,aAAa;6DACe"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This test file tries to validate all aspect of the model driven
|
|
3
|
+
*
|
|
4
|
+
* It use the Contact model as a reference
|
|
5
|
+
*/
|
|
6
|
+
import { WebdaTest } from "../test.js";
|
|
7
|
+
export declare class ModelDrivenTest extends WebdaTest {
|
|
8
|
+
after(): void;
|
|
9
|
+
test(): Promise<void>;
|
|
10
|
+
listeners(): Promise<void>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This test file tries to validate all aspect of the model driven
|
|
3
|
+
*
|
|
4
|
+
* It use the Contact model as a reference
|
|
5
|
+
*/
|
|
6
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
7
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
9
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
10
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
11
|
+
};
|
|
12
|
+
import { suite, test } from "@testdeck/mocha";
|
|
13
|
+
import * as assert from "assert";
|
|
14
|
+
import { BinaryService, MemoryBinaryFile } from "../services/binary.js";
|
|
15
|
+
import { ModelMapper } from "../stores/modelmapper.js";
|
|
16
|
+
import { WebdaTest } from "../test.js";
|
|
17
|
+
import { Emitters } from "./coremodel.js";
|
|
18
|
+
export let ModelDrivenTest = class ModelDrivenTest extends WebdaTest {
|
|
19
|
+
after() {
|
|
20
|
+
// Ensure we remove all listeners
|
|
21
|
+
Object.values(this.webda.getModels()).forEach(m => Emitters.get(m)?.removeAllListeners());
|
|
22
|
+
}
|
|
23
|
+
async test() {
|
|
24
|
+
// Init mapper
|
|
25
|
+
let mapper = new ModelMapper(this.webda, "test", {}).resolve();
|
|
26
|
+
await mapper.init();
|
|
27
|
+
const Contact = this.webda.getModel("Contact");
|
|
28
|
+
const User = this.webda.getModel("User");
|
|
29
|
+
// Create a User
|
|
30
|
+
let user = await User.ref("user1").getOrCreate({ uuid: "user1" }, undefined, true);
|
|
31
|
+
Contact.factory({ firstName: "test", lastName: "" });
|
|
32
|
+
let contact = new Contact().load({ firstName: "test", lastName: "", age: 18 }, true);
|
|
33
|
+
// Saving contact
|
|
34
|
+
await contact.save();
|
|
35
|
+
// Creation date need to exist
|
|
36
|
+
assert.notStrictEqual(contact._creationDate, undefined);
|
|
37
|
+
// Last update should match creation date
|
|
38
|
+
assert.strictEqual(contact._creationDate, contact._lastUpdate);
|
|
39
|
+
assert.strictEqual((await Contact.ref(contact.getUuid()).get()).firstName, contact.firstName);
|
|
40
|
+
assert.strictEqual(contact.avatar.isEmpty(), true);
|
|
41
|
+
assert.strictEqual(contact.toStoredJSON().avatar, undefined);
|
|
42
|
+
await contact.avatar.upload(new MemoryBinaryFile(Buffer.from("fake")));
|
|
43
|
+
assert.strictEqual(contact.avatar.isEmpty(), false);
|
|
44
|
+
assert.strictEqual(contact.photos.length, 0);
|
|
45
|
+
await contact.photos.upload(new MemoryBinaryFile("firstPhoto"));
|
|
46
|
+
assert.strictEqual(contact.photos.length, 1);
|
|
47
|
+
assert.strictEqual((await BinaryService.streamToBuffer(await contact.avatar.get())).toString(), "fake");
|
|
48
|
+
assert.strictEqual((await BinaryService.streamToBuffer(await contact.photos[0].get())).toString(), "firstPhoto");
|
|
49
|
+
assert.strictEqual(await contact.owner.get(), undefined);
|
|
50
|
+
contact.owner.set("user1");
|
|
51
|
+
assert.notStrictEqual(await contact.owner.get(), undefined);
|
|
52
|
+
await contact.save();
|
|
53
|
+
await user.refresh();
|
|
54
|
+
assert.strictEqual(user.contacts.length, 1);
|
|
55
|
+
// Update
|
|
56
|
+
contact.lastName = "updatedName";
|
|
57
|
+
await contact.save();
|
|
58
|
+
await user.refresh();
|
|
59
|
+
assert.strictEqual(user.contacts.length, 1);
|
|
60
|
+
assert.strictEqual(user.contacts[0].lastName, "updatedName");
|
|
61
|
+
assert.strictEqual(user.contacts[0].firstName, "test");
|
|
62
|
+
assert.strictEqual(user.contacts[0].age, 18);
|
|
63
|
+
// Patch
|
|
64
|
+
await contact.incrementAttribute("age", 1);
|
|
65
|
+
await user.refresh();
|
|
66
|
+
assert.strictEqual(user.contacts.length, 1);
|
|
67
|
+
assert.strictEqual(user.contacts[0].age, 19);
|
|
68
|
+
await contact.patch({ firstName: "Loopz" });
|
|
69
|
+
await user.refresh();
|
|
70
|
+
assert.strictEqual(user.contacts.length, 1);
|
|
71
|
+
assert.strictEqual(user.contacts[0].firstName, "Loopz");
|
|
72
|
+
await contact.removeAttribute("firstName");
|
|
73
|
+
await user.refresh();
|
|
74
|
+
assert.strictEqual(user.contacts.length, 1);
|
|
75
|
+
assert.strictEqual(user.contacts[0].firstName, undefined);
|
|
76
|
+
// Delete
|
|
77
|
+
await contact.delete();
|
|
78
|
+
await user.refresh();
|
|
79
|
+
assert.strictEqual(user.contacts.length, 0);
|
|
80
|
+
await new Contact().load({ firstName: "test", lastName: "", age: 18, owner: "user1" }, true).save();
|
|
81
|
+
await user.refresh();
|
|
82
|
+
assert.strictEqual(user.contacts.length, 1);
|
|
83
|
+
}
|
|
84
|
+
async listeners() {
|
|
85
|
+
// In test context, the CoreModel is loaded from different models
|
|
86
|
+
const SubProject = this.webda.getModel("SubProject");
|
|
87
|
+
const Project = this.webda.getModel("Project");
|
|
88
|
+
let evt = 0;
|
|
89
|
+
Project.on("Store.Action", () => {
|
|
90
|
+
evt++;
|
|
91
|
+
});
|
|
92
|
+
SubProject.emit("Store.Action", {
|
|
93
|
+
action: "test",
|
|
94
|
+
store: null,
|
|
95
|
+
context: null
|
|
96
|
+
});
|
|
97
|
+
Project.emit("Store.Action", {});
|
|
98
|
+
await this.nextTick(2);
|
|
99
|
+
assert.strictEqual(evt, 2);
|
|
100
|
+
// cov for now
|
|
101
|
+
Project.onAsync("Store.Action", () => {
|
|
102
|
+
evt++;
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
__decorate([
|
|
107
|
+
test
|
|
108
|
+
], ModelDrivenTest.prototype, "test", null);
|
|
109
|
+
__decorate([
|
|
110
|
+
test
|
|
111
|
+
], ModelDrivenTest.prototype, "listeners", null);
|
|
112
|
+
ModelDrivenTest = __decorate([
|
|
113
|
+
suite
|
|
114
|
+
], ModelDrivenTest);
|
|
115
|
+
//# sourceMappingURL=relations.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relations.spec.js","sourceRoot":"","sources":["../../src/models/relations.spec.ts"],"names":[],"mappings":"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"}
|
package/lib/models/user.d.ts
CHANGED
|
@@ -46,7 +46,7 @@ export declare class User extends CoreModel {
|
|
|
46
46
|
getGroups(): string[];
|
|
47
47
|
getRoles(): string[];
|
|
48
48
|
getDisplayName(): string;
|
|
49
|
-
getIdents():
|
|
49
|
+
getIdents(): Readonly<Pick<Ident, "_type" | "uuid" | "email">[]>;
|
|
50
50
|
lastPasswordRecoveryBefore(timestamp: number): boolean;
|
|
51
51
|
getPassword(): string;
|
|
52
52
|
setPassword(password: string): void;
|
|
@@ -70,7 +70,7 @@ export declare class SimpleUser extends User {
|
|
|
70
70
|
/**
|
|
71
71
|
* Normal ident
|
|
72
72
|
*/
|
|
73
|
-
_idents: ModelsMapped<Ident, "_type" | "uuid" | "email">;
|
|
73
|
+
_idents: ModelsMapped<Ident, "_user", "_type" | "uuid" | "email">;
|
|
74
74
|
/**
|
|
75
75
|
* Return idents
|
|
76
76
|
* @returns
|
package/lib/models/user.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.js","sourceRoot":"","sources":["../../src/models/user.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAIxC;;;;GAIG;AACH,MAAM,OAAO,IAAK,SAAQ,SAAS;IAAnC;;QAUE;;WAEG;QACH,0BAAqB,GAAY,CAAC,CAAC;IAyErC,CAAC;IA3DC;;;OAGG;IACH,QAAQ;QACN,IAAI,CAAC,KAAK,KAAV,IAAI,CAAC,KAAK,GAAK,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YACvC,OAAO,CAAC,CAAC,KAAK,CAAC;QACjB,CAAC,CAAC,EAAE,KAAK,EAAC;QACV,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;;OAGG;IACH,aAAa;QACX,MAAM,GAAG,GAAG;YACV,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;YACpB,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE;SACvB,CAAC;QACF,OAAO,GAAG,CAAC;IACb,CAAC;IAED,SAAS;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,QAAQ;QACN,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,SAAS;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,0BAA0B,CAAC,SAAiB;QAC1C,OAAO,IAAI,CAAC,qBAAqB,GAAG,SAAS,CAAC;IAChD,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,WAAW,CAAC,QAAgB;QAC1B,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAA+B,EAAE,OAAe;QAC3D,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,GAAG,CAAC,gBAAgB,EAAE,KAAK,IAAI,CAAC,OAAO,EAAE,EAAE;YACxE,OAAO,4BAA4B,CAAC;SACrC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,UAAW,SAAQ,IAAI;IAApC;;QACE;;WAEG;QACH,YAAO,GAAa,EAAE,CAAC;QACvB;;WAEG;QACH,WAAM,GAAa,EAAE,CAAC;QACtB;;WAEG;QACH,YAAO,
|
|
1
|
+
{"version":3,"file":"user.js","sourceRoot":"","sources":["../../src/models/user.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { CoreModelDefinition } from "../models/coremodel.js";
|
|
1
2
|
import { Queue } from "../queues/queueservice.js";
|
|
2
3
|
import { Service, ServiceParameters } from "./service.js";
|
|
3
4
|
/**
|
|
@@ -24,7 +25,7 @@ export declare class AsyncEvent {
|
|
|
24
25
|
* Used when serializing a service
|
|
25
26
|
*/
|
|
26
27
|
static ServiceTag: string;
|
|
27
|
-
constructor(service: string, type: any, payload?: {});
|
|
28
|
+
constructor(service: string | Service | CoreModelDefinition, type: any, payload?: {});
|
|
28
29
|
/**
|
|
29
30
|
* Allow payload to contain Service but do not serialize them
|
|
30
31
|
* replacing them by a #Webda:Service:${service.getName()} so it
|
|
@@ -116,7 +117,7 @@ declare class EventService<T extends EventServiceParameters = EventServiceParame
|
|
|
116
117
|
* @param callback
|
|
117
118
|
* @param queue
|
|
118
119
|
*/
|
|
119
|
-
bindAsyncListener(service: Service, event: string, callback: any, queue
|
|
120
|
+
bindAsyncListener(service: Service | CoreModelDefinition, event: string, callback: any, queue?: string): void;
|
|
120
121
|
/**
|
|
121
122
|
* Synchronous Listener to proxy to async
|
|
122
123
|
*
|
|
@@ -126,7 +127,7 @@ declare class EventService<T extends EventServiceParameters = EventServiceParame
|
|
|
126
127
|
* @param payload
|
|
127
128
|
* @returns
|
|
128
129
|
*/
|
|
129
|
-
pushEvent(service: Service, type: string, queue: string, payload: any): Promise<void>;
|
|
130
|
+
pushEvent(service: Service | CoreModelDefinition, type: string, queue: string, payload: any): Promise<void>;
|
|
130
131
|
/**
|
|
131
132
|
* Process one event
|
|
132
133
|
*
|
|
@@ -4,7 +4,15 @@ import { Service, ServiceParameters } from "./service.js";
|
|
|
4
4
|
*/
|
|
5
5
|
export class AsyncEvent {
|
|
6
6
|
constructor(service, type, payload = {}) {
|
|
7
|
-
|
|
7
|
+
if (service instanceof Service) {
|
|
8
|
+
this.service = `service:${service.getName()}`;
|
|
9
|
+
}
|
|
10
|
+
else if (typeof service === "string") {
|
|
11
|
+
this.service = service;
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
this.service = `model:${service.name}`;
|
|
15
|
+
}
|
|
8
16
|
this.type = type;
|
|
9
17
|
this.payload = payload;
|
|
10
18
|
this.time = new Date();
|
|
@@ -139,9 +147,14 @@ class EventService extends Service {
|
|
|
139
147
|
if (!queue) {
|
|
140
148
|
queue = this._defaultQueue;
|
|
141
149
|
}
|
|
142
|
-
let mapper = new AsyncEvent(service
|
|
150
|
+
let mapper = new AsyncEvent(service, event).getMapper();
|
|
143
151
|
if (!this._callbacks[mapper]) {
|
|
144
|
-
|
|
152
|
+
if (service instanceof Service) {
|
|
153
|
+
service.on(event, data => this.pushEvent(service, event, queue, data));
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
service.on(event, data => this.pushEvent(service, event, queue, data));
|
|
157
|
+
}
|
|
145
158
|
this._callbacks[mapper] = [];
|
|
146
159
|
}
|
|
147
160
|
this._callbacks[mapper].push(callback);
|
|
@@ -156,7 +169,7 @@ class EventService extends Service {
|
|
|
156
169
|
* @returns
|
|
157
170
|
*/
|
|
158
171
|
async pushEvent(service, type, queue, payload) {
|
|
159
|
-
let event = new AsyncEvent(service
|
|
172
|
+
let event = new AsyncEvent(service, type, payload);
|
|
160
173
|
if (this._async) {
|
|
161
174
|
return this._queues[queue].sendMessage(event);
|
|
162
175
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asyncevents.js","sourceRoot":"","sources":["../../src/services/asyncevents.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"asyncevents.js","sourceRoot":"","sources":["../../src/services/asyncevents.ts"],"names":[],"mappings":"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"}
|