@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.
Files changed (129) hide show
  1. package/lib/application.d.ts +7 -1
  2. package/lib/application.js.map +1 -1
  3. package/lib/core.d.ts +13 -0
  4. package/lib/core.js +58 -2
  5. package/lib/core.js.map +1 -1
  6. package/lib/core.spec.js +10 -4
  7. package/lib/core.spec.js.map +1 -1
  8. package/lib/index.d.ts +5 -4
  9. package/lib/index.js +5 -4
  10. package/lib/index.js.map +1 -1
  11. package/lib/models/aclmodel.d.ts +23 -10
  12. package/lib/models/aclmodel.js +31 -21
  13. package/lib/models/aclmodel.js.map +1 -1
  14. package/lib/models/aclmodel.spec.js +20 -6
  15. package/lib/models/aclmodel.spec.js.map +1 -1
  16. package/lib/models/coremodel.d.ts +106 -14
  17. package/lib/models/coremodel.js +240 -42
  18. package/lib/models/coremodel.js.map +1 -1
  19. package/lib/models/coremodel.spec.js +21 -4
  20. package/lib/models/coremodel.spec.js.map +1 -1
  21. package/lib/models/ident.d.ts +2 -6
  22. package/lib/models/ident.js.map +1 -1
  23. package/lib/models/ident.spec.js.map +1 -1
  24. package/lib/models/ownermodel.js +1 -1
  25. package/lib/models/ownermodel.js.map +1 -1
  26. package/lib/models/relations.d.ts +20 -20
  27. package/lib/models/relations.js +31 -11
  28. package/lib/models/relations.js.map +1 -1
  29. package/lib/models/relations.spec.d.ts +11 -0
  30. package/lib/models/relations.spec.js +115 -0
  31. package/lib/models/relations.spec.js.map +1 -0
  32. package/lib/models/user.d.ts +2 -2
  33. package/lib/models/user.js.map +1 -1
  34. package/lib/services/asyncevents.d.ts +4 -3
  35. package/lib/services/asyncevents.js +17 -4
  36. package/lib/services/asyncevents.js.map +1 -1
  37. package/lib/services/authentication.js +1 -1
  38. package/lib/services/authentication.js.map +1 -1
  39. package/lib/services/binary.d.ts +26 -2
  40. package/lib/services/binary.js +160 -63
  41. package/lib/services/binary.js.map +1 -1
  42. package/lib/services/binary.spec.js +3 -1
  43. package/lib/services/binary.spec.js.map +1 -1
  44. package/lib/services/cloudbinary.d.ts +0 -18
  45. package/lib/services/cloudbinary.js +0 -94
  46. package/lib/services/cloudbinary.js.map +1 -1
  47. package/lib/services/cloudbinary.spec.js +18 -11
  48. package/lib/services/cloudbinary.spec.js.map +1 -1
  49. package/lib/services/configuration.d.ts +1 -1
  50. package/lib/services/configuration.js +2 -1
  51. package/lib/services/configuration.js.map +1 -1
  52. package/lib/services/domainservice.d.ts +2 -1
  53. package/lib/services/domainservice.js +16 -25
  54. package/lib/services/domainservice.js.map +1 -1
  55. package/lib/services/filebinary.js +1 -1
  56. package/lib/services/filebinary.js.map +1 -1
  57. package/lib/services/filebinary.spec.d.ts +1 -0
  58. package/lib/services/filebinary.spec.js +24 -2
  59. package/lib/services/filebinary.spec.js.map +1 -1
  60. package/lib/services/invitationservice.js +1 -1
  61. package/lib/services/invitationservice.js.map +1 -1
  62. package/lib/services/invitationservice.spec.js +3 -1
  63. package/lib/services/invitationservice.spec.js.map +1 -1
  64. package/lib/services/service.d.ts +4 -5
  65. package/lib/services/service.js +9 -34
  66. package/lib/services/service.js.map +1 -1
  67. package/lib/services/service.spec.js +2 -2
  68. package/lib/services/service.spec.js.map +1 -1
  69. package/lib/stores/aliasstore.js +5 -1
  70. package/lib/stores/aliasstore.js.map +1 -1
  71. package/lib/stores/file.js.map +1 -1
  72. package/lib/stores/file.spec.js +1 -1
  73. package/lib/stores/file.spec.js.map +1 -1
  74. package/lib/stores/mapper.d.ts +4 -4
  75. package/lib/stores/mapper.spec.js +1 -1
  76. package/lib/stores/mapper.spec.js.map +1 -1
  77. package/lib/stores/memory.d.ts +4 -0
  78. package/lib/stores/memory.js +8 -0
  79. package/lib/stores/memory.js.map +1 -1
  80. package/lib/stores/memory.spec.d.ts +1 -0
  81. package/lib/stores/memory.spec.js +34 -3
  82. package/lib/stores/memory.spec.js.map +1 -1
  83. package/lib/stores/modelmapper.d.ts +21 -0
  84. package/lib/stores/modelmapper.js +127 -0
  85. package/lib/stores/modelmapper.js.map +1 -0
  86. package/lib/stores/store.d.ts +27 -9
  87. package/lib/stores/store.js +136 -82
  88. package/lib/stores/store.js.map +1 -1
  89. package/lib/stores/store.spec.js +2 -2
  90. package/lib/stores/store.spec.js.map +1 -1
  91. package/lib/test.js +1 -1
  92. package/lib/test.js.map +1 -1
  93. package/lib/utils/case.d.ts +7 -0
  94. package/lib/utils/case.js +43 -0
  95. package/lib/utils/case.js.map +1 -0
  96. package/lib/utils/case.spec.d.ts +1 -0
  97. package/lib/utils/case.spec.js +50 -0
  98. package/lib/utils/case.spec.js.map +1 -0
  99. package/lib/utils/context.d.ts +15 -2
  100. package/lib/utils/context.js +24 -5
  101. package/lib/utils/context.js.map +1 -1
  102. package/lib/utils/cookie.spec.js +2 -2
  103. package/lib/utils/cookie.spec.js.map +1 -1
  104. package/lib/utils/esm.d.ts +9 -0
  105. package/lib/utils/esm.js +9 -0
  106. package/lib/utils/esm.js.map +1 -1
  107. package/lib/utils/logger.spec.js +5 -2
  108. package/lib/utils/logger.spec.js.map +1 -1
  109. package/lib/utils/serializers.js +8 -1
  110. package/lib/utils/serializers.js.map +1 -1
  111. package/lib/utils/serializers.spec.js +6 -0
  112. package/lib/utils/serializers.spec.js.map +1 -1
  113. package/lib/utils/session.spec.js +1 -1
  114. package/lib/utils/session.spec.js.map +1 -1
  115. package/lib/utils/throttler.d.ts +22 -2
  116. package/lib/utils/throttler.js +35 -3
  117. package/lib/utils/throttler.js.map +1 -1
  118. package/lib/utils/throttler.spec.js +10 -2
  119. package/lib/utils/throttler.spec.js.map +1 -1
  120. package/package.json +10 -10
  121. package/webda.module.json +60 -26
  122. package/test/data/binaries/123/Test_plop_456 +0 -0
  123. package/test/data/binaries/123/data +0 -1
  124. package/test/data/tasks/068e6a96-9fdc-44e2-80fa-d27ed28f5440.json +0 -1
  125. package/test/data/tasks/task_no_owner.json +0 -1
  126. package/test/data/tasks/task_public.json +0 -1
  127. package/test/data/tasks/task_user1.json +0 -1
  128. package/test/data/tasks/task_user2.json +0 -1
  129. package/test/my-cnf.json +0 -11
@@ -20,9 +20,9 @@ export declare class Ident extends OwnerModel {
20
20
  */
21
21
  uid: string;
22
22
  /**
23
- * Profile provided by the provider if exists
23
+ * Provider profile
24
24
  */
25
- __profile: any;
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;
@@ -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;IAuCnC,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
+ {"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,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/C,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"}
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"}
@@ -10,7 +10,7 @@ export class OwnerModel extends UuidModel {
10
10
  * @param uuid
11
11
  */
12
12
  setOwner(uuid) {
13
- this._user ?? (this._user = new ModelLink(uuid, User));
13
+ this._user ?? (this._user = new ModelLink(uuid, User, this));
14
14
  this._user.set(uuid);
15
15
  }
16
16
  /**
@@ -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;QACpD,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
+ {"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
- constructor(uuid: string, model: CoreModelDefinition<T>);
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
- constructor(model: CoreModelDefinition<T>, content?: any[]);
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
- constructor(model: CoreModelDefinition<T>, content?: any[]);
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: any;
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, K>[]>;
166
+ export type ModelsMapped<T extends CoreModel, K extends FilterAttributes<T, ModelLinker>, L extends Attributes<T>> = Readonly<ModelMapLoader<T, L>[]>;
167
167
  export {};
@@ -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" ? new ModelRef(model, this.model) : new ModelRef(model.getUuid(), this.model));
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.push(...content.filter(c => c && c.uuid).map(c => new ModelRefCustom(c.uuid, model, c)));
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
- export function createModelLinksMap(model, data = {}) {
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":"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"}
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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"}
@@ -46,7 +46,7 @@ export declare class User extends CoreModel {
46
46
  getGroups(): string[];
47
47
  getRoles(): string[];
48
48
  getDisplayName(): string;
49
- getIdents(): ModelsMapped<Ident, "_type" | "uuid" | "email">;
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
@@ -1 +1 @@
1
- {"version":3,"file":"user.js","sourceRoot":"","sources":["../../src/models/user.ts"],"names":[],"mappings":"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"}
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: string): void;
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
- this.service = service;
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.getName(), event).getMapper();
150
+ let mapper = new AsyncEvent(service, event).getMapper();
143
151
  if (!this._callbacks[mapper]) {
144
- service.on(event, this.pushEvent.bind(this, service, event, queue));
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.getName(), type, payload);
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":"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"}
1
+ {"version":3,"file":"asyncevents.js","sourceRoot":"","sources":["../../src/services/asyncevents.ts"],"names":[],"mappings":"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"}
@@ -316,7 +316,7 @@ class Authentication extends Service {
316
316
  // Work directly on ident argument
317
317
  ident = new this._identModel().load({
318
318
  uuid: identId,
319
- profile,
319
+ __profile: profile,
320
320
  __tokens: tokens,
321
321
  provider
322
322
  }, true);