@webda/core 1.6.0-beta.1 → 2.0.0-beta.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 (232) hide show
  1. package/lib/application.d.ts +317 -195
  2. package/lib/application.js +171 -674
  3. package/lib/application.js.map +1 -1
  4. package/lib/application.spec.js +97 -289
  5. package/lib/application.spec.js.map +1 -1
  6. package/lib/core.d.ts +102 -214
  7. package/lib/core.js +146 -70
  8. package/lib/core.js.map +1 -1
  9. package/lib/core.spec.js +80 -17
  10. package/lib/core.spec.js.map +1 -1
  11. package/lib/index.d.ts +14 -9
  12. package/lib/index.js +19 -10
  13. package/lib/index.js.map +1 -1
  14. package/lib/models/aclmodel.d.ts +29 -8
  15. package/lib/models/aclmodel.js +68 -18
  16. package/lib/models/aclmodel.js.map +1 -1
  17. package/lib/models/aclmodel.spec.js +56 -19
  18. package/lib/models/aclmodel.spec.js.map +1 -1
  19. package/lib/models/coremodel.d.ts +9 -17
  20. package/lib/models/coremodel.js +36 -36
  21. package/lib/models/coremodel.js.map +1 -1
  22. package/lib/models/ident.d.ts +8 -3
  23. package/lib/models/ident.js +8 -1
  24. package/lib/models/ident.js.map +1 -1
  25. package/lib/models/ident.spec.js +3 -0
  26. package/lib/models/ident.spec.js.map +1 -1
  27. package/lib/models/ownermodel.d.ts +8 -4
  28. package/lib/models/ownermodel.js +10 -6
  29. package/lib/models/ownermodel.js.map +1 -1
  30. package/lib/models/rolemodel.js.map +1 -1
  31. package/lib/models/rolemodel.spec.js +4 -1
  32. package/lib/models/rolemodel.spec.js.map +1 -1
  33. package/lib/models/user.d.ts +32 -3
  34. package/lib/models/user.js +31 -0
  35. package/lib/models/user.js.map +1 -1
  36. package/lib/models/user.spec.js +11 -0
  37. package/lib/models/user.spec.js.map +1 -1
  38. package/lib/queues/filequeue.d.ts +2 -7
  39. package/lib/queues/filequeue.js +2 -11
  40. package/lib/queues/filequeue.js.map +1 -1
  41. package/lib/queues/filequeue.spec.js +0 -1
  42. package/lib/queues/filequeue.spec.js.map +1 -1
  43. package/lib/queues/memoryqueue.d.ts +2 -7
  44. package/lib/queues/memoryqueue.js +1 -11
  45. package/lib/queues/memoryqueue.js.map +1 -1
  46. package/lib/queues/memoryqueue.spec.js +0 -1
  47. package/lib/queues/memoryqueue.spec.js.map +1 -1
  48. package/lib/queues/queue.spec.d.ts +1 -1
  49. package/lib/queues/queue.spec.js +11 -9
  50. package/lib/queues/queue.spec.js.map +1 -1
  51. package/lib/queues/queueservice.js +1 -1
  52. package/lib/queues/queueservice.js.map +1 -1
  53. package/lib/router.d.ts +46 -1
  54. package/lib/router.js +89 -51
  55. package/lib/router.js.map +1 -1
  56. package/lib/router.spec.js +19 -2
  57. package/lib/router.spec.js.map +1 -1
  58. package/lib/services/asyncevents.d.ts +1 -0
  59. package/lib/services/asyncevents.js +4 -3
  60. package/lib/services/asyncevents.js.map +1 -1
  61. package/lib/services/authentication.d.ts +47 -5
  62. package/lib/services/authentication.js +99 -40
  63. package/lib/services/authentication.js.map +1 -1
  64. package/lib/services/authentication.spec.js +10 -0
  65. package/lib/services/authentication.spec.js.map +1 -1
  66. package/lib/services/binary.d.ts +126 -64
  67. package/lib/services/binary.js +247 -96
  68. package/lib/services/binary.js.map +1 -1
  69. package/lib/services/binary.spec.d.ts +1 -0
  70. package/lib/services/binary.spec.js +96 -25
  71. package/lib/services/binary.spec.js.map +1 -1
  72. package/lib/services/cloudbinary.d.ts +67 -0
  73. package/lib/services/cloudbinary.js +178 -0
  74. package/lib/services/cloudbinary.js.map +1 -0
  75. package/lib/services/cloudbinary.spec.d.ts +13 -0
  76. package/lib/services/cloudbinary.spec.js +205 -0
  77. package/lib/services/cloudbinary.spec.js.map +1 -0
  78. package/lib/services/configuration.d.ts +7 -2
  79. package/lib/services/configuration.js +4 -3
  80. package/lib/services/configuration.js.map +1 -1
  81. package/lib/services/configuration.spec.js +1 -0
  82. package/lib/services/configuration.spec.js.map +1 -1
  83. package/lib/services/cron.d.ts +5 -6
  84. package/lib/services/cron.js +4 -11
  85. package/lib/services/cron.js.map +1 -1
  86. package/lib/services/cron.spec.js +2 -3
  87. package/lib/services/cron.spec.js.map +1 -1
  88. package/lib/services/debugmailer.d.ts +11 -6
  89. package/lib/services/debugmailer.js +20 -14
  90. package/lib/services/debugmailer.js.map +1 -1
  91. package/lib/services/debugmailer.spec.js +1 -0
  92. package/lib/services/debugmailer.spec.js.map +1 -1
  93. package/lib/services/echo.d.ts +2 -6
  94. package/lib/services/echo.js +1 -11
  95. package/lib/services/echo.js.map +1 -1
  96. package/lib/services/echo.spec.js +1 -0
  97. package/lib/services/echo.spec.js.map +1 -1
  98. package/lib/services/filebinary.d.ts +36 -12
  99. package/lib/services/filebinary.js +123 -38
  100. package/lib/services/filebinary.js.map +1 -1
  101. package/lib/services/filebinary.spec.d.ts +4 -2
  102. package/lib/services/filebinary.spec.js +48 -8
  103. package/lib/services/filebinary.spec.js.map +1 -1
  104. package/lib/services/fileconfiguration.d.ts +1 -5
  105. package/lib/services/fileconfiguration.js +1 -10
  106. package/lib/services/fileconfiguration.js.map +1 -1
  107. package/lib/services/invitationservice.d.ts +198 -0
  108. package/lib/services/invitationservice.js +443 -0
  109. package/lib/services/invitationservice.js.map +1 -0
  110. package/lib/services/invitationservice.spec.d.ts +1 -0
  111. package/lib/services/invitationservice.spec.js +517 -0
  112. package/lib/services/invitationservice.spec.js.map +1 -0
  113. package/lib/services/kubernetesconfiguration.d.ts +3 -5
  114. package/lib/services/kubernetesconfiguration.js +5 -12
  115. package/lib/services/kubernetesconfiguration.js.map +1 -1
  116. package/lib/services/kubernetesconfiguration.spec.js +1 -1
  117. package/lib/services/kubernetesconfiguration.spec.js.map +1 -1
  118. package/lib/services/mailer.d.ts +44 -7
  119. package/lib/services/mailer.js +34 -14
  120. package/lib/services/mailer.js.map +1 -1
  121. package/lib/services/mailer.spec.js +29 -0
  122. package/lib/services/mailer.spec.js.map +1 -1
  123. package/lib/services/notificationservice.d.ts +76 -0
  124. package/lib/services/notificationservice.js +91 -0
  125. package/lib/services/notificationservice.js.map +1 -0
  126. package/lib/services/notificationservice.spec.d.ts +1 -0
  127. package/lib/services/notificationservice.spec.js +104 -0
  128. package/lib/services/notificationservice.spec.js.map +1 -0
  129. package/lib/services/oauth.d.ts +6 -4
  130. package/lib/services/oauth.js +28 -11
  131. package/lib/services/oauth.js.map +1 -1
  132. package/lib/services/oauth.spec.js +7 -10
  133. package/lib/services/oauth.spec.js.map +1 -1
  134. package/lib/services/resource.d.ts +1 -5
  135. package/lib/services/resource.js +22 -17
  136. package/lib/services/resource.js.map +1 -1
  137. package/lib/services/resource.spec.js +0 -1
  138. package/lib/services/resource.spec.js.map +1 -1
  139. package/lib/services/service.d.ts +29 -26
  140. package/lib/services/service.js +16 -22
  141. package/lib/services/service.js.map +1 -1
  142. package/lib/services/service.spec.js +3 -0
  143. package/lib/services/service.spec.js.map +1 -1
  144. package/lib/services/version.d.ts +2 -5
  145. package/lib/services/version.js +1 -10
  146. package/lib/services/version.js.map +1 -1
  147. package/lib/stores/aggregator.d.ts +3 -5
  148. package/lib/stores/aggregator.js +3 -10
  149. package/lib/stores/aggregator.js.map +1 -1
  150. package/lib/stores/file.d.ts +7 -8
  151. package/lib/stores/file.js +18 -18
  152. package/lib/stores/file.js.map +1 -1
  153. package/lib/stores/file.spec.js +8 -6
  154. package/lib/stores/file.spec.js.map +1 -1
  155. package/lib/stores/mapper.d.ts +1 -5
  156. package/lib/stores/mapper.js +56 -39
  157. package/lib/stores/mapper.js.map +1 -1
  158. package/lib/stores/mapper.spec.js +120 -1
  159. package/lib/stores/mapper.spec.js.map +1 -1
  160. package/lib/stores/memory.d.ts +5 -9
  161. package/lib/stores/memory.js +5 -17
  162. package/lib/stores/memory.js.map +1 -1
  163. package/lib/stores/memory.spec.d.ts +1 -0
  164. package/lib/stores/memory.spec.js +32 -0
  165. package/lib/stores/memory.spec.js.map +1 -1
  166. package/lib/stores/store.d.ts +131 -26
  167. package/lib/stores/store.js +399 -80
  168. package/lib/stores/store.js.map +1 -1
  169. package/lib/stores/store.spec.d.ts +29 -2
  170. package/lib/stores/store.spec.js +204 -31
  171. package/lib/stores/store.spec.js.map +1 -1
  172. package/lib/stores/webdaql/WebdaQLLexer.d.ts +53 -0
  173. package/lib/stores/webdaql/WebdaQLLexer.js +290 -0
  174. package/lib/stores/webdaql/WebdaQLLexer.js.map +1 -0
  175. package/lib/stores/webdaql/WebdaQLParserLexer.d.ts +53 -0
  176. package/lib/stores/webdaql/WebdaQLParserLexer.js +290 -0
  177. package/lib/stores/webdaql/WebdaQLParserLexer.js.map +1 -0
  178. package/lib/stores/webdaql/WebdaQLParserListener.d.ts +308 -0
  179. package/lib/stores/webdaql/WebdaQLParserListener.js +4 -0
  180. package/lib/stores/webdaql/WebdaQLParserListener.js.map +1 -0
  181. package/lib/stores/webdaql/WebdaQLParserParser.d.ts +301 -0
  182. package/lib/stores/webdaql/WebdaQLParserParser.js +1781 -0
  183. package/lib/stores/webdaql/WebdaQLParserParser.js.map +1 -0
  184. package/lib/stores/webdaql/WebdaQLParserVisitor.d.ts +198 -0
  185. package/lib/stores/webdaql/WebdaQLParserVisitor.js +4 -0
  186. package/lib/stores/webdaql/WebdaQLParserVisitor.js.map +1 -0
  187. package/lib/stores/webdaql/query.d.ts +300 -0
  188. package/lib/stores/webdaql/query.js +471 -0
  189. package/lib/stores/webdaql/query.js.map +1 -0
  190. package/lib/stores/webdaql/query.spec.d.ts +1 -0
  191. package/lib/stores/webdaql/query.spec.js +136 -0
  192. package/lib/stores/webdaql/query.spec.js.map +1 -0
  193. package/lib/test.d.ts +50 -2
  194. package/lib/test.js +161 -16
  195. package/lib/test.js.map +1 -1
  196. package/lib/unpackedapplication.d.ts +66 -0
  197. package/lib/unpackedapplication.js +202 -0
  198. package/lib/unpackedapplication.js.map +1 -0
  199. package/lib/utils/context.d.ts +14 -12
  200. package/lib/utils/context.js +14 -9
  201. package/lib/utils/context.js.map +1 -1
  202. package/lib/utils/context.spec.js +1 -1
  203. package/lib/utils/context.spec.js.map +1 -1
  204. package/lib/utils/cookie.d.ts +6 -3
  205. package/lib/utils/cookie.js +22 -20
  206. package/lib/utils/cookie.js.map +1 -1
  207. package/lib/utils/cookie.spec.js +0 -1
  208. package/lib/utils/cookie.spec.js.map +1 -1
  209. package/lib/utils/logger.d.ts +16 -3
  210. package/lib/utils/logger.js +16 -3
  211. package/lib/utils/logger.js.map +1 -1
  212. package/lib/utils/logger.spec.js.map +1 -1
  213. package/lib/utils/serializers.js +5 -1
  214. package/lib/utils/serializers.js.map +1 -1
  215. package/lib/utils/waiter.d.ts +1 -1
  216. package/lib/utils/waiter.js.map +1 -1
  217. package/package.json +25 -18
  218. package/test/config-file-no-reload.json +2 -1
  219. package/test/config-file-reload.json +2 -1
  220. package/test/config-invitation.json +63 -0
  221. package/test/config-kube-reload.json +2 -1
  222. package/test/config-reload.json +1 -1
  223. package/test/config.json +6 -10
  224. package/test/config.old.json +1 -1
  225. package/test/moddas/annotatedservice.js +1 -3
  226. package/test/moddas/debugmailer.js +2 -7
  227. package/test/moddas/fakeservice.js +1 -1
  228. package/test/moddas/voidstore.js +2 -4
  229. package/test/models/ident.js +1 -1
  230. package/test/models/task.js +1 -5
  231. package/webda.module.json +1124 -0
  232. package/test/config.old-default.json +0 -151
@@ -10,24 +10,26 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.AclModel = void 0;
13
- const index_1 = require("../index");
13
+ const coremodel_1 = require("./coremodel");
14
14
  /**
15
15
  * Object that contains ACL to define its own permissions
16
+ *
17
+ * @WebdaModel
16
18
  */
17
- class AclModel extends index_1.CoreModel {
19
+ class AclModel extends coremodel_1.CoreModel {
18
20
  constructor() {
19
21
  super(...arguments);
20
22
  /**
21
23
  * Permissions on the object
22
24
  */
23
- this.__acls = new Map();
25
+ this.__acl = {};
24
26
  }
25
27
  /**
26
28
  * Add acls actions
27
29
  * @returns
28
30
  */
29
31
  static getActions() {
30
- return Object.assign(Object.assign({}, super.getActions()), { acls: {
32
+ return Object.assign(Object.assign({}, super.getActions()), { acl: {
31
33
  methods: ["PUT", "GET"]
32
34
  } });
33
35
  }
@@ -41,8 +43,18 @@ class AclModel extends index_1.CoreModel {
41
43
  return __awaiter(this, void 0, void 0, function* () {
42
44
  yield _super._onSave.call(this);
43
45
  this._creator = this.getContext().getCurrentUserId();
44
- if (this.__acls.size === 0) {
45
- this.__acls.set(this._creator, "all");
46
+ if (Object.keys(this.__acl).length === 0) {
47
+ this.__acl[this._creator] = "all";
48
+ }
49
+ });
50
+ }
51
+ /**
52
+ * Add the permissions for current user
53
+ */
54
+ _onGet() {
55
+ return __awaiter(this, void 0, void 0, function* () {
56
+ if (this.getContext()) {
57
+ this._permissions = yield this.getPermissions(this.getContext());
46
58
  }
47
59
  });
48
60
  }
@@ -50,22 +62,22 @@ class AclModel extends index_1.CoreModel {
50
62
  * Return object ACLs
51
63
  * @returns
52
64
  */
53
- getAcls() {
54
- return this.__acls;
65
+ getAcl() {
66
+ return this.__acl;
55
67
  }
56
68
  /**
57
69
  * Set object ACLs
58
- * @param acls
70
+ * @param acl
59
71
  */
60
- setAcls(acls) {
61
- this.__acls = acls;
72
+ setAcl(acl) {
73
+ this.__acl = acl;
62
74
  }
63
75
  /**
64
76
  * Manage the ACL REST api actions
65
77
  * @param ctx
66
78
  * @returns
67
79
  */
68
- _acls(ctx) {
80
+ _acl(ctx) {
69
81
  if (ctx.getHttpContext().getMethod() === "PUT") {
70
82
  return this._httpPutAcls(ctx);
71
83
  }
@@ -79,7 +91,16 @@ class AclModel extends index_1.CoreModel {
79
91
  */
80
92
  _httpGetAcls(ctx) {
81
93
  return __awaiter(this, void 0, void 0, function* () {
82
- ctx.write(this.__acls);
94
+ ctx.write({
95
+ raw: this.__acl,
96
+ resolved: yield Promise.all(Object.keys(this.__acl).map((ace) => __awaiter(this, void 0, void 0, function* () {
97
+ let user = yield this.getService("Users").get(ace);
98
+ return {
99
+ permission: this.__acl[ace],
100
+ actor: user === null || user === void 0 ? void 0 : user.toPublicEntry()
101
+ };
102
+ })))
103
+ });
83
104
  });
84
105
  }
85
106
  /**
@@ -87,12 +108,19 @@ class AclModel extends index_1.CoreModel {
87
108
  */
88
109
  _httpPutAcls(ctx) {
89
110
  return __awaiter(this, void 0, void 0, function* () {
90
- this.__acls = ctx.getRequestBody();
111
+ // This looks like a bad request
112
+ if (ctx.getRequestBody().raw) {
113
+ throw 400;
114
+ }
115
+ this.__acl = ctx.getRequestBody();
91
116
  yield this.save();
92
117
  });
93
118
  }
94
119
  // Should cache the user role in the session
95
- getGroups(ctx, user) {
120
+ getGroups(_ctx, user) {
121
+ if (!user) {
122
+ return [];
123
+ }
96
124
  let groups = user.getGroups();
97
125
  if (!groups) {
98
126
  groups = [];
@@ -101,12 +129,33 @@ class AclModel extends index_1.CoreModel {
101
129
  groups.push(user.uuid);
102
130
  return groups;
103
131
  }
132
+ /**
133
+ * Get Permissions for one object
134
+ * @param ctx
135
+ * @param user
136
+ * @returns
137
+ */
138
+ getPermissions(ctx, user) {
139
+ return __awaiter(this, void 0, void 0, function* () {
140
+ if (!user) {
141
+ user = yield ctx.getCurrentUser();
142
+ }
143
+ let permissions = new Set();
144
+ let groups = this.getGroups(ctx, user);
145
+ for (let i in this.__acl) {
146
+ if (groups.indexOf(i) >= 0) {
147
+ this.__acl[i].split(",").forEach(p => permissions.add(p));
148
+ }
149
+ }
150
+ return [...permissions.values()];
151
+ });
152
+ }
104
153
  hasPermission(ctx, user, action) {
105
154
  return __awaiter(this, void 0, void 0, function* () {
106
155
  let groups = this.getGroups(ctx, user);
107
- for (let i in this.__acls) {
156
+ for (let i in this.__acl) {
108
157
  if (groups.indexOf(i) >= 0) {
109
- if (this.__acls[i] === "all" || this.__acls[i].split(",").indexOf(action) >= 0) {
158
+ if (this.__acl[i] === "all" || this.__acl[i].split(",").indexOf(action) >= 0) {
110
159
  return true;
111
160
  }
112
161
  }
@@ -116,7 +165,7 @@ class AclModel extends index_1.CoreModel {
116
165
  }
117
166
  canAct(ctx, action) {
118
167
  return __awaiter(this, void 0, void 0, function* () {
119
- if (!this.getAcls() || !ctx.getCurrentUserId()) {
168
+ if (!this.getAcl() || !ctx.getCurrentUserId()) {
120
169
  throw 403;
121
170
  }
122
171
  let user = yield ctx.getCurrentUser();
@@ -127,5 +176,6 @@ class AclModel extends index_1.CoreModel {
127
176
  });
128
177
  }
129
178
  }
179
+ exports.default = AclModel;
130
180
  exports.AclModel = AclModel;
131
181
  //# sourceMappingURL=aclmodel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"aclmodel.js","sourceRoot":"","sources":["../../src/models/aclmodel.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;AACb,oCAAiE;AAEjE;;GAEG;AACH,MAAM,QAAS,SAAQ,iBAAS;IAAhC;;QAKE;;WAEG;QACH,WAAM,GAAwB,IAAI,GAAG,EAAkB,CAAC;IAwG1D,CAAC;IAtGC;;;OAGG;IACH,MAAM,CAAC,UAAU;QACf,uCACK,KAAK,CAAC,UAAU,EAAE,KACrB,IAAI,EAAE;gBACJ,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;aACxB,IACD;IACJ,CAAC;IAED;;OAEG;IACG,OAAO;;;;;YACX,MAAM,OAAM,OAAO,WAAE,CAAC;YACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,gBAAgB,EAAE,CAAC;YACrD,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE;gBAC1B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;aACvC;QACH,CAAC;KAAA;IAED;;;OAGG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,OAAO,CAAC,IAAyB;QAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,GAAY;QAChB,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC,SAAS,EAAE,KAAK,KAAK,EAAE;YAC9C,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;SAC/B;aAAM,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC,SAAS,EAAE,KAAK,KAAK,EAAE;YACrD,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;SAC/B;IACH,CAAC;IAED;;;OAGG;IACG,YAAY,CAAC,GAAY;;YAC7B,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC;KAAA;IAED;;OAEG;IACG,YAAY,CAAC,GAAY;;YAC7B,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,cAAc,EAAE,CAAC;YACnC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;KAAA;IAED,4CAA4C;IAC5C,SAAS,CAAC,GAAY,EAAE,IAAU;QAChC,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC9B,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,GAAG,EAAE,CAAC;SACb;QACD,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,OAAO,MAAM,CAAC;IAChB,CAAC;IAEK,aAAa,CAAC,GAAY,EAAE,IAAU,EAAE,MAAc;;YAC1D,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACvC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE;gBACzB,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;oBAC1B,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;wBAC9E,OAAO,IAAI,CAAC;qBACb;iBACF;aACF;YACD,OAAO,KAAK,CAAC;QACf,CAAC;KAAA;IAEK,MAAM,CAAC,GAAY,EAAE,MAAc;;YACvC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,EAAE;gBAC9C,MAAM,GAAG,CAAC;aACX;YACD,IAAI,IAAI,GAAG,MAAM,GAAG,CAAC,cAAc,EAAE,CAAC;YACtC,IAAI,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE;gBAC/C,OAAO,IAAI,CAAC;aACb;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;KAAA;CACF;AAEQ,4BAAQ"}
1
+ {"version":3,"file":"aclmodel.js","sourceRoot":"","sources":["../../src/models/aclmodel.ts"],"names":[],"mappings":"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"}
@@ -18,10 +18,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
18
18
  const assert = require("assert");
19
19
  const mocha_1 = require("@testdeck/mocha");
20
20
  const index_1 = require("../index");
21
+ const test_1 = require("../test");
21
22
  let AclPolicyTest = class AclPolicyTest {
22
23
  before() {
23
24
  return __awaiter(this, void 0, void 0, function* () {
24
- this._webda = new index_1.Core(new index_1.Application(__dirname + "/../../test/config.json"));
25
+ let app = new test_1.TestApplication(__dirname + "/../../test/config.json");
26
+ yield app.load();
27
+ this._webda = new index_1.Core(app);
25
28
  this._ctx = yield this._webda.newContext(new index_1.HttpContext("test.webda.io", "GET", "/"));
26
29
  this._session = this._ctx.getSession();
27
30
  this._session.login("user-uid", "none");
@@ -38,24 +41,32 @@ let AclPolicyTest = class AclPolicyTest {
38
41
  get() {
39
42
  return __awaiter(this, void 0, void 0, function* () {
40
43
  yield assert.rejects(this.model.canAct.bind(this.model, this._ctx, "get"));
41
- this.model.__acls["gip-123"] = "get";
44
+ this.model.__acl["gip-123"] = "get";
42
45
  assert.strictEqual(yield this.model.canAct(this._ctx, "get"), this.model);
43
46
  });
44
47
  }
45
48
  multipermissions() {
46
49
  return __awaiter(this, void 0, void 0, function* () {
47
50
  yield assert.rejects(this.model.canAct.bind(this.model, this._ctx, "action"));
48
- this.model.__acls["gip-123"] = "get,action";
51
+ this.model.__acl["gip-123"] = "get,action";
49
52
  assert.strictEqual(yield this.model.canAct(this._ctx, "get"), this.model);
50
53
  assert.strictEqual(yield this.model.canAct(this._ctx, "action"), this.model);
54
+ assert.deepStrictEqual(yield this.model.getPermissions(this._ctx), ["get", "action"]);
55
+ yield this.model._onGet();
56
+ // @ts-ignore
57
+ assert.deepStrictEqual(this.model._permissions, []);
58
+ this.model.setContext(this._ctx);
59
+ yield this.model._onGet();
60
+ // @ts-ignore
61
+ assert.deepStrictEqual(this.model._permissions, ["get", "action"]);
51
62
  });
52
63
  }
53
64
  multigroups() {
54
65
  return __awaiter(this, void 0, void 0, function* () {
55
66
  yield assert.rejects(this.model.canAct.bind(this.model, this._ctx, "action"));
56
- this.model.__acls["gip-124"] = "get,action";
57
- this.model.__acls["gip-123"] = "get";
58
- this.model.__acls["gip-122"] = "get,action";
67
+ this.model.__acl["gip-124"] = "get,action";
68
+ this.model.__acl["gip-123"] = "get";
69
+ this.model.__acl["gip-122"] = "get,action";
59
70
  assert.strictEqual(yield this.model.canAct(this._ctx, "get"), this.model);
60
71
  yield assert.rejects(this.model.canAct.bind(this.model, this._ctx, "action"));
61
72
  // @ts-ignore
@@ -66,8 +77,8 @@ let AclPolicyTest = class AclPolicyTest {
66
77
  userid() {
67
78
  return __awaiter(this, void 0, void 0, function* () {
68
79
  yield assert.rejects(this.model.canAct.bind(this.model, this._ctx, "action"));
69
- this.model.__acls["user-uid"] = "get";
70
- this.model.__acls["gip-122"] = "get,action";
80
+ this.model.__acl["user-uid"] = "get";
81
+ this.model.__acl["gip-122"] = "get,action";
71
82
  assert.strictEqual(yield this.model.canAct(this._ctx, "get"), this.model);
72
83
  yield assert.rejects(this.model.canAct.bind(this.model, this._ctx, "action"));
73
84
  this._ctx.getCurrentUserId = () => {
@@ -77,16 +88,16 @@ let AclPolicyTest = class AclPolicyTest {
77
88
  this._ctx.getCurrentUserId = () => {
78
89
  return "123";
79
90
  };
80
- this.model.setAcls(undefined);
91
+ this.model.setAcl(undefined);
81
92
  yield assert.rejects(this.model.canAct.bind(this.model, this._ctx, "get"), /403/);
82
93
  });
83
94
  }
84
95
  all() {
85
96
  return __awaiter(this, void 0, void 0, function* () {
86
97
  yield assert.rejects(this.model.canAct.bind(this.model, this._ctx, "action"));
87
- this.model.__acls["gip-124"] = "get,action";
88
- this.model.__acls["user-uid"] = "all";
89
- this.model.__acls["gip-122"] = "get,action";
98
+ this.model.__acl["gip-124"] = "get,action";
99
+ this.model.__acl["user-uid"] = "all";
100
+ this.model.__acl["gip-122"] = "get,action";
90
101
  assert.strictEqual(yield this.model.canAct(this._ctx, "get"), this.model);
91
102
  assert.strictEqual(yield this.model.canAct(this._ctx, "action"), this.model);
92
103
  assert.strictEqual(yield this.model.canAct(this._ctx, "delete"), this.model);
@@ -97,18 +108,44 @@ let AclPolicyTest = class AclPolicyTest {
97
108
  return __awaiter(this, void 0, void 0, function* () {
98
109
  // @ts-ignore
99
110
  this.model.__store = {
100
- save: () => __awaiter(this, void 0, void 0, function* () { return this.model; })
111
+ save: () => __awaiter(this, void 0, void 0, function* () { return this.model; }),
112
+ // @ts-ignore
113
+ getService: () => {
114
+ return {
115
+ get: () => __awaiter(this, void 0, void 0, function* () {
116
+ return {
117
+ toPublicEntry: () => {
118
+ return {
119
+ displayName: "Plopi"
120
+ };
121
+ }
122
+ };
123
+ })
124
+ };
125
+ }
101
126
  };
102
127
  let actions = index_1.AclModel.getActions();
103
- assert.notStrictEqual(actions.acls, undefined);
128
+ assert.notStrictEqual(actions.acl, undefined);
104
129
  this._ctx.setHttpContext(new index_1.HttpContext("test.webda.io", "PUT", "/", undefined, undefined, { acl: "mine" }));
105
- yield this.model._acls(this._ctx);
130
+ yield this.model._acl(this._ctx);
106
131
  // @ts-ignore
107
- assert.strictEqual(this.model.getAcls().acl, "mine");
132
+ assert.strictEqual(this.model.getAcl().acl, "mine");
133
+ this._ctx.setHttpContext(new index_1.HttpContext("test.webda.io", "PUT", "/", undefined, undefined, { raw: { acl: "mine" } }));
134
+ yield assert.rejects(() => this.model._acl(this._ctx));
108
135
  this._ctx.setHttpContext(new index_1.HttpContext("test.webda.io", "GET", "/", undefined, undefined, { acl: "mine" }));
109
- yield this.model._acls(this._ctx);
136
+ yield this.model._acl(this._ctx);
110
137
  assert.deepStrictEqual(JSON.parse(this._ctx.getResponseBody()), {
111
- acl: "mine"
138
+ raw: {
139
+ acl: "mine"
140
+ },
141
+ resolved: [
142
+ {
143
+ actor: {
144
+ displayName: "Plopi"
145
+ },
146
+ permission: "mine"
147
+ }
148
+ ]
112
149
  });
113
150
  });
114
151
  }
@@ -116,7 +153,7 @@ let AclPolicyTest = class AclPolicyTest {
116
153
  return __awaiter(this, void 0, void 0, function* () {
117
154
  this.model.setContext(this._ctx);
118
155
  yield this.model._onSave();
119
- assert.deepStrictEqual(this.model.__acls, new Map([["user-uid", "all"]]));
156
+ assert.deepStrictEqual(this.model.__acl, { "user-uid": "all" });
120
157
  assert.strictEqual(this.model._creator, "user-uid");
121
158
  });
122
159
  }
@@ -1 +1 @@
1
- {"version":3,"file":"aclmodel.spec.js","sourceRoot":"","sources":["../../src/models/aclmodel.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aclmodel.spec.js","sourceRoot":"","sources":["../../src/models/aclmodel.spec.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import { Store } from "../stores/store";
2
2
  import { Context, HttpMethodType } from "../utils/context";
3
- import { Service } from "..";
4
- import { JSONSchema6 } from "json-schema";
3
+ import { Service } from "../services/service";
5
4
  /**
6
5
  * Define an export of actions from Model
7
6
  */
@@ -42,6 +41,7 @@ export interface CoreModelDefinition {
42
41
  export declare class CoreModelUnattachedError extends Error {
43
42
  constructor();
44
43
  }
44
+ export declare function NotEnumerable(target: any, propertyKey: string): void;
45
45
  /**
46
46
  * Basic Object in Webda
47
47
  *
@@ -50,9 +50,9 @@ export declare class CoreModelUnattachedError extends Error {
50
50
  * Any variable starting with __ won't be exported outside of the server
51
51
  *
52
52
  * @class
53
+ * @WebdaModel
53
54
  */
54
55
  declare class CoreModel {
55
- static jsonExcludes: string[];
56
56
  /**
57
57
  * Class reference to the object
58
58
  */
@@ -109,7 +109,7 @@ declare class CoreModel {
109
109
  * By default nothing is permitted on a CoreModel
110
110
  * @returns
111
111
  */
112
- canAct(ctx: Context, action: "create" | "update" | "get" | "delete" | "get_binary" | "detach_binary" | "attach_binary" | string): Promise<this>;
112
+ canAct(_ctx: Context, _action: "create" | "update" | "get" | "delete" | "get_binary" | "detach_binary" | "attach_binary" | "update_binary_metadata" | string): Promise<this>;
113
113
  /**
114
114
  * Get the UUID property
115
115
  */
@@ -136,7 +136,7 @@ declare class CoreModel {
136
136
  * @param raw data
137
137
  * @param secure if false will ignore any _ variable
138
138
  */
139
- load(raw: any, secure?: boolean): void;
139
+ load(raw: any, secure?: boolean): this;
140
140
  /**
141
141
  * Context of the request
142
142
  */
@@ -146,11 +146,11 @@ declare class CoreModel {
146
146
  *
147
147
  * Global object does not belong to a request
148
148
  */
149
- getContext(): Context;
149
+ getContext(): Context<any, any>;
150
150
  /**
151
151
  * Return the object registered store
152
152
  */
153
- getStore(): Store<CoreModel, import("..").StoreParameters>;
153
+ getStore(): Store<CoreModel, import("../stores/store").StoreParameters, import("../stores/store").StoreEvents>;
154
154
  /**
155
155
  * Get the object again
156
156
  *
@@ -175,14 +175,6 @@ declare class CoreModel {
175
175
  * @throws Error if the object is not coming from a store
176
176
  */
177
177
  update(changes: any): Promise<void>;
178
- /**
179
- * Allow to specify the JSONSchema to configure this service
180
- *
181
- * Return undefined by default to fallback on typescript-json-schema guess
182
- *
183
- * Using this method should only be exception
184
- */
185
- static getSchema(): JSONSchema6;
186
178
  /**
187
179
  * Validate objet modification
188
180
  *
@@ -196,7 +188,7 @@ declare class CoreModel {
196
188
  * @param object
197
189
  * @returns
198
190
  */
199
- generateUid(object?: any): string;
191
+ generateUid(_object?: any): string;
200
192
  /**
201
193
  * Remove all the attribute starting with __
202
194
  * @param key
@@ -258,7 +250,7 @@ declare class CoreModel {
258
250
  *
259
251
  * @param updates to be send
260
252
  */
261
- _onUpdate(updates: any): Promise<void>;
253
+ _onUpdate(_updates: any): Promise<void>;
262
254
  /**
263
255
  * Called when object is updated
264
256
  */
@@ -1,4 +1,10 @@
1
1
  "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
2
8
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
9
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
10
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -9,7 +15,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
15
  });
10
16
  };
11
17
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.CoreModel = exports.CoreModelUnattachedError = void 0;
18
+ exports.CoreModel = exports.NotEnumerable = exports.CoreModelUnattachedError = void 0;
13
19
  const uuid_1 = require("uuid");
14
20
  const context_1 = require("../utils/context");
15
21
  /**
@@ -21,6 +27,19 @@ class CoreModelUnattachedError extends Error {
21
27
  }
22
28
  }
23
29
  exports.CoreModelUnattachedError = CoreModelUnattachedError;
30
+ function NotEnumerable(target, propertyKey) {
31
+ Object.defineProperty(target, propertyKey, {
32
+ set(value) {
33
+ Object.defineProperty(this, propertyKey, {
34
+ value,
35
+ writable: true,
36
+ configurable: true
37
+ });
38
+ },
39
+ configurable: true
40
+ });
41
+ }
42
+ exports.NotEnumerable = NotEnumerable;
24
43
  /**
25
44
  * Basic Object in Webda
26
45
  *
@@ -29,6 +48,7 @@ exports.CoreModelUnattachedError = CoreModelUnattachedError;
29
48
  * Any variable starting with __ won't be exported outside of the server
30
49
  *
31
50
  * @class
51
+ * @WebdaModel
32
52
  */
33
53
  class CoreModel {
34
54
  constructor() {
@@ -62,7 +82,7 @@ class CoreModel {
62
82
  * By default nothing is permitted on a CoreModel
63
83
  * @returns
64
84
  */
65
- canAct(ctx, action) {
85
+ canAct(_ctx, _action) {
66
86
  return __awaiter(this, void 0, void 0, function* () {
67
87
  throw 403;
68
88
  });
@@ -115,6 +135,7 @@ class CoreModel {
115
135
  if (!this.getUuid()) {
116
136
  this.setUuid(this.generateUid(raw));
117
137
  }
138
+ return this;
118
139
  }
119
140
  /**
120
141
  * Context of the request
@@ -208,16 +229,6 @@ class CoreModel {
208
229
  }
209
230
  });
210
231
  }
211
- /**
212
- * Allow to specify the JSONSchema to configure this service
213
- *
214
- * Return undefined by default to fallback on typescript-json-schema guess
215
- *
216
- * Using this method should only be exception
217
- */
218
- static getSchema() {
219
- return undefined;
220
- }
221
232
  /**
222
233
  * Validate objet modification
223
234
  *
@@ -226,17 +237,7 @@ class CoreModel {
226
237
  */
227
238
  validate(ctx, updates = undefined) {
228
239
  return __awaiter(this, void 0, void 0, function* () {
229
- // Load updates before validating itself
230
- if (updates) {
231
- this.load(updates);
232
- }
233
- if (!ctx.getWebda().validateSchema(this, this)) {
234
- throw new Error(ctx
235
- .getWebda()
236
- .validationLastErrors()
237
- .map(e => e.message)
238
- .join(","));
239
- }
240
+ ctx.getWebda().validateSchema(this, updates);
240
241
  return true;
241
242
  });
242
243
  }
@@ -246,7 +247,7 @@ class CoreModel {
246
247
  * @param object
247
248
  * @returns
248
249
  */
249
- generateUid(object = undefined) {
250
+ generateUid(_object = undefined) {
250
251
  return (0, uuid_1.v4)().toString();
251
252
  }
252
253
  /**
@@ -269,15 +270,9 @@ class CoreModel {
269
270
  */
270
271
  toStoredJSON(stringify = false) {
271
272
  let obj = this._toJSON(true);
272
- obj.__store = undefined;
273
273
  obj.__type = this.__class.name;
274
274
  if (stringify) {
275
- return JSON.stringify(obj, (key, value) => {
276
- if (CoreModel.jsonExcludes.indexOf(key) >= 0) {
277
- return undefined;
278
- }
279
- return value;
280
- });
275
+ return JSON.stringify(obj);
281
276
  }
282
277
  return obj;
283
278
  }
@@ -305,9 +300,6 @@ class CoreModel {
305
300
  let obj = {};
306
301
  for (let i in this) {
307
302
  let value = this[i];
308
- if (CoreModel.jsonExcludes.indexOf(i) >= 0) {
309
- continue;
310
- }
311
303
  if (!secure) {
312
304
  value = this._jsonFilter(i, this[i]);
313
305
  }
@@ -370,7 +362,7 @@ class CoreModel {
370
362
  *
371
363
  * @param updates to be send
372
364
  */
373
- _onUpdate(updates) {
365
+ _onUpdate(_updates) {
374
366
  return __awaiter(this, void 0, void 0, function* () {
375
367
  // Empty to be overriden
376
368
  });
@@ -384,6 +376,14 @@ class CoreModel {
384
376
  });
385
377
  }
386
378
  }
379
+ __decorate([
380
+ NotEnumerable
381
+ ], CoreModel.prototype, "__class", void 0);
382
+ __decorate([
383
+ NotEnumerable
384
+ ], CoreModel.prototype, "__ctx", void 0);
385
+ __decorate([
386
+ NotEnumerable
387
+ ], CoreModel.prototype, "__store", void 0);
387
388
  exports.CoreModel = CoreModel;
388
- CoreModel.jsonExcludes = ["__store", "__ctx"];
389
389
  //# sourceMappingURL=coremodel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"coremodel.js","sourceRoot":"","sources":["../../src/models/coremodel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coremodel.js","sourceRoot":"","sources":["../../src/models/coremodel.ts"],"names":[],"mappings":"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"}