@intuitionrobotics/permissions 0.47.59 → 1.0.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 (265) hide show
  1. package/LICENSE +3 -0
  2. package/dist/app-backend/api/v1/permissions/_imports.d.ts +3 -0
  3. package/dist/app-backend/api/v1/permissions/_imports.d.ts.map +1 -0
  4. package/{shared/assign-types.js → dist/app-backend/api/v1/permissions/_imports.js} +3 -3
  5. package/{app-backend → dist/app-backend}/api/v1/permissions/_imports.js.map +1 -1
  6. package/dist/app-backend/api/v1/permissions/_permissions.d.ts +4 -0
  7. package/dist/app-backend/api/v1/permissions/_permissions.d.ts.map +1 -0
  8. package/{app-backend → dist/app-backend}/api/v1/permissions/_permissions.js +2 -4
  9. package/dist/app-backend/api/v1/permissions/_permissions.js.map +1 -0
  10. package/dist/app-backend/api/v1/permissions/assert.d.ts +10 -0
  11. package/dist/app-backend/api/v1/permissions/assert.d.ts.map +1 -0
  12. package/dist/app-backend/api/v1/permissions/assert.js +36 -0
  13. package/dist/app-backend/api/v1/permissions/assert.js.map +1 -0
  14. package/dist/app-backend/api/v1/permissions/assign/apis.d.ts +4 -0
  15. package/dist/app-backend/api/v1/permissions/assign/apis.d.ts.map +1 -0
  16. package/{app-backend → dist/app-backend}/api/v1/permissions/assign/apis.js +6 -7
  17. package/dist/app-backend/api/v1/permissions/assign/apis.js.map +1 -0
  18. package/dist/app-backend/api/v1/permissions/assign/app-permissions.d.ts +10 -0
  19. package/dist/app-backend/api/v1/permissions/assign/app-permissions.d.ts.map +1 -0
  20. package/dist/app-backend/api/v1/permissions/assign/app-permissions.js +42 -0
  21. package/dist/app-backend/api/v1/permissions/assign/app-permissions.js.map +1 -0
  22. package/dist/app-backend/api/v1/permissions/manage/apis.d.ts +4 -0
  23. package/dist/app-backend/api/v1/permissions/manage/apis.d.ts.map +1 -0
  24. package/{app-backend → dist/app-backend}/api/v1/permissions/manage/apis.js +8 -9
  25. package/dist/app-backend/api/v1/permissions/manage/apis.js.map +1 -0
  26. package/dist/app-backend/api/v1/permissions/tags/apis.d.ts +3 -0
  27. package/dist/app-backend/api/v1/permissions/tags/apis.d.ts.map +1 -0
  28. package/dist/app-backend/api/v1/permissions/tags/apis.js +3 -0
  29. package/{app-backend → dist/app-backend}/api/v1/permissions/tags/apis.js.map +1 -1
  30. package/dist/app-backend/api/v1/permissions/user-urls-permissions.d.ts +9 -0
  31. package/dist/app-backend/api/v1/permissions/user-urls-permissions.d.ts.map +1 -0
  32. package/dist/app-backend/api/v1/permissions/user-urls-permissions.js +34 -0
  33. package/dist/app-backend/api/v1/permissions/user-urls-permissions.js.map +1 -0
  34. package/dist/app-backend/api/v1/register/_register-project.d.ts +4 -0
  35. package/dist/app-backend/api/v1/register/_register-project.d.ts.map +1 -0
  36. package/dist/app-backend/api/v1/register/_register-project.js +20 -0
  37. package/dist/app-backend/api/v1/register/_register-project.js.map +1 -0
  38. package/dist/app-backend/api/v1/register/register-external-project.d.ts +9 -0
  39. package/dist/app-backend/api/v1/register/register-external-project.d.ts.map +1 -0
  40. package/dist/app-backend/api/v1/register/register-external-project.js +33 -0
  41. package/dist/app-backend/api/v1/register/register-external-project.js.map +1 -0
  42. package/dist/app-backend/api/v1/register/register-project.d.ts +11 -0
  43. package/dist/app-backend/api/v1/register/register-project.d.ts.map +1 -0
  44. package/dist/app-backend/api/v1/register/register-project.js +16 -0
  45. package/dist/app-backend/api/v1/register/register-project.js.map +1 -0
  46. package/dist/app-backend/api/v1/test/_imports.d.ts +2 -0
  47. package/dist/app-backend/api/v1/test/_imports.d.ts.map +1 -0
  48. package/dist/app-backend/api/v1/test/_imports.js +19 -0
  49. package/{app-backend → dist/app-backend}/api/v1/test/_imports.js.map +1 -1
  50. package/dist/app-backend/api/v1/test/_test-permissions.d.ts +4 -0
  51. package/dist/app-backend/api/v1/test/_test-permissions.d.ts.map +1 -0
  52. package/dist/app-backend/api/v1/test/_test-permissions.js +20 -0
  53. package/dist/app-backend/api/v1/test/_test-permissions.js.map +1 -0
  54. package/dist/app-backend/api/v1/test/test-permissions.d.ts +10 -0
  55. package/dist/app-backend/api/v1/test/test-permissions.d.ts.map +1 -0
  56. package/dist/app-backend/api/v1/test/test-permissions.js +34 -0
  57. package/dist/app-backend/api/v1/test/test-permissions.js.map +1 -0
  58. package/dist/app-backend/api/v1/user-custom-fields/_user-custom-fields.d.ts +4 -0
  59. package/dist/app-backend/api/v1/user-custom-fields/_user-custom-fields.d.ts.map +1 -0
  60. package/dist/app-backend/api/v1/user-custom-fields/_user-custom-fields.js +20 -0
  61. package/dist/app-backend/api/v1/user-custom-fields/_user-custom-fields.js.map +1 -0
  62. package/dist/app-backend/api/v1/user-custom-fields/user-cf-by-share-groups.d.ts +9 -0
  63. package/dist/app-backend/api/v1/user-custom-fields/user-cf-by-share-groups.d.ts.map +1 -0
  64. package/dist/app-backend/api/v1/user-custom-fields/user-cf-by-share-groups.js +17 -0
  65. package/dist/app-backend/api/v1/user-custom-fields/user-cf-by-share-groups.js.map +1 -0
  66. package/dist/app-backend/api/v1/user-custom-fields/users-cf-by-share-groups.d.ts +9 -0
  67. package/dist/app-backend/api/v1/user-custom-fields/users-cf-by-share-groups.d.ts.map +1 -0
  68. package/dist/app-backend/api/v1/user-custom-fields/users-cf-by-share-groups.js +15 -0
  69. package/dist/app-backend/api/v1/user-custom-fields/users-cf-by-share-groups.js.map +1 -0
  70. package/{app-backend → dist/app-backend}/benchmark/permission-user-assert-benchmark.d.ts +1 -0
  71. package/dist/app-backend/benchmark/permission-user-assert-benchmark.d.ts.map +1 -0
  72. package/dist/app-backend/benchmark/permission-user-assert-benchmark.js +92 -0
  73. package/dist/app-backend/benchmark/permission-user-assert-benchmark.js.map +1 -0
  74. package/dist/app-backend/core/module-pack.d.ts +7 -0
  75. package/dist/app-backend/core/module-pack.d.ts.map +1 -0
  76. package/dist/app-backend/core/module-pack.js +39 -0
  77. package/dist/app-backend/core/module-pack.js.map +1 -0
  78. package/{app-backend → dist/app-backend}/modules/PermissionsModule.d.ts +3 -2
  79. package/dist/app-backend/modules/PermissionsModule.d.ts.map +1 -0
  80. package/dist/app-backend/modules/PermissionsModule.js +119 -0
  81. package/dist/app-backend/modules/PermissionsModule.js.map +1 -0
  82. package/{app-backend → dist/app-backend}/modules/TagsModule.d.ts +5 -4
  83. package/dist/app-backend/modules/TagsModule.d.ts.map +1 -0
  84. package/dist/app-backend/modules/TagsModule.js +36 -0
  85. package/dist/app-backend/modules/TagsModule.js.map +1 -0
  86. package/{app-backend → dist/app-backend}/modules/_imports.d.ts +4 -3
  87. package/dist/app-backend/modules/_imports.d.ts.map +1 -0
  88. package/{app-backend/api/v1/test → dist/app-backend/modules}/_imports.js +9 -5
  89. package/dist/app-backend/modules/_imports.js.map +1 -0
  90. package/{app-backend → dist/app-backend}/modules/db-types/assign.d.ts +7 -6
  91. package/dist/app-backend/modules/db-types/assign.d.ts.map +1 -0
  92. package/dist/app-backend/modules/db-types/assign.js +251 -0
  93. package/dist/app-backend/modules/db-types/assign.js.map +1 -0
  94. package/{app-backend → dist/app-backend}/modules/db-types/managment.d.ts +5 -4
  95. package/dist/app-backend/modules/db-types/managment.d.ts.map +1 -0
  96. package/dist/app-backend/modules/db-types/managment.js +210 -0
  97. package/dist/app-backend/modules/db-types/managment.js.map +1 -0
  98. package/{app-backend → dist/app-backend}/modules/permissions-assert.d.ts +4 -3
  99. package/dist/app-backend/modules/permissions-assert.d.ts.map +1 -0
  100. package/dist/app-backend/modules/permissions-assert.js +226 -0
  101. package/dist/app-backend/modules/permissions-assert.js.map +1 -0
  102. package/{app-backend → dist/app-backend}/modules/permissions-share.d.ts +2 -1
  103. package/dist/app-backend/modules/permissions-share.d.ts.map +1 -0
  104. package/dist/app-backend/modules/permissions-share.js +13 -0
  105. package/dist/app-backend/modules/permissions-share.js.map +1 -0
  106. package/dist/app-frontend/core/module-pack.d.ts +9 -0
  107. package/dist/app-frontend/core/module-pack.d.ts.map +1 -0
  108. package/dist/app-frontend/core/module-pack.js +41 -0
  109. package/dist/app-frontend/core/module-pack.js.map +1 -0
  110. package/{app-frontend → dist/app-frontend}/modules/PermissionsComponent.d.ts +2 -1
  111. package/dist/app-frontend/modules/PermissionsComponent.d.ts.map +1 -0
  112. package/dist/app-frontend/modules/PermissionsComponent.js +19 -0
  113. package/dist/app-frontend/modules/PermissionsComponent.js.map +1 -0
  114. package/{app-frontend → dist/app-frontend}/modules/PermissionsModuleFE.d.ts +1 -0
  115. package/dist/app-frontend/modules/PermissionsModuleFE.d.ts.map +1 -0
  116. package/dist/app-frontend/modules/PermissionsModuleFE.js +80 -0
  117. package/dist/app-frontend/modules/PermissionsModuleFE.js.map +1 -0
  118. package/{app-frontend → dist/app-frontend}/modules/assign/ApiCaller_PermissionsGroup.d.ts +6 -5
  119. package/dist/app-frontend/modules/assign/ApiCaller_PermissionsGroup.d.ts.map +1 -0
  120. package/dist/app-frontend/modules/assign/ApiCaller_PermissionsGroup.js +50 -0
  121. package/dist/app-frontend/modules/assign/ApiCaller_PermissionsGroup.js.map +1 -0
  122. package/{app-frontend → dist/app-frontend}/modules/assign/ApiCaller_PermissionsUser.d.ts +6 -5
  123. package/dist/app-frontend/modules/assign/ApiCaller_PermissionsUser.d.ts.map +1 -0
  124. package/dist/app-frontend/modules/assign/ApiCaller_PermissionsUser.js +50 -0
  125. package/dist/app-frontend/modules/assign/ApiCaller_PermissionsUser.js.map +1 -0
  126. package/{app-frontend → dist/app-frontend}/modules/manage/ApiCaller_PermissionsApi.d.ts +6 -5
  127. package/dist/app-frontend/modules/manage/ApiCaller_PermissionsApi.d.ts.map +1 -0
  128. package/dist/app-frontend/modules/manage/ApiCaller_PermissionsApi.js +55 -0
  129. package/dist/app-frontend/modules/manage/ApiCaller_PermissionsApi.js.map +1 -0
  130. package/{app-frontend → dist/app-frontend}/modules/manage/ApiCaller_PermissionsDomain.d.ts +6 -5
  131. package/dist/app-frontend/modules/manage/ApiCaller_PermissionsDomain.d.ts.map +1 -0
  132. package/dist/app-frontend/modules/manage/ApiCaller_PermissionsDomain.js +61 -0
  133. package/dist/app-frontend/modules/manage/ApiCaller_PermissionsDomain.js.map +1 -0
  134. package/{app-frontend → dist/app-frontend}/modules/manage/ApiCaller_PermissionsLevel.d.ts +6 -5
  135. package/dist/app-frontend/modules/manage/ApiCaller_PermissionsLevel.d.ts.map +1 -0
  136. package/dist/app-frontend/modules/manage/ApiCaller_PermissionsLevel.js +61 -0
  137. package/dist/app-frontend/modules/manage/ApiCaller_PermissionsLevel.js.map +1 -0
  138. package/{app-frontend → dist/app-frontend}/modules/manage/ApiCaller_PermissionsProject.d.ts +6 -5
  139. package/dist/app-frontend/modules/manage/ApiCaller_PermissionsProject.d.ts.map +1 -0
  140. package/dist/app-frontend/modules/manage/ApiCaller_PermissionsProject.js +60 -0
  141. package/dist/app-frontend/modules/manage/ApiCaller_PermissionsProject.js.map +1 -0
  142. package/{app-frontend → dist/app-frontend}/modules/tags/ApiCaller_PermissionsTags.d.ts +6 -5
  143. package/dist/app-frontend/modules/tags/ApiCaller_PermissionsTags.d.ts.map +1 -0
  144. package/dist/app-frontend/modules/tags/ApiCaller_PermissionsTags.js +33 -0
  145. package/dist/app-frontend/modules/tags/ApiCaller_PermissionsTags.js.map +1 -0
  146. package/dist/backend.d.ts +2 -0
  147. package/dist/backend.d.ts.map +1 -0
  148. package/{shared/apis.js → dist/backend.js} +2 -3
  149. package/dist/backend.js.map +1 -0
  150. package/dist/frontend.d.ts +4 -0
  151. package/dist/frontend.d.ts.map +1 -0
  152. package/dist/frontend.js +21 -0
  153. package/dist/frontend.js.map +1 -0
  154. package/dist/index.d.ts +4 -0
  155. package/dist/index.d.ts.map +1 -0
  156. package/dist/index.js +21 -0
  157. package/dist/index.js.map +1 -0
  158. package/{shared → dist/shared}/apis.d.ts +6 -5
  159. package/dist/shared/apis.d.ts.map +1 -0
  160. package/dist/shared/apis.js +23 -0
  161. package/dist/shared/apis.js.map +1 -0
  162. package/{shared → dist/shared}/assign-types.d.ts +3 -2
  163. package/dist/shared/assign-types.d.ts.map +1 -0
  164. package/{shared/manager-types.js → dist/shared/assign-types.js} +3 -3
  165. package/{shared → dist/shared}/assign-types.js.map +1 -1
  166. package/{shared → dist/shared}/manager-types.d.ts +3 -2
  167. package/dist/shared/manager-types.d.ts.map +1 -0
  168. package/dist/shared/manager-types.js +20 -0
  169. package/{shared → dist/shared}/manager-types.js.map +1 -1
  170. package/dist/tsconfig.tsbuildinfo +1 -0
  171. package/package.json +66 -17
  172. package/app-backend/api/v1/permissions/_imports.d.ts +0 -2
  173. package/app-backend/api/v1/permissions/_imports.js +0 -36
  174. package/app-backend/api/v1/permissions/_permissions.d.ts +0 -1
  175. package/app-backend/api/v1/permissions/_permissions.js.map +0 -1
  176. package/app-backend/api/v1/permissions/assert.d.ts +0 -1
  177. package/app-backend/api/v1/permissions/assert.js +0 -47
  178. package/app-backend/api/v1/permissions/assert.js.map +0 -1
  179. package/app-backend/api/v1/permissions/assign/apis.d.ts +0 -1
  180. package/app-backend/api/v1/permissions/assign/apis.js.map +0 -1
  181. package/app-backend/api/v1/permissions/assign/app-permissions.d.ts +0 -1
  182. package/app-backend/api/v1/permissions/assign/app-permissions.js +0 -55
  183. package/app-backend/api/v1/permissions/assign/app-permissions.js.map +0 -1
  184. package/app-backend/api/v1/permissions/manage/apis.d.ts +0 -1
  185. package/app-backend/api/v1/permissions/manage/apis.js.map +0 -1
  186. package/app-backend/api/v1/permissions/tags/apis.d.ts +0 -1
  187. package/app-backend/api/v1/permissions/tags/apis.js +0 -5
  188. package/app-backend/api/v1/permissions/user-urls-permissions.d.ts +0 -1
  189. package/app-backend/api/v1/permissions/user-urls-permissions.js +0 -46
  190. package/app-backend/api/v1/permissions/user-urls-permissions.js.map +0 -1
  191. package/app-backend/api/v1/register/_register-project.d.ts +0 -1
  192. package/app-backend/api/v1/register/_register-project.js +0 -22
  193. package/app-backend/api/v1/register/_register-project.js.map +0 -1
  194. package/app-backend/api/v1/register/register-external-project.d.ts +0 -6
  195. package/app-backend/api/v1/register/register-external-project.js +0 -46
  196. package/app-backend/api/v1/register/register-external-project.js.map +0 -1
  197. package/app-backend/api/v1/register/register-project.d.ts +0 -8
  198. package/app-backend/api/v1/register/register-project.js +0 -29
  199. package/app-backend/api/v1/register/register-project.js.map +0 -1
  200. package/app-backend/api/v1/test/_imports.d.ts +0 -1
  201. package/app-backend/api/v1/test/_test-permissions.d.ts +0 -1
  202. package/app-backend/api/v1/test/_test-permissions.js +0 -22
  203. package/app-backend/api/v1/test/_test-permissions.js.map +0 -1
  204. package/app-backend/api/v1/test/test-permissions.d.ts +0 -1
  205. package/app-backend/api/v1/test/test-permissions.js +0 -45
  206. package/app-backend/api/v1/test/test-permissions.js.map +0 -1
  207. package/app-backend/api/v1/user-custom-fields/_user-custom-fields.d.ts +0 -1
  208. package/app-backend/api/v1/user-custom-fields/_user-custom-fields.js +0 -22
  209. package/app-backend/api/v1/user-custom-fields/_user-custom-fields.js.map +0 -1
  210. package/app-backend/api/v1/user-custom-fields/user-cf-by-share-groups.d.ts +0 -6
  211. package/app-backend/api/v1/user-custom-fields/user-cf-by-share-groups.js +0 -31
  212. package/app-backend/api/v1/user-custom-fields/user-cf-by-share-groups.js.map +0 -1
  213. package/app-backend/api/v1/user-custom-fields/users-cf-by-share-groups.d.ts +0 -6
  214. package/app-backend/api/v1/user-custom-fields/users-cf-by-share-groups.js +0 -30
  215. package/app-backend/api/v1/user-custom-fields/users-cf-by-share-groups.js.map +0 -1
  216. package/app-backend/benchmark/permission-user-assert-benchmark.js +0 -108
  217. package/app-backend/benchmark/permission-user-assert-benchmark.js.map +0 -1
  218. package/app-backend/core/module-pack.d.ts +0 -6
  219. package/app-backend/core/module-pack.js +0 -56
  220. package/app-backend/core/module-pack.js.map +0 -1
  221. package/app-backend/modules/PermissionsModule.js +0 -140
  222. package/app-backend/modules/PermissionsModule.js.map +0 -1
  223. package/app-backend/modules/TagsModule.js +0 -51
  224. package/app-backend/modules/TagsModule.js.map +0 -1
  225. package/app-backend/modules/_imports.js +0 -44
  226. package/app-backend/modules/_imports.js.map +0 -1
  227. package/app-backend/modules/db-types/assign.js +0 -288
  228. package/app-backend/modules/db-types/assign.js.map +0 -1
  229. package/app-backend/modules/db-types/managment.js +0 -242
  230. package/app-backend/modules/db-types/managment.js.map +0 -1
  231. package/app-backend/modules/permissions-assert.js +0 -250
  232. package/app-backend/modules/permissions-assert.js.map +0 -1
  233. package/app-backend/modules/permissions-share.js +0 -27
  234. package/app-backend/modules/permissions-share.js.map +0 -1
  235. package/app-frontend/core/module-pack.d.ts +0 -8
  236. package/app-frontend/core/module-pack.js +0 -58
  237. package/app-frontend/core/module-pack.js.map +0 -1
  238. package/app-frontend/modules/PermissionsComponent.js +0 -23
  239. package/app-frontend/modules/PermissionsComponent.js.map +0 -1
  240. package/app-frontend/modules/PermissionsModuleFE.js +0 -92
  241. package/app-frontend/modules/PermissionsModuleFE.js.map +0 -1
  242. package/app-frontend/modules/assign/ApiCaller_PermissionsGroup.js +0 -55
  243. package/app-frontend/modules/assign/ApiCaller_PermissionsGroup.js.map +0 -1
  244. package/app-frontend/modules/assign/ApiCaller_PermissionsUser.js +0 -72
  245. package/app-frontend/modules/assign/ApiCaller_PermissionsUser.js.map +0 -1
  246. package/app-frontend/modules/manage/ApiCaller_PermissionsApi.js +0 -76
  247. package/app-frontend/modules/manage/ApiCaller_PermissionsApi.js.map +0 -1
  248. package/app-frontend/modules/manage/ApiCaller_PermissionsDomain.js +0 -83
  249. package/app-frontend/modules/manage/ApiCaller_PermissionsDomain.js.map +0 -1
  250. package/app-frontend/modules/manage/ApiCaller_PermissionsLevel.js +0 -83
  251. package/app-frontend/modules/manage/ApiCaller_PermissionsLevel.js.map +0 -1
  252. package/app-frontend/modules/manage/ApiCaller_PermissionsProject.js +0 -82
  253. package/app-frontend/modules/manage/ApiCaller_PermissionsProject.js.map +0 -1
  254. package/app-frontend/modules/tags/ApiCaller_PermissionsTags.js +0 -55
  255. package/app-frontend/modules/tags/ApiCaller_PermissionsTags.js.map +0 -1
  256. package/backend.d.ts +0 -1
  257. package/backend.js +0 -35
  258. package/backend.js.map +0 -1
  259. package/frontend.d.ts +0 -3
  260. package/frontend.js +0 -37
  261. package/frontend.js.map +0 -1
  262. package/index.d.ts +0 -3
  263. package/index.js +0 -37
  264. package/index.js.map +0 -1
  265. package/shared/apis.js.map +0 -1
@@ -1,288 +0,0 @@
1
- "use strict";
2
- /*
3
- * ts-common is the basic building blocks of our typescript projects
4
- *
5
- * Copyright (C) 2020 Intuition Robotics
6
- *
7
- * Licensed under the Apache License, Version 2.0 (the "License");
8
- * you may not use this file except in compliance with the License.
9
- * You may obtain a copy of the License at
10
- *
11
- * http://www.apache.org/licenses/LICENSE-2.0
12
- *
13
- * Unless required by applicable law or agreed to in writing, software
14
- * distributed under the License is distributed on an "AS IS" BASIS,
15
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- * See the License for the specific language governing permissions and
17
- * limitations under the License.
18
- */
19
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
20
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
21
- return new (P || (P = Promise))(function (resolve, reject) {
22
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
23
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
24
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
25
- step((generator = generator.apply(thisArg, _arguments || [])).next());
26
- });
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.UserPermissionsDB = exports.GroupPermissionsDB = exports.UsersDB_Class = exports.GroupsDB_Class = void 0;
30
- const _imports_1 = require("../_imports");
31
- const backend_1 = require("@intuitionrobotics/db-api-generator/backend");
32
- const backend_2 = require("@intuitionrobotics/user-account/backend");
33
- const backend_3 = require("@intuitionrobotics/thunderstorm/backend");
34
- const ts_common_1 = require("@intuitionrobotics/ts-common");
35
- const managment_1 = require("./managment");
36
- const permissions_share_1 = require("../permissions-share");
37
- const validateUserUuid = (0, ts_common_1.validateRegexp)(/^.{0,50}$/);
38
- const validateGroupLabel = (0, ts_common_1.validateRegexp)(/^[A-Za-z-\._ ]+$/);
39
- const validateCustomFieldValues = (0, ts_common_1.validateRegexp)(/^.{0,500}$/);
40
- function checkDuplicateLevelsDomain(levels) {
41
- const domainIds = levels.map(level => level.domainId);
42
- const filteredDomainIds = (0, ts_common_1.filterDuplicates)(domainIds);
43
- if (filteredDomainIds.length !== domainIds.length)
44
- throw new backend_3.ApiException(422, 'You trying insert duplicate accessLevel with the same domain');
45
- }
46
- class GroupsDB_Class extends backend_1.BaseDB_ApiGenerator {
47
- constructor() {
48
- super(_imports_1.CollectionName_Groups, GroupsDB_Class._validator, "group", "GroupsDB");
49
- this.setLockKeys(['__accessLevels']);
50
- }
51
- externalFilter(item) {
52
- const { label } = item;
53
- return { label };
54
- }
55
- internalFilter(item) {
56
- const { label } = item;
57
- return [{ label }];
58
- }
59
- assertDeletion(transaction, dbInstance) {
60
- return __awaiter(this, void 0, void 0, function* () {
61
- const groups = yield exports.UserPermissionsDB.collection.query({ where: { __groupIds: { $ac: dbInstance._id } } });
62
- if (groups.length) {
63
- throw new backend_3.ApiException(403, 'You trying delete group that associated with users, you need delete this group from users first');
64
- }
65
- });
66
- }
67
- setAccessLevels(dbInstance) {
68
- return __awaiter(this, void 0, void 0, function* () {
69
- dbInstance.__accessLevels = [];
70
- const accessLevelIds = dbInstance.accessLevelIds || [];
71
- if (accessLevelIds.length) {
72
- const groupLevels = yield (0, ts_common_1.batchAction)(accessLevelIds, 10, (chunked) => {
73
- return managment_1.AccessLevelPermissionsDB.query({ where: { _id: { $in: chunked } } });
74
- });
75
- checkDuplicateLevelsDomain(groupLevels);
76
- dbInstance.__accessLevels = groupLevels.map(level => {
77
- return { domainId: level.domainId, value: level.value };
78
- });
79
- }
80
- });
81
- }
82
- getGroupsByTags(tags) {
83
- return __awaiter(this, void 0, void 0, function* () {
84
- const groupsByTags = yield this.collection.query({ where: { tags: { $aca: tags } } });
85
- if (!groupsByTags)
86
- return [];
87
- return groupsByTags;
88
- });
89
- }
90
- deleteTags(tag) {
91
- return __awaiter(this, void 0, void 0, function* () {
92
- const groupsWithTags = yield this.collection.query({ where: { tags: { $aca: [tag] } } });
93
- if (!groupsWithTags)
94
- return;
95
- for (const _group of groupsWithTags) {
96
- if (!_group.tags)
97
- continue;
98
- (0, ts_common_1.removeItemFromArray)(_group.tags, tag);
99
- yield this.collection.upsert(_group);
100
- }
101
- });
102
- }
103
- preUpsertProcessing(transaction, dbInstance, request) {
104
- return __awaiter(this, void 0, void 0, function* () {
105
- var _a;
106
- if (request) {
107
- const account = yield backend_2.AccountModule.validateSession(request, []);
108
- dbInstance._audit = (0, ts_common_1.auditBy)(account.email);
109
- }
110
- if (!dbInstance.accessLevelIds)
111
- return;
112
- yield this.setAccessLevels(dbInstance);
113
- const filterAccessLevelIds = (0, ts_common_1.filterDuplicates)(dbInstance.accessLevelIds);
114
- if (filterAccessLevelIds.length !== ((_a = dbInstance.accessLevelIds) === null || _a === void 0 ? void 0 : _a.length))
115
- throw new backend_3.ApiException(422, 'You trying insert duplicate accessLevel id in group');
116
- });
117
- }
118
- getConfig() {
119
- return this.config;
120
- }
121
- getPredefinedGroupId(projectId, predefinedGroupId) {
122
- return `${projectId}--${predefinedGroupId}`;
123
- }
124
- upsertPredefinedGroups(projectId, projectName, predefinedGroups) {
125
- return this.runInTransaction((transaction) => __awaiter(this, void 0, void 0, function* () {
126
- const _groups = predefinedGroups.map(group => ({ _id: this.getPredefinedGroupId(projectId, group._id), label: `${projectName}--${group.key}-${group.label}` }));
127
- const dbGroups = (0, ts_common_1.filterInstances)(yield (0, ts_common_1.batchAction)(_groups.map(group => group._id), 10, (chunk) => {
128
- return transaction.query(this.collection, { where: { _id: { $in: chunk } } });
129
- }));
130
- //TODO patch the predefined groups, in case app changed the label of the group..
131
- const groupsToInsert = _groups.filter(group => !dbGroups.find(dbGroup => dbGroup._id === group._id));
132
- return this.upsertAll(groupsToInsert, transaction);
133
- }));
134
- }
135
- }
136
- exports.GroupsDB_Class = GroupsDB_Class;
137
- GroupsDB_Class._validator = {
138
- _id: backend_1.validateStringAndNumbersWithDashes,
139
- label: validateGroupLabel,
140
- tags: undefined,
141
- accessLevelIds: (0, ts_common_1.validateArray)(backend_1.validateUniqueId, false),
142
- customFields: (0, ts_common_1.validateArray)((0, ts_common_1.validateObjectValues)(validateCustomFieldValues), false),
143
- __accessLevels: undefined,
144
- _audit: undefined
145
- };
146
- class UsersDB_Class extends backend_1.BaseDB_ApiGenerator {
147
- constructor() {
148
- super(_imports_1.CollectionName_Users, UsersDB_Class._validator, "user", "UsersDB");
149
- this.setLockKeys(["accountId"]);
150
- }
151
- preUpsertProcessing(transaction, dbInstance, request) {
152
- return __awaiter(this, void 0, void 0, function* () {
153
- var _a;
154
- if (request) {
155
- const account = yield backend_2.AccountModule.validateSession(request, []);
156
- dbInstance._audit = (0, ts_common_1.auditBy)(account.email);
157
- }
158
- this.setGroupIds(dbInstance);
159
- const userGroupIds = (0, ts_common_1.filterDuplicates)(((_a = dbInstance.groups) === null || _a === void 0 ? void 0 : _a.map(group => group.groupId)) || []);
160
- if (!userGroupIds.length)
161
- return;
162
- const userGroups = yield (0, ts_common_1.batchAction)(userGroupIds, 10, (chunked) => {
163
- return exports.GroupPermissionsDB.query({ where: { _id: { $in: chunked } } });
164
- });
165
- if (userGroupIds.length !== userGroups.length) {
166
- throw new backend_3.ApiException(422, 'You trying upsert user with group that not found in group permissions db');
167
- }
168
- const userGroupsItems = dbInstance.groups || [];
169
- userGroupsItems.forEach((userGroupItem) => {
170
- userGroupsItems.forEach(innerUserGroupItem => {
171
- if (userGroupsItems.indexOf(userGroupItem) === userGroupsItems.indexOf(innerUserGroupItem))
172
- return;
173
- if ((0, ts_common_1.compare)(userGroupItem.groupId, innerUserGroupItem.groupId) && (0, ts_common_1.compare)(userGroupItem.customField || {}, innerUserGroupItem.customField || {})) {
174
- throw new backend_3.ApiException(422, 'You trying upsert user with duplicate UserGroup (with the same groupId && customField)');
175
- }
176
- });
177
- });
178
- });
179
- }
180
- internalFilter(item) {
181
- const { accountId } = item;
182
- return [{ accountId }];
183
- }
184
- setGroupIds(dbInstance) {
185
- dbInstance.__groupIds = [];
186
- const userGroups = dbInstance.groups || [];
187
- if (userGroups.length) {
188
- dbInstance.__groupIds = userGroups.map(userGroup => userGroup.groupId);
189
- }
190
- }
191
- __onUserLogin(account) {
192
- return __awaiter(this, void 0, void 0, function* () {
193
- yield this.insertIfNotExist(account.email);
194
- });
195
- }
196
- __onNewUserRegistered(account) {
197
- return __awaiter(this, void 0, void 0, function* () {
198
- yield this.insertIfNotExist(account.email);
199
- });
200
- }
201
- insertIfNotExist(email) {
202
- return __awaiter(this, void 0, void 0, function* () {
203
- return this.runInTransaction((transaction) => __awaiter(this, void 0, void 0, function* () {
204
- const account = yield backend_2.AccountModule.getUser(email);
205
- if (!account)
206
- throw new backend_3.ApiException(404, `user not found for email ${email}`);
207
- const users = yield transaction.query(this.collection, { where: { accountId: account._id } });
208
- if (users.length)
209
- return;
210
- return this.upsert({ accountId: account._id, groups: [] }, transaction);
211
- }));
212
- });
213
- }
214
- assignAppPermissions(assignAppPermissionsObj, request) {
215
- return __awaiter(this, void 0, void 0, function* () {
216
- const sharedUserIds = assignAppPermissionsObj.sharedUserIds || [];
217
- if (!sharedUserIds.length)
218
- throw new ts_common_1.BadImplementationException("SharedUserIds is missing");
219
- const groupId = exports.GroupPermissionsDB.getPredefinedGroupId(assignAppPermissionsObj.projectId, assignAppPermissionsObj.group._id);
220
- yield permissions_share_1.PermissionsShare.verifyPermissionGrantingAllowed(assignAppPermissionsObj.granterUserId, { groupId, customField: assignAppPermissionsObj.customField });
221
- if (!assignAppPermissionsObj.groupsToRemove.find(groupToRemove => groupToRemove._id === assignAppPermissionsObj.group._id))
222
- throw new ts_common_1.BadImplementationException("Group to must be a part of the groups to removed array");
223
- yield this.runInTransaction((transaction) => __awaiter(this, void 0, void 0, function* () {
224
- const users = yield (0, ts_common_1.batchAction)(sharedUserIds, 10, (chunked) => {
225
- return transaction.query(this.collection, { where: { accountId: { $in: chunked } } });
226
- });
227
- if (users.length !== sharedUserIds.length)
228
- throw new backend_3.ApiException(404, `No permissions USER for all user ids`); // TODO mention who miss?
229
- if (!assignAppPermissionsObj.customField)
230
- throw new backend_3.ApiException(400, `Cannot set app permissions '${assignAppPermissionsObj.projectId}--${assignAppPermissionsObj.group._id}', request must have custom fields restriction!!`);
231
- const _group = yield transaction.queryUnique(exports.GroupPermissionsDB.collection, { where: { _id: groupId } });
232
- if (!_group)
233
- throw new backend_3.ApiException(404, `No permissions GROUP for id ${groupId}`);
234
- const updatedUsers = users.map(user => {
235
- var _a;
236
- const newGroups = (_a = (user.groups || [])) === null || _a === void 0 ? void 0 : _a.filter(group => !assignAppPermissionsObj.groupsToRemove.find(groupToRemove => {
237
- if (exports.GroupPermissionsDB.getPredefinedGroupId(assignAppPermissionsObj.projectId, groupToRemove._id) !== group.groupId)
238
- return false;
239
- return (0, ts_common_1.compare)(group.customField, assignAppPermissionsObj.customField, assignAppPermissionsObj.assertKeys);
240
- }));
241
- if (!newGroups.find(nGroup => nGroup.groupId === _group._id && (0, ts_common_1.compare)(nGroup.customField, assignAppPermissionsObj.customField))) {
242
- newGroups.push({ groupId: _group._id, customField: assignAppPermissionsObj.customField });
243
- }
244
- user.groups = newGroups;
245
- return user;
246
- });
247
- return this.upsertAll(updatedUsers, transaction, request);
248
- }));
249
- });
250
- }
251
- patch(instance, propsToPatch, request) {
252
- return __awaiter(this, void 0, void 0, function* () {
253
- return this.collection.runInTransaction((transaction) => __awaiter(this, void 0, void 0, function* () {
254
- var _a;
255
- const dbInstance = yield this.assertExternalQueryUnique(instance, transaction);
256
- // If the caller has specified props to be changed, make sure the don't conflict with the lockKeys.
257
- const wrongKey = propsToPatch === null || propsToPatch === void 0 ? void 0 : propsToPatch.find(prop => this.config.lockKeys.includes(prop));
258
- if (wrongKey)
259
- throw new ts_common_1.BadImplementationException(`Key ${wrongKey} is part of the 'lockKeys' and cannot be updated.`);
260
- // If the caller has not specified props, we remove the keys from the caller's instance
261
- // before merging with the original dbInstance.
262
- (0, ts_common_1._keys)(instance).forEach(key => {
263
- if (this.config.lockKeys.includes(key) || (propsToPatch && !propsToPatch.includes(key))) {
264
- delete instance[key];
265
- }
266
- });
267
- if (instance.groups && instance.groups.length < (((_a = dbInstance.groups) === null || _a === void 0 ? void 0 : _a.length) || 0)) {
268
- yield backend_2.AccountModule.logoutAccount(dbInstance.accountId);
269
- }
270
- const mergedObject = (0, ts_common_1.merge)(dbInstance, instance);
271
- yield (0, ts_common_1.validate)(mergedObject, this.validator);
272
- yield this.assertUniqueness(transaction, mergedObject, request);
273
- return this.upsertImpl(transaction, mergedObject, request);
274
- }));
275
- });
276
- }
277
- }
278
- exports.UsersDB_Class = UsersDB_Class;
279
- UsersDB_Class._validator = {
280
- _id: undefined,
281
- accountId: validateUserUuid,
282
- groups: (0, ts_common_1.validateArray)({ groupId: backend_1.validateStringAndNumbersWithDashes, customField: (0, ts_common_1.validateObjectValues)(validateCustomFieldValues, false) }, false),
283
- __groupIds: (0, ts_common_1.validateArray)(backend_1.validateStringAndNumbersWithDashes, false),
284
- _audit: undefined
285
- };
286
- exports.GroupPermissionsDB = new GroupsDB_Class();
287
- exports.UserPermissionsDB = new UsersDB_Class();
288
- //# sourceMappingURL=assign.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"assign.js","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/db-types/assign.ts"],"names":[],"mappings":"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"}
@@ -1,242 +0,0 @@
1
- "use strict";
2
- /*
3
- * ts-common is the basic building blocks of our typescript projects
4
- *
5
- * Copyright (C) 2020 Intuition Robotics
6
- *
7
- * Licensed under the Apache License, Version 2.0 (the "License");
8
- * you may not use this file except in compliance with the License.
9
- * You may obtain a copy of the License at
10
- *
11
- * http://www.apache.org/licenses/LICENSE-2.0
12
- *
13
- * Unless required by applicable law or agreed to in writing, software
14
- * distributed under the License is distributed on an "AS IS" BASIS,
15
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- * See the License for the specific language governing permissions and
17
- * limitations under the License.
18
- */
19
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
20
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
21
- return new (P || (P = Promise))(function (resolve, reject) {
22
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
23
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
24
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
25
- step((generator = generator.apply(thisArg, _arguments || [])).next());
26
- });
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.ApiPermissionsDB = exports.AccessLevelPermissionsDB = exports.DomainPermissionsDB = exports.ProjectPermissionsDB = exports.ApiDB_Class = exports.LevelDB_Class = exports.DomainDB_Class = exports.ProjectDB_Class = exports.validateStringWithDashesAndSlash = exports.validateProjectName = void 0;
30
- const backend_1 = require("@intuitionrobotics/db-api-generator/backend");
31
- const _imports_1 = require("../_imports");
32
- const ts_common_1 = require("@intuitionrobotics/ts-common");
33
- const assign_1 = require("./assign");
34
- const exceptions_1 = require("@intuitionrobotics/thunderstorm/app-backend/exceptions");
35
- const AccountModule_1 = require("@intuitionrobotics/user-account/app-backend/modules/AccountModule");
36
- const validateProjectId = (0, ts_common_1.validateRegexp)(/^[a-z-]{3,20}$/);
37
- exports.validateProjectName = (0, ts_common_1.validateRegexp)(/^[A-Za-z- ]{3,20}$/);
38
- exports.validateStringWithDashesAndSlash = (0, ts_common_1.validateRegexp)(/^[0-9A-Za-z-:/]+$/);
39
- class ProjectDB_Class extends backend_1.BaseDB_ApiGenerator {
40
- constructor() {
41
- super(_imports_1.CollectionName_Projects, ProjectDB_Class._validator, "project", "ProjectDB");
42
- }
43
- preUpsertProcessing(transaction, dbInstance, request) {
44
- return __awaiter(this, void 0, void 0, function* () {
45
- if (request) {
46
- const account = yield AccountModule_1.AccountModule.validateSession(request, []);
47
- dbInstance._audit = (0, ts_common_1.auditBy)(account.email);
48
- }
49
- });
50
- }
51
- apis(pathPart) {
52
- return [
53
- // new ServerApi_Delete(this, pathPart),
54
- new backend_1.ServerApi_Query(this, pathPart),
55
- new backend_1.ServerApi_Unique(this, pathPart),
56
- ];
57
- }
58
- }
59
- exports.ProjectDB_Class = ProjectDB_Class;
60
- ProjectDB_Class._validator = {
61
- _id: validateProjectId,
62
- name: exports.validateProjectName,
63
- customKeys: undefined,
64
- _audit: undefined
65
- };
66
- class DomainDB_Class extends backend_1.BaseDB_ApiGenerator {
67
- constructor() {
68
- super(_imports_1.CollectionName_Domain, DomainDB_Class._validator, "domain", "DomainDB");
69
- this.setLockKeys(['projectId']);
70
- }
71
- assertDeletion(transaction, dbInstance) {
72
- return __awaiter(this, void 0, void 0, function* () {
73
- const accessLevels = yield exports.AccessLevelPermissionsDB.query({ where: { domainId: dbInstance._id } });
74
- if (accessLevels.length) {
75
- throw new exceptions_1.ApiException(403, 'You trying delete domain that associated with accessLevels, you need delete the accessLevels first');
76
- }
77
- });
78
- }
79
- preUpsertProcessing(transaction, dbInstance, request) {
80
- return __awaiter(this, void 0, void 0, function* () {
81
- yield exports.ProjectPermissionsDB.queryUnique({ _id: dbInstance.projectId });
82
- if (request) {
83
- const account = yield AccountModule_1.AccountModule.validateSession(request, []);
84
- dbInstance._audit = (0, ts_common_1.auditBy)(account.email);
85
- }
86
- });
87
- }
88
- }
89
- exports.DomainDB_Class = DomainDB_Class;
90
- DomainDB_Class._validator = {
91
- _id: backend_1.validateOptionalId,
92
- projectId: validateProjectId,
93
- namespace: backend_1.validateNameWithDashesAndDots,
94
- _audit: undefined
95
- };
96
- class LevelDB_Class extends backend_1.BaseDB_ApiGenerator {
97
- constructor() {
98
- super(_imports_1.CollectionName_Level, LevelDB_Class._validator, "level", "LevelDB");
99
- this.setLockKeys(['domainId']);
100
- }
101
- internalFilter(item) {
102
- const { domainId, name, value } = item;
103
- return [{ domainId, name }, { domainId, value }];
104
- }
105
- preUpsertProcessing(transaction, dbInstance, request) {
106
- return __awaiter(this, void 0, void 0, function* () {
107
- yield exports.DomainPermissionsDB.queryUnique({ _id: dbInstance.domainId });
108
- if (request) {
109
- const account = yield AccountModule_1.AccountModule.validateSession(request, []);
110
- dbInstance._audit = (0, ts_common_1.auditBy)(account.email);
111
- }
112
- });
113
- }
114
- upsertImpl_Read(transaction, dbInstance, request) {
115
- const _super = Object.create(null, {
116
- upsertImpl_Read: { get: () => super.upsertImpl_Read }
117
- });
118
- return __awaiter(this, void 0, void 0, function* () {
119
- const existDbLevel = yield transaction.queryUnique(this.collection, { where: { _id: dbInstance._id } });
120
- const groups = yield assign_1.GroupPermissionsDB.query({ where: { accessLevelIds: { $ac: dbInstance._id } } });
121
- const returnWrite = yield _super.upsertImpl_Read.call(this, transaction, dbInstance, request);
122
- if (existDbLevel) {
123
- const callbackfn = (group) => {
124
- var _a, _b;
125
- const index = (_a = group.accessLevelIds) === null || _a === void 0 ? void 0 : _a.indexOf(dbInstance._id);
126
- if (index === undefined)
127
- throw new ts_common_1.MUSTNeverHappenException("Query said it does exists!!");
128
- const accessLevel = (_b = group.__accessLevels) === null || _b === void 0 ? void 0 : _b[index];
129
- if (accessLevel === undefined)
130
- throw new ts_common_1.MUSTNeverHappenException("Query said it does exists!!");
131
- accessLevel.value = dbInstance.value;
132
- };
133
- const asyncs = [];
134
- asyncs.push(...groups.map((group) => __awaiter(this, void 0, void 0, function* () {
135
- yield assign_1.GroupPermissionsDB.validateImpl(group);
136
- yield assign_1.GroupPermissionsDB.assertUniqueness(transaction, group);
137
- callbackfn(group);
138
- })));
139
- const upsertGroups = yield transaction.upsertAll_Read(assign_1.GroupPermissionsDB.collection, groups);
140
- yield Promise.all(asyncs);
141
- // --- writes part
142
- upsertGroups();
143
- }
144
- return returnWrite;
145
- });
146
- }
147
- assertDeletion(transaction, dbInstance) {
148
- return __awaiter(this, void 0, void 0, function* () {
149
- const groups = yield assign_1.GroupPermissionsDB.query({ where: { accessLevelIds: { $ac: dbInstance._id } } });
150
- const apis = yield exports.ApiPermissionsDB.query({ where: { accessLevelIds: { $ac: dbInstance._id } } });
151
- if (groups.length || apis.length)
152
- throw new exceptions_1.ApiException(403, 'You trying delete access level that associated with users/groups/apis, you need delete the associations first');
153
- });
154
- }
155
- setUpdatedLevel(dbLevel, units) {
156
- units.forEach(unit => {
157
- var _a;
158
- let hasGroupDomainLevel = false;
159
- const updatedLevels = ((_a = unit.__accessLevels) === null || _a === void 0 ? void 0 : _a.map(level => {
160
- if (level.domainId === dbLevel.domainId) {
161
- level.value = dbLevel.value;
162
- hasGroupDomainLevel = true;
163
- }
164
- return level;
165
- })) || [];
166
- if (!hasGroupDomainLevel) {
167
- updatedLevels.push({ domainId: dbLevel.domainId, value: dbLevel.value });
168
- }
169
- unit.__accessLevels = updatedLevels;
170
- });
171
- }
172
- }
173
- exports.LevelDB_Class = LevelDB_Class;
174
- LevelDB_Class._validator = {
175
- _id: backend_1.validateOptionalId,
176
- domainId: backend_1.validateUniqueId,
177
- name: backend_1.validateStringWithDashes,
178
- value: (0, ts_common_1.validateRange)([[0, 1000]]),
179
- _audit: undefined
180
- };
181
- class ApiDB_Class extends backend_1.BaseDB_ApiGenerator {
182
- constructor() {
183
- super(_imports_1.CollectionName_Api, ApiDB_Class._validator, "api", "ApiDB");
184
- this.setLockKeys(['projectId', "path"]);
185
- }
186
- externalFilter(item) {
187
- const { projectId, path } = item;
188
- return { projectId, path };
189
- }
190
- internalFilter(item) {
191
- const { projectId, path } = item;
192
- return [{ projectId, path }];
193
- }
194
- preUpsertProcessing(transaction, dbInstance, request) {
195
- return __awaiter(this, void 0, void 0, function* () {
196
- if (request) {
197
- const account = yield AccountModule_1.AccountModule.validateSession(request, []);
198
- dbInstance._audit = (0, ts_common_1.auditBy)(account.email);
199
- }
200
- yield exports.ProjectPermissionsDB.queryUnique({ _id: dbInstance.projectId });
201
- // need to assert that all the permissions levels exists in the db
202
- const _permissionsIds = dbInstance.accessLevelIds;
203
- if (!_permissionsIds || _permissionsIds.length <= 0)
204
- return;
205
- const permissionsIds = (0, ts_common_1.filterDuplicates)(_permissionsIds);
206
- yield Promise.all(permissionsIds.map(id => exports.AccessLevelPermissionsDB.queryUnique({ _id: id })));
207
- dbInstance.accessLevelIds = permissionsIds;
208
- });
209
- }
210
- registerApis(projectId, routes) {
211
- return this.runInTransaction((transaction) => __awaiter(this, void 0, void 0, function* () {
212
- const existingProjectApis = yield exports.ApiPermissionsDB.query({ where: { projectId: projectId } });
213
- const apisToAdd = routes
214
- .filter(path => !existingProjectApis.find(api => api.path === path))
215
- .map(path => ({ path, projectId: projectId }));
216
- return this.upsertAll(apisToAdd, transaction);
217
- }));
218
- }
219
- apis(pathPart) {
220
- return [
221
- new backend_1.ServerApi_Delete(this, pathPart),
222
- new backend_1.ServerApi_Query(this, pathPart),
223
- new backend_1.ServerApi_Unique(this, pathPart),
224
- new backend_1.ServerApi_Update(this, pathPart),
225
- ];
226
- }
227
- }
228
- exports.ApiDB_Class = ApiDB_Class;
229
- ApiDB_Class._validator = {
230
- _id: backend_1.validateOptionalId,
231
- projectId: validateProjectId,
232
- path: exports.validateStringWithDashesAndSlash,
233
- accessLevelIds: (0, ts_common_1.validateArray)(backend_1.validateUniqueId, false),
234
- _audit: undefined,
235
- deprecated: undefined,
236
- onlyForApplication: undefined
237
- };
238
- exports.ProjectPermissionsDB = new ProjectDB_Class();
239
- exports.DomainPermissionsDB = new DomainDB_Class();
240
- exports.AccessLevelPermissionsDB = new LevelDB_Class();
241
- exports.ApiPermissionsDB = new ApiDB_Class();
242
- //# sourceMappingURL=managment.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"managment.js","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/db-types/managment.ts"],"names":[],"mappings":"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"}