@intuitionrobotics/permissions 0.47.59 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_user-custom-fields.d.ts","sourceRoot":"","sources":["../../../../../src/main/app-backend/api/v1/user-custom-fields/_user-custom-fields.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAC,aAAa,EAAC,MAAM,yCAAyC,CAAC;;AAEtE,wBAAkD"}
@@ -0,0 +1,20 @@
1
+ /*
2
+ * ts-common is the basic building blocks of our typescript projects
3
+ *
4
+ * Copyright (C) 2020 Intuition Robotics
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ */
18
+ import { RouteResolver } from "@intuitionrobotics/thunderstorm/backend";
19
+ export default new RouteResolver(import.meta.url);
20
+ //# sourceMappingURL=_user-custom-fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_user-custom-fields.js","sourceRoot":"","sources":["../../../../../src/main/app-backend/api/v1/user-custom-fields/_user-custom-fields.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,aAAa,EAAC,MAAM,yCAAyC,CAAC;AAEtE,eAAe,IAAI,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { ApiResponse, type ExpressRequest, ServerApi } from "@intuitionrobotics/thunderstorm/backend";
2
+ import { type PermissionsApi_UserCFsByShareGroups, type Request_UserCFsByShareGroups } from "../permissions/_imports.js";
3
+ export declare class ServerApi_UserCFsByShareGroups extends ServerApi<PermissionsApi_UserCFsByShareGroups> {
4
+ constructor();
5
+ protected process(request: ExpressRequest, response: ApiResponse, queryParams: {}, body: Request_UserCFsByShareGroups): Promise<import("@intuitionrobotics/ts-common").StringMap[]>;
6
+ }
7
+ declare const _default: ServerApi_UserCFsByShareGroups;
8
+ export default _default;
9
+ //# sourceMappingURL=user-cf-by-share-groups.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-cf-by-share-groups.d.ts","sourceRoot":"","sources":["../../../../../src/main/app-backend/api/v1/user-custom-fields/user-cf-by-share-groups.ts"],"names":[],"mappings":"AACA,OAAO,EACN,WAAW,EACX,KAAK,cAAc,EACnB,SAAS,EACT,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACN,KAAK,mCAAmC,EACxC,KAAK,4BAA4B,EACjC,MAAM,4BAA4B,CAAC;AAKpC,qBAAa,8BACZ,SAAQ,SAAS,CAAC,mCAAmC,CAAC;;cAOtC,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,4BAA4B;CAI3H;;AAED,wBAAoD"}
@@ -0,0 +1,17 @@
1
+ import { ApiResponse, ServerApi } from "@intuitionrobotics/thunderstorm/backend";
2
+ import {} from "../permissions/_imports.js";
3
+ import { HttpMethod } from "@intuitionrobotics/thunderstorm";
4
+ import { AccountModule } from "@intuitionrobotics/user-account/backend";
5
+ import { PermissionsModule } from "../../../modules/PermissionsModule.js";
6
+ export class ServerApi_UserCFsByShareGroups extends ServerApi {
7
+ constructor() {
8
+ super(HttpMethod.POST, "user-cf-by-share-groups");
9
+ this.dontPrintResponse();
10
+ }
11
+ async process(request, response, queryParams, body) {
12
+ const account = await AccountModule.validateSession(request, this.getScopes(), response);
13
+ return PermissionsModule.getUserCFsByShareGroups(account._id, body.groupsIds);
14
+ }
15
+ }
16
+ export default new ServerApi_UserCFsByShareGroups();
17
+ //# sourceMappingURL=user-cf-by-share-groups.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-cf-by-share-groups.js","sourceRoot":"","sources":["../../../../../src/main/app-backend/api/v1/user-custom-fields/user-cf-by-share-groups.ts"],"names":[],"mappings":"AACA,OAAO,EACN,WAAW,EAEX,SAAS,EACT,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAGN,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAC,UAAU,EAAC,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAC,aAAa,EAAC,MAAM,yCAAyC,CAAC;AACtE,OAAO,EAAC,iBAAiB,EAAC,MAAM,uCAAuC,CAAC;AAExE,MAAM,OAAO,8BACZ,SAAQ,SAA8C;IAEtD;QACC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC;QAClD,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC1B,CAAC;IAES,KAAK,CAAC,OAAO,CAAC,OAAuB,EAAE,QAAqB,EAAE,WAAe,EAAE,IAAkC;QAC1H,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,QAAQ,CAAC,CAAC;QACzF,OAAO,iBAAiB,CAAC,uBAAuB,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/E,CAAC;CACD;AAED,eAAe,IAAI,8BAA8B,EAAE,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { ApiResponse, type ExpressRequest, ServerApi } from "@intuitionrobotics/thunderstorm/backend";
2
+ import { type PermissionsApi_UsersCFsByShareGroups, type Request_UsersCFsByShareGroups } from "../permissions/_imports.js";
3
+ export declare class ServerApi_UsersCFsByShareGroups extends ServerApi<PermissionsApi_UsersCFsByShareGroups> {
4
+ constructor();
5
+ protected process(request: ExpressRequest, response: ApiResponse, queryParams: {}, body: Request_UsersCFsByShareGroups): Promise<import("../permissions/_imports.js").Response_UsersCFsByShareGroups>;
6
+ }
7
+ declare const _default: ServerApi_UsersCFsByShareGroups;
8
+ export default _default;
9
+ //# sourceMappingURL=users-cf-by-share-groups.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users-cf-by-share-groups.d.ts","sourceRoot":"","sources":["../../../../../src/main/app-backend/api/v1/user-custom-fields/users-cf-by-share-groups.ts"],"names":[],"mappings":"AACA,OAAO,EACN,WAAW,EACX,KAAK,cAAc,EACnB,SAAS,EAET,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACN,KAAK,oCAAoC,EACzC,KAAK,6BAA6B,EAElC,MAAM,4BAA4B,CAAC;AAGpC,qBAAa,+BACZ,SAAQ,SAAS,CAAC,oCAAoC,CAAC;;cAQvC,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,6BAA6B;CAG5H;;AAED,wBAAqD"}
@@ -0,0 +1,15 @@
1
+ import { ApiResponse, ServerApi, RemoteProxy } from "@intuitionrobotics/thunderstorm/backend";
2
+ import { PermissionsModule } from "../permissions/_imports.js";
3
+ import { HttpMethod } from "@intuitionrobotics/thunderstorm";
4
+ export class ServerApi_UsersCFsByShareGroups extends ServerApi {
5
+ constructor() {
6
+ super(HttpMethod.POST, "users-cf-by-share-groups");
7
+ this.dontPrintResponse();
8
+ this.setMiddlewares(RemoteProxy.Middleware);
9
+ }
10
+ async process(request, response, queryParams, body) {
11
+ return PermissionsModule.getUsersCFsByShareGroups(body.usersEmails, body.groupsIds);
12
+ }
13
+ }
14
+ export default new ServerApi_UsersCFsByShareGroups();
15
+ //# sourceMappingURL=users-cf-by-share-groups.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users-cf-by-share-groups.js","sourceRoot":"","sources":["../../../../../src/main/app-backend/api/v1/user-custom-fields/users-cf-by-share-groups.ts"],"names":[],"mappings":"AACA,OAAO,EACN,WAAW,EAEX,SAAS,EACT,WAAW,EACX,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAGN,iBAAiB,EACjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAC,UAAU,EAAC,MAAM,iCAAiC,CAAC;AAE3D,MAAM,OAAO,+BACZ,SAAQ,SAA+C;IAEvD;QACC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC;QACnD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;IAES,KAAK,CAAC,OAAO,CAAC,OAAuB,EAAE,QAAqB,EAAE,WAAe,EAAE,IAAmC;QAC3H,OAAO,iBAAiB,CAAC,wBAAwB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACrF,CAAC;CACD;AAED,eAAe,IAAI,+BAA+B,EAAE,CAAC"}
@@ -1 +1,2 @@
1
1
  export declare function testUserPermissionsTime(): Promise<void>;
2
+ //# sourceMappingURL=permission-user-assert-benchmark.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permission-user-assert-benchmark.d.ts","sourceRoot":"","sources":["../../../src/main/app-backend/benchmark/permission-user-assert-benchmark.ts"],"names":[],"mappings":"AAkDA,wBAAsB,uBAAuB,kBA2D5C"}
@@ -0,0 +1,92 @@
1
+ /*
2
+ * ts-common is the basic building blocks of our typescript projects
3
+ *
4
+ * Copyright (C) 2020 Intuition Robotics
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ */
18
+ import { generateHex, currentTimeMillies } from "@intuitionrobotics/ts-common";
19
+ import { AccessLevelPermissionsDB, ApiPermissionsDB, DomainPermissionsDB, ProjectPermissionsDB } from "../modules/db-types/managment.js";
20
+ import { GroupPermissionsDB, UserPermissionsDB } from "../modules/db-types/assign.js";
21
+ import { PermissionsAssert } from "../modules/permissions-assert.js";
22
+ import {} from "../../index.js";
23
+ import { FirestoreTransaction } from "@intuitionrobotics/firebase/backend";
24
+ function makeAlphaBetIdForTestOnly(length) {
25
+ let result = '';
26
+ const characters = `abcdefghijklmnopqrstuvwxyz`;
27
+ const charactersLength = characters.length;
28
+ for (let i = 0; i < length; i++) {
29
+ result += characters.charAt(Math.floor(Math.random() * charactersLength));
30
+ }
31
+ return result;
32
+ }
33
+ export async function testUserPermissionsTime() {
34
+ console.log("---￿Inside of permissions test---");
35
+ const projectId = 'project-test-ten';
36
+ const apiId = generateHex(32);
37
+ const userId = generateHex(32);
38
+ const apiPath = '/v1/test/test-it10';
39
+ const userUuid = 'test10@intuitionrobotics.com';
40
+ const permissionId = generateHex(32);
41
+ const domainId = generateHex(32);
42
+ const permissionValue = 50;
43
+ const customField = { UnitId: 'eq1' };
44
+ await ProjectPermissionsDB.upsert({ _id: projectId, name: 'project test' });
45
+ await DomainPermissionsDB.upsert({ _id: domainId, projectId: projectId, namespace: 'domain-test' });
46
+ const accessLevel = await AccessLevelPermissionsDB.upsert({ _id: permissionId, name: 'test-permission', domainId, value: permissionValue });
47
+ await ApiPermissionsDB.upsert({ projectId: projectId, _id: apiId, path: apiPath, accessLevelIds: [permissionId] });
48
+ const groupIdArray = [];
49
+ const dbInstances = [];
50
+ for (let counter = 0; counter < 100; counter++) {
51
+ const groupId = generateHex(32);
52
+ const baseAccessLevel = { domainId: accessLevel.domainId, value: accessLevel.value };
53
+ dbInstances.push({
54
+ _id: groupId,
55
+ accessLevelIds: [accessLevel._id],
56
+ __accessLevels: [baseAccessLevel],
57
+ customFields: [customField],
58
+ label: `group-${makeAlphaBetIdForTestOnly(5)}`
59
+ });
60
+ groupIdArray.push({ groupId, customField: { test: "test" } });
61
+ }
62
+ console.log('dbInstances ready to upsert');
63
+ const collection = GroupPermissionsDB.collection;
64
+ await collection.runInTransaction(async (transaction) => {
65
+ await Promise.all(dbInstances.map(dbInstance => GroupPermissionsDB.assertUniqueness(transaction, dbInstance)));
66
+ return transaction.upsertAll(collection, dbInstances);
67
+ });
68
+ await UserPermissionsDB.upsert({ _id: userId, accountId: userUuid, groups: groupIdArray });
69
+ const tests = new Array().fill(0, 0, 50);
70
+ const durations = await Promise.all(tests.map(_test => runAssertion(projectId, apiPath, userUuid, customField)));
71
+ const sum = durations.reduce((_sum, val) => _sum + val, 0);
72
+ console.log(`Call to assertion on ${tests.length} call took on agerage ${sum / tests.length}ms`);
73
+ // ----deletes db documents---
74
+ await UserPermissionsDB.delete({ where: { _id: userId } });
75
+ for (let counter = 0; counter < 10; counter++) {
76
+ const startIndex = counter * 10;
77
+ const subDbInstances = dbInstances.slice(startIndex, startIndex + 10);
78
+ await GroupPermissionsDB.delete({ where: { _id: { $in: subDbInstances.map(e => e._id) } } });
79
+ }
80
+ await AccessLevelPermissionsDB.delete({ where: { _id: permissionId } });
81
+ await DomainPermissionsDB.delete({ where: { _id: domainId } });
82
+ await ApiPermissionsDB.delete({ where: { _id: apiId } });
83
+ await ProjectPermissionsDB.delete({ where: { _id: projectId } });
84
+ }
85
+ async function runAssertion(projectId, apiPath, userUuid, customField) {
86
+ const start = currentTimeMillies();
87
+ await PermissionsAssert.assertUserPermissions(projectId, apiPath, userUuid, customField);
88
+ const runTime = currentTimeMillies() - start;
89
+ console.log(`Call to assertion took ${runTime}ms`);
90
+ return runTime;
91
+ }
92
+ //# sourceMappingURL=permission-user-assert-benchmark.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permission-user-assert-benchmark.js","sourceRoot":"","sources":["../../../src/main/app-backend/benchmark/permission-user-assert-benchmark.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export declare const Backend_ModulePack_Permissions: (import("../modules/PermissionsModule.js").PermissionsModule_Class | import("../modules/permissions-assert.js").PermissionsAssert_Class | import("../modules/db-types/managment.js").ApiDB_Class | import("../modules/db-types/assign.js").UsersDB_Class | import("../modules/db-types/managment.js").ProjectDB_Class | import("../modules/db-types/assign.js").GroupsDB_Class | import("../modules/db-types/managment.js").LevelDB_Class | import("../modules/db-types/managment.js").DomainDB_Class | import("../modules/TagsModule.js").TagsDB_Class)[];
2
+ export * from "../modules/db-types/managment.js";
3
+ export * from "../modules/db-types/assign.js";
4
+ export * from "../modules/permissions-assert.js";
5
+ export * from "../modules/PermissionsModule.js";
6
+ export * from "../modules/TagsModule.js";
7
+ //# sourceMappingURL=module-pack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-pack.d.ts","sourceRoot":"","sources":["../../../src/main/app-backend/core/module-pack.ts"],"names":[],"mappings":"AAgCA,eAAO,MAAM,8BAA8B,4hBAU1C,CAAC;AAEF,cAAc,kCAAkC,CAAA;AAChD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,kCAAkC,CAAA;AAChD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,0BAA0B,CAAA"}
@@ -0,0 +1,39 @@
1
+ /*
2
+ * ts-common is the basic building blocks of our typescript projects
3
+ *
4
+ * Copyright (C) 2020 Intuition Robotics
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ */
18
+ import { AccessLevelPermissionsDB, ApiPermissionsDB, DomainPermissionsDB, ProjectPermissionsDB } from "../modules/db-types/managment.js";
19
+ import { GroupPermissionsDB, UserPermissionsDB } from "../modules/db-types/assign.js";
20
+ import { PermissionsAssert } from "../modules/permissions-assert.js";
21
+ import { PermissionsModule } from "../modules/PermissionsModule.js";
22
+ import { TagsDB } from "../modules/TagsModule.js";
23
+ export const Backend_ModulePack_Permissions = [
24
+ ProjectPermissionsDB,
25
+ DomainPermissionsDB,
26
+ AccessLevelPermissionsDB,
27
+ ApiPermissionsDB,
28
+ GroupPermissionsDB,
29
+ UserPermissionsDB,
30
+ PermissionsAssert,
31
+ PermissionsModule,
32
+ TagsDB
33
+ ];
34
+ export * from "../modules/db-types/managment.js";
35
+ export * from "../modules/db-types/assign.js";
36
+ export * from "../modules/permissions-assert.js";
37
+ export * from "../modules/PermissionsModule.js";
38
+ export * from "../modules/TagsModule.js";
39
+ //# sourceMappingURL=module-pack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-pack.js","sourceRoot":"","sources":["../../../src/main/app-backend/core/module-pack.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EACN,wBAAwB,EACxB,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACN,kBAAkB,EAClB,iBAAiB,EACjB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAC,iBAAiB,EAAC,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAC,iBAAiB,EAAC,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAC,MAAM,EAAC,MAAM,0BAA0B,CAAC;AAEhD,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC7C,oBAAoB;IACpB,mBAAmB;IACnB,wBAAwB;IACxB,gBAAgB;IAChB,kBAAkB;IAClB,iBAAiB;IACjB,iBAAiB;IACjB,iBAAiB;IACjB,MAAM;CACN,CAAC;AAEF,cAAc,kCAAkC,CAAA;AAChD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,kCAAkC,CAAA;AAChD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,0BAA0B,CAAA"}
@@ -1,5 +1,5 @@
1
- import { Module, StringMap } from "@intuitionrobotics/ts-common";
2
- import { DB_PermissionProject, PredefinedGroup, PredefinedUser, Request_RegisterProject, Response_UsersCFsByShareGroups, UserUrlsPermissions } from "./_imports";
1
+ import { Module, type StringMap } from "@intuitionrobotics/ts-common";
2
+ import { type DB_PermissionProject, type PredefinedGroup, type PredefinedUser, type Request_RegisterProject, type Response_UsersCFsByShareGroups, type UserUrlsPermissions } from "./_imports.js";
3
3
  type Config = {
4
4
  project: DB_PermissionProject;
5
5
  predefinedGroups?: PredefinedGroup[];
@@ -18,3 +18,4 @@ export declare class PermissionsModule_Class extends Module<Config> {
18
18
  }
19
19
  export declare const PermissionsModule: PermissionsModule_Class;
20
20
  export {};
21
+ //# sourceMappingURL=PermissionsModule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PermissionsModule.d.ts","sourceRoot":"","sources":["../../../src/main/app-backend/modules/PermissionsModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkE,MAAM,EAAE,KAAK,SAAS,EAAC,MAAM,8BAA8B,CAAC;AACrI,OAAO,EACH,KAAK,oBAAoB,EAEzB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,uBAAuB,EAC5B,KAAK,8BAA8B,EACnC,KAAK,mBAAmB,EAC3B,MAAM,eAAe,CAAC;AAOvB,KAAK,MAAM,GAAG;IACV,OAAO,EAAE,oBAAoB,CAAA;IAC7B,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;IACrC,cAAc,CAAC,EAAE,cAAc,CAAA;CAClC,CAAA;AAED,qBAAa,uBACT,SAAQ,MAAM,CAAC,MAAM,CAAC;;IAMtB,SAAS,CAAC,IAAI,IAAI,IAAI;IAKtB,kBAAkB,6BAA6B;IAEzC,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,SAAS;IAyBrH,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,8BAA8B,CAAC;IA4B7G,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAKxF,OAAO,CAAC,eAAe;IAgBjB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE;IAWhC,gBAAgB,CAAC,eAAe,EAAE,uBAAuB;CAgClE;AAED,eAAO,MAAM,iBAAiB,yBAAgC,CAAC"}
@@ -0,0 +1,119 @@
1
+ import { arrayToMap, batchActionParallel, ImplementationMissingException, Module } from "@intuitionrobotics/ts-common";
2
+ import {} from "./_imports.js";
3
+ import { PermissionsAssert } from "./permissions-assert.js";
4
+ import { ApiPermissionsDB, ProjectPermissionsDB } from "./db-types/managment.js";
5
+ import { GroupPermissionsDB, UserPermissionsDB } from "./db-types/assign.js";
6
+ import { AccountModule } from "@intuitionrobotics/user-account/backend";
7
+ import {} from "@intuitionrobotics/user-account/shared/api";
8
+ export class PermissionsModule_Class extends Module {
9
+ constructor() {
10
+ super("PermissionsModule");
11
+ }
12
+ init() {
13
+ if (!this.config)
14
+ throw new ImplementationMissingException("MUST set config with project identity!!");
15
+ }
16
+ getProjectIdentity = () => this.config.project;
17
+ async getUserUrlsPermissions(projectId, urlsMap, userId, requestCustomField) {
18
+ const urls = Object.keys(urlsMap);
19
+ const [userDetails, apiDetails] = await Promise.all([
20
+ PermissionsAssert.getUserDetails(userId),
21
+ PermissionsAssert.getApisDetails(urls, projectId)
22
+ ]);
23
+ return urls.reduce((userUrlsPermissions, url, i) => {
24
+ const apiDetail = apiDetails[i];
25
+ if (apiDetail) {
26
+ try {
27
+ PermissionsAssert._assertUserPermissionsImpl(apiDetail, projectId, userDetails, requestCustomField);
28
+ userUrlsPermissions[url] = true;
29
+ }
30
+ catch (_e) {
31
+ userUrlsPermissions[url] = false;
32
+ }
33
+ }
34
+ else
35
+ userUrlsPermissions[url] = false;
36
+ return userUrlsPermissions;
37
+ }, {});
38
+ }
39
+ async getUsersCFsByShareGroups(usersEmails, groupsIds) {
40
+ const accounts = await AccountModule.getUsers(usersEmails);
41
+ const usersMap = arrayToMap(accounts, u => u.email);
42
+ const permissionUsers = await batchActionParallel(accounts.map(u => u._id), 10, async (batchedAccountIds) => {
43
+ return UserPermissionsDB.query({
44
+ where: {
45
+ accountId: {
46
+ $in: batchedAccountIds
47
+ }
48
+ },
49
+ select: ['groups', 'accountId']
50
+ });
51
+ });
52
+ const permissionUsersMap = arrayToMap(permissionUsers, pu => pu.accountId);
53
+ return usersEmails.reduce((acc, e) => {
54
+ const account = usersMap[e.toLowerCase()];
55
+ if (!account)
56
+ return acc;
57
+ const user = permissionUsersMap[account._id];
58
+ if (!user)
59
+ return acc;
60
+ acc[e] = this.getCustomFields(user, groupsIds);
61
+ return acc;
62
+ }, {});
63
+ }
64
+ async getUserCFsByShareGroups(userId, groupsIds) {
65
+ const user = await UserPermissionsDB.queryUnique({ accountId: userId });
66
+ return this.getCustomFields(user, groupsIds);
67
+ }
68
+ getCustomFields(user, groupsIds) {
69
+ if (!user.groups)
70
+ return [];
71
+ return user.groups.reduce((acc, userGroup) => {
72
+ if (!groupsIds.find(groupId => groupId === userGroup.groupId))
73
+ return acc;
74
+ if (!userGroup.customField)
75
+ return acc;
76
+ acc.push(userGroup.customField);
77
+ return acc;
78
+ }, []);
79
+ }
80
+ async registerProject(routes) {
81
+ const projectRoutes = {
82
+ project: PermissionsModule.getProjectIdentity(),
83
+ routes,
84
+ predefinedGroups: this.config.predefinedGroups,
85
+ predefinedUser: this.config.predefinedUser
86
+ };
87
+ return this._registerProject(projectRoutes);
88
+ }
89
+ async _registerProject(registerProject) {
90
+ const project = registerProject.project;
91
+ await ProjectPermissionsDB.upsert(project);
92
+ await ApiPermissionsDB.registerApis(project._id, registerProject.routes);
93
+ const predefinedGroups = registerProject.predefinedGroups;
94
+ if (!predefinedGroups || predefinedGroups.length === 0)
95
+ return;
96
+ await GroupPermissionsDB.upsertPredefinedGroups(project._id, project.name, predefinedGroups);
97
+ const predefinedUser = registerProject.predefinedUser;
98
+ if (!predefinedUser)
99
+ return;
100
+ const groupsUser = predefinedUser.groups.map(groupItem => {
101
+ const customField = {};
102
+ const allRegEx = ".*";
103
+ if (!groupItem.customKeys || !groupItem.customKeys.length)
104
+ customField["_id"] = allRegEx;
105
+ else {
106
+ groupItem.customKeys.forEach((customKey) => {
107
+ customField[customKey] = allRegEx;
108
+ });
109
+ }
110
+ return {
111
+ groupId: GroupPermissionsDB.getPredefinedGroupId(project._id, groupItem._id),
112
+ customField
113
+ };
114
+ });
115
+ await UserPermissionsDB.upsert({ ...predefinedUser, groups: groupsUser });
116
+ }
117
+ }
118
+ export const PermissionsModule = new PermissionsModule_Class();
119
+ //# sourceMappingURL=PermissionsModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PermissionsModule.js","sourceRoot":"","sources":["../../../src/main/app-backend/modules/PermissionsModule.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { BaseDB_ApiGenerator } from "@intuitionrobotics/db-api-generator/backend";
2
- import { Clause_Where, FirestoreQuery } from "@intuitionrobotics/firebase";
3
- import { ExpressRequest, ServerApi } from "@intuitionrobotics/thunderstorm/backend";
4
- import { TypeValidator } from "@intuitionrobotics/ts-common";
5
- import { DB_GroupTags } from "../..";
2
+ import { type Clause_Where, type FirestoreQuery } from "@intuitionrobotics/firebase";
3
+ import { type ExpressRequest, ServerApi } from "@intuitionrobotics/thunderstorm/backend";
4
+ import { type TypeValidator } from "@intuitionrobotics/ts-common";
5
+ import { type DB_GroupTags } from "../../index.js";
6
6
  export declare const CollectionNameTags = "permissions--tags";
7
7
  export declare class TagsDB_Class extends BaseDB_ApiGenerator<DB_GroupTags> {
8
8
  static _validator: TypeValidator<DB_GroupTags>;
@@ -12,3 +12,4 @@ export declare class TagsDB_Class extends BaseDB_ApiGenerator<DB_GroupTags> {
12
12
  apis(pathPart?: string): ServerApi<any>[];
13
13
  }
14
14
  export declare const TagsDB: TagsDB_Class;
15
+ //# sourceMappingURL=TagsModule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TagsModule.d.ts","sourceRoot":"","sources":["../../../src/main/app-backend/modules/TagsModule.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,mBAAmB,EAMnB,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACN,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACN,KAAK,cAAc,EACnB,SAAS,EACT,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACN,KAAK,aAAa,EAElB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAC,KAAK,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAKjD,eAAO,MAAM,kBAAkB,sBAAsB,CAAC;AAGtD,qBAAa,YACZ,SAAQ,mBAAmB,CAAC,YAAY,CAAC;IAEzC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,YAAY,CAAC,CAG5C;;IAOF,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC,EAAE;IAKpE,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,EAAE,cAAc;IAK1E,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE;CAQzC;AAED,eAAO,MAAM,MAAM,cAAqB,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { BaseDB_ApiGenerator, ServerApi_Create, ServerApi_Delete, ServerApi_Query, ServerApi_Unique, validateStringAndNumbersWithDashes } from "@intuitionrobotics/db-api-generator/backend";
2
+ import {} from "@intuitionrobotics/firebase";
3
+ import { ServerApi } from "@intuitionrobotics/thunderstorm/backend";
4
+ import { validateRegexp, } from "@intuitionrobotics/ts-common";
5
+ import {} from "../../index.js";
6
+ import { GroupPermissionsDB } from "./db-types/assign.js";
7
+ const validateGroupLabel = validateRegexp(/^[A-Za-z-\._ ]+$/);
8
+ export const CollectionNameTags = 'permissions--tags';
9
+ export class TagsDB_Class extends BaseDB_ApiGenerator {
10
+ static _validator = {
11
+ _id: validateStringAndNumbersWithDashes,
12
+ label: validateGroupLabel
13
+ };
14
+ constructor() {
15
+ super(CollectionNameTags, TagsDB_Class._validator, "permissionsTags", "TagsDB");
16
+ }
17
+ internalFilter(item) {
18
+ const { label } = item;
19
+ return [{ label }];
20
+ }
21
+ async delete(query, request) {
22
+ if (query.where?._id)
23
+ await GroupPermissionsDB.deleteTags(query.where?._id.toString());
24
+ return super.delete(query, request);
25
+ }
26
+ apis(pathPart) {
27
+ return [
28
+ new ServerApi_Delete(this, pathPart),
29
+ new ServerApi_Query(this, pathPart),
30
+ new ServerApi_Unique(this, pathPart),
31
+ new ServerApi_Create(this, pathPart)
32
+ ];
33
+ }
34
+ }
35
+ export const TagsDB = new TagsDB_Class();
36
+ //# sourceMappingURL=TagsModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TagsModule.js","sourceRoot":"","sources":["../../../src/main/app-backend/modules/TagsModule.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,kCAAkC,EAClC,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAGN,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAEN,SAAS,EACT,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAEN,cAAc,GACd,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAmB,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AAExD,MAAM,kBAAkB,GAAG,cAAc,CAAC,kBAAkB,CAAC,CAAC;AAE9D,MAAM,CAAC,MAAM,kBAAkB,GAAG,mBAAmB,CAAC;AAGtD,MAAM,OAAO,YACZ,SAAQ,mBAAiC;IAEzC,MAAM,CAAC,UAAU,GAAgC;QAChD,GAAG,EAAE,kCAAkC;QACvC,KAAK,EAAE,kBAAkB;KACzB,CAAC;IAEF;QACC,KAAK,CAAC,kBAAkB,EAAE,YAAY,CAAC,UAAU,EAAE,iBAAiB,EAAE,QAAQ,CAAC,CAAC;IACjF,CAAC;IAGS,cAAc,CAAC,IAAkB;QAC1C,MAAM,EAAC,KAAK,EAAC,GAAG,IAAI,CAAC;QACrB,OAAO,CAAC,EAAC,KAAK,EAAC,CAAC,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAmC,EAAE,OAAwB;QACzE,IAAI,KAAK,CAAC,KAAK,EAAE,GAAG;YAAE,MAAM,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAA;QACtF,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IACpC,CAAC;IAED,IAAI,CAAC,QAAiB;QACrB,OAAO;YACN,IAAI,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC;YACpC,IAAI,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC;YACnC,IAAI,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC;YACpC,IAAI,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC;SACpC,CAAC;IACH,CAAC;;AAGF,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC"}
@@ -1,9 +1,10 @@
1
- export * from "../../shared/apis";
2
- export * from "../../shared/manager-types";
3
- export * from "../../shared/assign-types";
1
+ export * from "../../shared/apis.js";
2
+ export * from "../../shared/manager-types.js";
3
+ export * from "../../shared/assign-types.js";
4
4
  export declare const CollectionName_Users = "permissions--user";
5
5
  export declare const CollectionName_Groups = "permissions--group";
6
6
  export declare const CollectionName_Projects = "permissions--project";
7
7
  export declare const CollectionName_Domain = "permissions--domain";
8
8
  export declare const CollectionName_Level = "permissions--level";
9
9
  export declare const CollectionName_Api = "permissions--api";
10
+ //# sourceMappingURL=_imports.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_imports.d.ts","sourceRoot":"","sources":["../../../src/main/app-backend/modules/_imports.ts"],"names":[],"mappings":"AAkBA,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAE7C,eAAO,MAAM,oBAAoB,sBAAsB,CAAC;AACxD,eAAO,MAAM,qBAAqB,uBAAuB,CAAC;AAE1D,eAAO,MAAM,uBAAuB,yBAAyB,CAAC;AAC9D,eAAO,MAAM,qBAAqB,wBAAwB,CAAC;AAC3D,eAAO,MAAM,oBAAoB,uBAAuB,CAAC;AACzD,eAAO,MAAM,kBAAkB,qBAAqB,CAAC"}
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  /*
3
2
  * ts-common is the basic building blocks of our typescript projects
4
3
  *
@@ -16,8 +15,13 @@
16
15
  * See the License for the specific language governing permissions and
17
16
  * limitations under the License.
18
17
  */
19
- Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.testUserPermissionsTime = void 0;
21
- var permission_user_assert_benchmark_1 = require("../../../benchmark/permission-user-assert-benchmark");
22
- Object.defineProperty(exports, "testUserPermissionsTime", { enumerable: true, get: function () { return permission_user_assert_benchmark_1.testUserPermissionsTime; } });
18
+ export * from "../../shared/apis.js";
19
+ export * from "../../shared/manager-types.js";
20
+ export * from "../../shared/assign-types.js";
21
+ export const CollectionName_Users = "permissions--user";
22
+ export const CollectionName_Groups = "permissions--group";
23
+ export const CollectionName_Projects = "permissions--project";
24
+ export const CollectionName_Domain = "permissions--domain";
25
+ export const CollectionName_Level = "permissions--level";
26
+ export const CollectionName_Api = "permissions--api";
23
27
  //# sourceMappingURL=_imports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_imports.js","sourceRoot":"","sources":["../../../src/main/app-backend/modules/_imports.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAE7C,MAAM,CAAC,MAAM,oBAAoB,GAAG,mBAAmB,CAAC;AACxD,MAAM,CAAC,MAAM,qBAAqB,GAAG,oBAAoB,CAAC;AAE1D,MAAM,CAAC,MAAM,uBAAuB,GAAG,sBAAsB,CAAC;AAC9D,MAAM,CAAC,MAAM,qBAAqB,GAAG,qBAAqB,CAAC;AAC3D,MAAM,CAAC,MAAM,oBAAoB,GAAG,oBAAoB,CAAC;AACzD,MAAM,CAAC,MAAM,kBAAkB,GAAG,kBAAkB,CAAC"}
@@ -1,11 +1,11 @@
1
- import { AssignAppPermissions, DB_PermissionsGroup, DB_PermissionsUser, PredefinedGroup } from "../_imports";
1
+ import { type AssignAppPermissions, type DB_PermissionsGroup, type DB_PermissionsUser, type PredefinedGroup } from "../_imports.js";
2
2
  import { BaseDB_ApiGenerator } from "@intuitionrobotics/db-api-generator/backend";
3
- import { OnNewUserRegistered, OnUserLogin } from "@intuitionrobotics/user-account/backend";
4
- import { Clause_Where } from "@intuitionrobotics/firebase";
5
- import { ExpressRequest } from "@intuitionrobotics/thunderstorm/backend";
6
- import { TypeValidator } from "@intuitionrobotics/ts-common";
3
+ import { type OnNewUserRegistered, type OnUserLogin } from "@intuitionrobotics/user-account/backend";
4
+ import { type Clause_Where } from "@intuitionrobotics/firebase";
5
+ import { type ExpressRequest } from "@intuitionrobotics/thunderstorm/backend";
6
+ import { type TypeValidator } from "@intuitionrobotics/ts-common";
7
7
  import { FirestoreTransaction } from "@intuitionrobotics/firebase/backend";
8
- import { UI_Account } from "@intuitionrobotics/user-account";
8
+ import { type UI_Account } from "@intuitionrobotics/user-account";
9
9
  export declare class GroupsDB_Class extends BaseDB_ApiGenerator<DB_PermissionsGroup> {
10
10
  static _validator: TypeValidator<DB_PermissionsGroup>;
11
11
  constructor();
@@ -34,3 +34,4 @@ export declare class UsersDB_Class extends BaseDB_ApiGenerator<DB_PermissionsUse
34
34
  }
35
35
  export declare const GroupPermissionsDB: GroupsDB_Class;
36
36
  export declare const UserPermissionsDB: UsersDB_Class;
37
+ //# sourceMappingURL=assign.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assign.d.ts","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/db-types/assign.ts"],"names":[],"mappings":"AAkBA,OAAO,EACN,KAAK,oBAAoB,EAIzB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACN,mBAAmB,EAGnB,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAEN,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAC,KAAK,YAAY,EAAC,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAEN,KAAK,cAAc,EACnB,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EASN,KAAK,aAAa,EAMlB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAC,oBAAoB,EAAC,MAAM,qCAAqC,CAAC;AAEzE,OAAO,EAAC,KAAK,UAAU,EAAC,MAAM,iCAAiC,CAAC;AAahE,qBAAa,cACZ,SAAQ,mBAAmB,CAAC,mBAAmB,CAAC;IAChD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAQnD;;IAOF,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,mBAAmB,GAAG,YAAY,CAAC,mBAAmB,CAAC;IAKtF,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,mBAAmB,GAAG,YAAY,CAAC,mBAAmB,CAAC,EAAE;cAKxE,cAAc,CAAC,WAAW,EAAE,oBAAoB,EAAE,UAAU,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;YAQnG,eAAe;IAcvB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE;IAO9B,UAAU,CAAC,GAAG,EAAE,MAAM;cAYZ,mBAAmB,CAAC,WAAW,EAAE,oBAAoB,EAAE,UAAU,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE,cAAc;IAehI,SAAS;IAIT,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM;IAIjE,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,gBAAgB,EAAE,eAAe,EAAE;CAclG;AAED,qBAAa,aACZ,SAAQ,mBAAmB,CAAC,kBAAkB,CAC9C,YAAW,mBAAmB,EAAE,WAAW;IAC3C,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAMlD;;cAOc,mBAAmB,CAAC,WAAW,EAAE,oBAAoB,EAAE,UAAU,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAiC/I,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,kBAAkB,GAAG,YAAY,CAAC,kBAAkB,CAAC,EAAE;IAKtF,OAAO,CAAC,WAAW;IAQb,aAAa,CAAC,OAAO,EAAE,UAAU;IAIjC,qBAAqB,CAAC,OAAO,EAAE,UAAU;IAIzC,gBAAgB,CAAC,KAAK,EAAE,MAAM;IAe9B,oBAAoB,CAAC,uBAAuB,EAAE,oBAAoB,EAAE,OAAO,CAAC,EAAE,cAAc;IAgD5F,KAAK,CAAC,QAAQ,EAAE,kBAAkB,EAAE,YAAY,CAAC,EAAE,CAAC,MAAM,kBAAkB,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,kBAAkB,CAAC;CA6B7I;AAED,eAAO,MAAM,kBAAkB,gBAAuB,CAAC;AACvD,eAAO,MAAM,iBAAiB,eAAsB,CAAC"}