@synchronized-console/shared 2.25.7 → 2.31.14

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 (675) hide show
  1. package/dist/commonjs/acc/helpers/types.d.ts +46 -0
  2. package/dist/commonjs/acc/helpers/types.d.ts.map +1 -0
  3. package/dist/commonjs/acc/helpers/types.js +3 -0
  4. package/dist/commonjs/acc/helpers/types.js.map +1 -0
  5. package/dist/commonjs/acc/index.d.ts +2 -0
  6. package/dist/commonjs/acc/index.d.ts.map +1 -0
  7. package/dist/commonjs/acc/index.js +18 -0
  8. package/dist/commonjs/acc/index.js.map +1 -0
  9. package/dist/commonjs/authz/checks/dashboards.d.ts +5 -0
  10. package/dist/commonjs/authz/checks/dashboards.d.ts.map +1 -0
  11. package/dist/commonjs/authz/checks/dashboards.js +11 -0
  12. package/dist/commonjs/authz/checks/dashboards.js.map +1 -0
  13. package/dist/commonjs/authz/domain/authErrors.d.ts +98 -3
  14. package/dist/commonjs/authz/domain/authErrors.d.ts.map +1 -1
  15. package/dist/commonjs/authz/domain/authErrors.js +66 -3
  16. package/dist/commonjs/authz/domain/authErrors.js.map +1 -1
  17. package/dist/commonjs/authz/domain/automate/operations.d.ts +5 -0
  18. package/dist/commonjs/authz/domain/automate/operations.d.ts.map +1 -0
  19. package/dist/commonjs/authz/domain/automate/operations.js +3 -0
  20. package/dist/commonjs/authz/domain/automate/operations.js.map +1 -0
  21. package/dist/commonjs/authz/domain/automate/types.d.ts +10 -0
  22. package/dist/commonjs/authz/domain/automate/types.d.ts.map +1 -0
  23. package/dist/commonjs/authz/domain/automate/types.js +3 -0
  24. package/dist/commonjs/authz/domain/automate/types.js.map +1 -0
  25. package/dist/commonjs/authz/domain/context.d.ts +12 -0
  26. package/dist/commonjs/authz/domain/context.d.ts.map +1 -1
  27. package/dist/commonjs/authz/domain/dashboards/operations.d.ts +5 -0
  28. package/dist/commonjs/authz/domain/dashboards/operations.d.ts.map +1 -0
  29. package/dist/commonjs/authz/domain/dashboards/operations.js +3 -0
  30. package/dist/commonjs/authz/domain/dashboards/operations.js.map +1 -0
  31. package/dist/commonjs/authz/domain/dashboards/types.d.ts +7 -0
  32. package/dist/commonjs/authz/domain/dashboards/types.d.ts.map +1 -0
  33. package/dist/commonjs/authz/domain/dashboards/types.js +3 -0
  34. package/dist/commonjs/authz/domain/dashboards/types.js.map +1 -0
  35. package/dist/commonjs/authz/domain/loaders.d.ts +63 -45
  36. package/dist/commonjs/authz/domain/loaders.d.ts.map +1 -1
  37. package/dist/commonjs/authz/domain/loaders.js +27 -21
  38. package/dist/commonjs/authz/domain/loaders.js.map +1 -1
  39. package/dist/commonjs/authz/domain/savedViews/operations.d.ts +10 -0
  40. package/dist/commonjs/authz/domain/savedViews/operations.d.ts.map +1 -0
  41. package/dist/commonjs/authz/domain/savedViews/operations.js +3 -0
  42. package/dist/commonjs/authz/domain/savedViews/operations.js.map +1 -0
  43. package/dist/commonjs/authz/domain/savedViews/types.d.ts +26 -0
  44. package/dist/commonjs/authz/domain/savedViews/types.d.ts.map +1 -0
  45. package/dist/commonjs/authz/domain/savedViews/types.js +6 -0
  46. package/dist/commonjs/authz/domain/savedViews/types.js.map +1 -0
  47. package/dist/commonjs/authz/domain/workspaces/operations.d.ts +2 -1
  48. package/dist/commonjs/authz/domain/workspaces/operations.d.ts.map +1 -1
  49. package/dist/commonjs/authz/domain/workspaces/types.d.ts +3 -0
  50. package/dist/commonjs/authz/domain/workspaces/types.d.ts.map +1 -1
  51. package/dist/commonjs/authz/fragments/automate.d.ts +7 -0
  52. package/dist/commonjs/authz/fragments/automate.d.ts.map +1 -0
  53. package/dist/commonjs/authz/fragments/automate.js +22 -0
  54. package/dist/commonjs/authz/fragments/automate.js.map +1 -0
  55. package/dist/commonjs/authz/fragments/dashboards.d.ts +8 -0
  56. package/dist/commonjs/authz/fragments/dashboards.d.ts.map +1 -0
  57. package/dist/commonjs/authz/fragments/dashboards.js +48 -0
  58. package/dist/commonjs/authz/fragments/dashboards.js.map +1 -0
  59. package/dist/commonjs/authz/fragments/projects.d.ts +13 -1
  60. package/dist/commonjs/authz/fragments/projects.d.ts.map +1 -1
  61. package/dist/commonjs/authz/fragments/projects.js +25 -1
  62. package/dist/commonjs/authz/fragments/projects.js.map +1 -1
  63. package/dist/commonjs/authz/fragments/savedViews.d.ts +30 -0
  64. package/dist/commonjs/authz/fragments/savedViews.d.ts.map +1 -0
  65. package/dist/commonjs/authz/fragments/savedViews.js +122 -0
  66. package/dist/commonjs/authz/fragments/savedViews.js.map +1 -0
  67. package/dist/commonjs/authz/fragments/workspaces.d.ts +9 -1
  68. package/dist/commonjs/authz/fragments/workspaces.d.ts.map +1 -1
  69. package/dist/commonjs/authz/fragments/workspaces.js +47 -1
  70. package/dist/commonjs/authz/fragments/workspaces.js.map +1 -1
  71. package/dist/commonjs/authz/helpers/graphql.d.ts +1 -1
  72. package/dist/commonjs/authz/helpers/graphql.d.ts.map +1 -1
  73. package/dist/commonjs/authz/helpers/graphql.js +1 -1
  74. package/dist/commonjs/authz/helpers/graphql.js.map +1 -1
  75. package/dist/commonjs/authz/index.d.ts +1 -0
  76. package/dist/commonjs/authz/index.d.ts.map +1 -1
  77. package/dist/commonjs/authz/index.js +1 -0
  78. package/dist/commonjs/authz/index.js.map +1 -1
  79. package/dist/commonjs/authz/policies/automate/function/canEditFunction.d.ts +10 -0
  80. package/dist/commonjs/authz/policies/automate/function/canEditFunction.d.ts.map +1 -0
  81. package/dist/commonjs/authz/policies/automate/function/canEditFunction.js +19 -0
  82. package/dist/commonjs/authz/policies/automate/function/canEditFunction.js.map +1 -0
  83. package/dist/commonjs/authz/policies/dashboard/canCreateToken.d.ts +10 -0
  84. package/dist/commonjs/authz/policies/dashboard/canCreateToken.d.ts.map +1 -0
  85. package/dist/commonjs/authz/policies/dashboard/canCreateToken.js +45 -0
  86. package/dist/commonjs/authz/policies/dashboard/canCreateToken.js.map +1 -0
  87. package/dist/commonjs/authz/policies/dashboard/canDelete.d.ts +10 -0
  88. package/dist/commonjs/authz/policies/dashboard/canDelete.d.ts.map +1 -0
  89. package/dist/commonjs/authz/policies/dashboard/canDelete.js +45 -0
  90. package/dist/commonjs/authz/policies/dashboard/canDelete.js.map +1 -0
  91. package/dist/commonjs/authz/policies/dashboard/canEdit.d.ts +10 -0
  92. package/dist/commonjs/authz/policies/dashboard/canEdit.d.ts.map +1 -0
  93. package/dist/commonjs/authz/policies/dashboard/canEdit.js +43 -0
  94. package/dist/commonjs/authz/policies/dashboard/canEdit.js.map +1 -0
  95. package/dist/commonjs/authz/policies/dashboard/canRead.d.ts +10 -0
  96. package/dist/commonjs/authz/policies/dashboard/canRead.d.ts.map +1 -0
  97. package/dist/commonjs/authz/policies/dashboard/canRead.js +42 -0
  98. package/dist/commonjs/authz/policies/dashboard/canRead.js.map +1 -0
  99. package/dist/commonjs/authz/policies/index.d.ts +62 -1
  100. package/dist/commonjs/authz/policies/index.d.ts.map +1 -1
  101. package/dist/commonjs/authz/policies/index.js +52 -4
  102. package/dist/commonjs/authz/policies/index.js.map +1 -1
  103. package/dist/commonjs/authz/policies/project/canLoad.d.ts.map +1 -1
  104. package/dist/commonjs/authz/policies/project/canLoad.js +6 -0
  105. package/dist/commonjs/authz/policies/project/canLoad.js.map +1 -1
  106. package/dist/commonjs/authz/policies/project/canReadAccIntegrationSettings.d.ts +10 -0
  107. package/dist/commonjs/authz/policies/project/canReadAccIntegrationSettings.d.ts.map +1 -0
  108. package/dist/commonjs/authz/policies/project/canReadAccIntegrationSettings.js +35 -0
  109. package/dist/commonjs/authz/policies/project/canReadAccIntegrationSettings.js.map +1 -0
  110. package/dist/commonjs/authz/policies/project/canUpdateEmbedTokens.d.ts +10 -0
  111. package/dist/commonjs/authz/policies/project/canUpdateEmbedTokens.d.ts.map +1 -0
  112. package/dist/commonjs/authz/policies/project/canUpdateEmbedTokens.js +52 -0
  113. package/dist/commonjs/authz/policies/project/canUpdateEmbedTokens.js.map +1 -0
  114. package/dist/commonjs/authz/policies/project/savedViews/canCreate.d.ts +6 -0
  115. package/dist/commonjs/authz/policies/project/savedViews/canCreate.d.ts.map +1 -0
  116. package/dist/commonjs/authz/policies/project/savedViews/canCreate.js +31 -0
  117. package/dist/commonjs/authz/policies/project/savedViews/canCreate.js.map +1 -0
  118. package/dist/commonjs/authz/policies/project/savedViews/canCreateSavedViewGroupToken.d.ts +6 -0
  119. package/dist/commonjs/authz/policies/project/savedViews/canCreateSavedViewGroupToken.d.ts.map +1 -0
  120. package/dist/commonjs/authz/policies/project/savedViews/canCreateSavedViewGroupToken.js +61 -0
  121. package/dist/commonjs/authz/policies/project/savedViews/canCreateSavedViewGroupToken.js.map +1 -0
  122. package/dist/commonjs/authz/policies/project/savedViews/canEditDescription.d.ts +6 -0
  123. package/dist/commonjs/authz/policies/project/savedViews/canEditDescription.d.ts.map +1 -0
  124. package/dist/commonjs/authz/policies/project/savedViews/canEditDescription.js +14 -0
  125. package/dist/commonjs/authz/policies/project/savedViews/canEditDescription.js.map +1 -0
  126. package/dist/commonjs/authz/policies/project/savedViews/canEditTitle.d.ts +6 -0
  127. package/dist/commonjs/authz/policies/project/savedViews/canEditTitle.d.ts.map +1 -0
  128. package/dist/commonjs/authz/policies/project/savedViews/canEditTitle.js +14 -0
  129. package/dist/commonjs/authz/policies/project/savedViews/canEditTitle.js.map +1 -0
  130. package/dist/commonjs/authz/policies/project/savedViews/canMove.d.ts +6 -0
  131. package/dist/commonjs/authz/policies/project/savedViews/canMove.d.ts.map +1 -0
  132. package/dist/commonjs/authz/policies/project/savedViews/canMove.js +14 -0
  133. package/dist/commonjs/authz/policies/project/savedViews/canMove.js.map +1 -0
  134. package/dist/commonjs/authz/policies/project/savedViews/canRead.d.ts +11 -0
  135. package/dist/commonjs/authz/policies/project/savedViews/canRead.d.ts.map +1 -0
  136. package/dist/commonjs/authz/policies/project/savedViews/canRead.js +15 -0
  137. package/dist/commonjs/authz/policies/project/savedViews/canRead.js.map +1 -0
  138. package/dist/commonjs/authz/policies/project/savedViews/canSetAsHomeView.d.ts +6 -0
  139. package/dist/commonjs/authz/policies/project/savedViews/canSetAsHomeView.d.ts.map +1 -0
  140. package/dist/commonjs/authz/policies/project/savedViews/canSetAsHomeView.js +45 -0
  141. package/dist/commonjs/authz/policies/project/savedViews/canSetAsHomeView.js.map +1 -0
  142. package/dist/commonjs/authz/policies/project/savedViews/canUpdate.d.ts +6 -0
  143. package/dist/commonjs/authz/policies/project/savedViews/canUpdate.d.ts.map +1 -0
  144. package/dist/commonjs/authz/policies/project/savedViews/canUpdate.js +14 -0
  145. package/dist/commonjs/authz/policies/project/savedViews/canUpdate.js.map +1 -0
  146. package/dist/commonjs/authz/policies/project/savedViews/canUpdateGroup.d.ts +6 -0
  147. package/dist/commonjs/authz/policies/project/savedViews/canUpdateGroup.d.ts.map +1 -0
  148. package/dist/commonjs/authz/policies/project/savedViews/canUpdateGroup.js +14 -0
  149. package/dist/commonjs/authz/policies/project/savedViews/canUpdateGroup.js.map +1 -0
  150. package/dist/commonjs/authz/policies/workspace/canCreateDashboards.d.ts +10 -0
  151. package/dist/commonjs/authz/policies/workspace/canCreateDashboards.d.ts.map +1 -0
  152. package/dist/commonjs/authz/policies/workspace/canCreateDashboards.js +39 -0
  153. package/dist/commonjs/authz/policies/workspace/canCreateDashboards.js.map +1 -0
  154. package/dist/commonjs/authz/policies/workspace/canCreateWorkspace.d.ts +10 -0
  155. package/dist/commonjs/authz/policies/workspace/canCreateWorkspace.d.ts.map +1 -0
  156. package/dist/commonjs/authz/policies/workspace/canCreateWorkspace.js +51 -0
  157. package/dist/commonjs/authz/policies/workspace/canCreateWorkspace.js.map +1 -0
  158. package/dist/commonjs/authz/policies/workspace/canListDashboards.d.ts +10 -0
  159. package/dist/commonjs/authz/policies/workspace/canListDashboards.d.ts.map +1 -0
  160. package/dist/commonjs/authz/policies/workspace/canListDashboards.js +26 -0
  161. package/dist/commonjs/authz/policies/workspace/canListDashboards.js.map +1 -0
  162. package/dist/commonjs/authz/policies/workspace/canReadMemberEmail.d.ts +1 -1
  163. package/dist/commonjs/authz/policies/workspace/canReadMemberEmail.d.ts.map +1 -1
  164. package/dist/commonjs/authz/policies/workspace/canReadMemberEmail.js +1 -20
  165. package/dist/commonjs/authz/policies/workspace/canReadMemberEmail.js.map +1 -1
  166. package/dist/commonjs/authz/policies/workspace/{canUpdateEmbedOptions.d.ts → canUseWorkspacePlanFeature.d.ts} +13 -5
  167. package/dist/commonjs/authz/policies/workspace/canUseWorkspacePlanFeature.d.ts.map +1 -0
  168. package/dist/commonjs/authz/policies/workspace/canUseWorkspacePlanFeature.js +27 -0
  169. package/dist/commonjs/authz/policies/workspace/canUseWorkspacePlanFeature.js.map +1 -0
  170. package/dist/commonjs/automate/helpers/types.d.ts +313 -51
  171. package/dist/commonjs/automate/helpers/types.d.ts.map +1 -1
  172. package/dist/commonjs/automate/helpers/types.js +12 -2
  173. package/dist/commonjs/automate/helpers/types.js.map +1 -1
  174. package/dist/commonjs/blobs/index.d.ts +17 -0
  175. package/dist/commonjs/blobs/index.d.ts.map +1 -0
  176. package/dist/commonjs/blobs/index.js +114 -0
  177. package/dist/commonjs/blobs/index.js.map +1 -0
  178. package/dist/commonjs/core/constants.d.ts +4 -2
  179. package/dist/commonjs/core/constants.d.ts.map +1 -1
  180. package/dist/commonjs/core/constants.js +24 -4
  181. package/dist/commonjs/core/constants.js.map +1 -1
  182. package/dist/commonjs/core/helpers/encoding.d.ts +2 -0
  183. package/dist/commonjs/core/helpers/encoding.d.ts.map +1 -0
  184. package/dist/commonjs/core/helpers/encoding.js +15 -0
  185. package/dist/commonjs/core/helpers/encoding.js.map +1 -0
  186. package/dist/commonjs/core/helpers/error.d.ts +11 -0
  187. package/dist/commonjs/core/helpers/error.d.ts.map +1 -1
  188. package/dist/commonjs/core/helpers/error.js +60 -2
  189. package/dist/commonjs/core/helpers/error.js.map +1 -1
  190. package/dist/commonjs/core/helpers/url.d.ts +24 -0
  191. package/dist/commonjs/core/helpers/url.d.ts.map +1 -1
  192. package/dist/commonjs/core/helpers/url.js +30 -0
  193. package/dist/commonjs/core/helpers/url.js.map +1 -1
  194. package/dist/commonjs/core/helpers/utility.d.ts +16 -0
  195. package/dist/commonjs/core/helpers/utility.d.ts.map +1 -1
  196. package/dist/commonjs/core/helpers/utility.js +22 -1
  197. package/dist/commonjs/core/helpers/utility.js.map +1 -1
  198. package/dist/commonjs/core/index.d.ts +2 -0
  199. package/dist/commonjs/core/index.d.ts.map +1 -1
  200. package/dist/commonjs/core/index.js +2 -0
  201. package/dist/commonjs/core/index.js.map +1 -1
  202. package/dist/commonjs/core/utils/base64.d.ts +3 -0
  203. package/dist/commonjs/core/utils/base64.d.ts.map +1 -0
  204. package/dist/commonjs/core/utils/base64.js +25 -0
  205. package/dist/commonjs/core/utils/base64.js.map +1 -0
  206. package/dist/commonjs/environment/{multiRegionConfig.d.ts → db.d.ts} +54 -5
  207. package/dist/commonjs/environment/db.d.ts.map +1 -0
  208. package/dist/commonjs/environment/{multiRegionConfig.js → db.js} +45 -10
  209. package/dist/commonjs/environment/db.js.map +1 -0
  210. package/dist/commonjs/environment/featureFlags.d.ts +25 -0
  211. package/dist/commonjs/environment/featureFlags.d.ts.map +1 -0
  212. package/dist/commonjs/environment/featureFlags.js +6 -0
  213. package/dist/commonjs/environment/featureFlags.js.map +1 -0
  214. package/dist/commonjs/environment/index.d.ts +2 -15
  215. package/dist/commonjs/environment/index.d.ts.map +1 -1
  216. package/dist/commonjs/environment/index.js +44 -7
  217. package/dist/commonjs/environment/index.js.map +1 -1
  218. package/dist/commonjs/environment/node.d.ts +5 -0
  219. package/dist/commonjs/environment/node.d.ts.map +1 -0
  220. package/dist/commonjs/environment/node.js +15 -0
  221. package/dist/commonjs/environment/node.js.map +1 -0
  222. package/dist/commonjs/images/base64.d.ts +2 -0
  223. package/dist/commonjs/images/base64.d.ts.map +1 -0
  224. package/dist/commonjs/images/base64.js +19 -0
  225. package/dist/commonjs/images/base64.js.map +1 -0
  226. package/dist/commonjs/index.d.ts +1 -0
  227. package/dist/commonjs/index.d.ts.map +1 -1
  228. package/dist/commonjs/index.js +1 -0
  229. package/dist/commonjs/index.js.map +1 -1
  230. package/dist/commonjs/observability/index.d.ts.map +1 -1
  231. package/dist/commonjs/observability/index.js +19 -2
  232. package/dist/commonjs/observability/index.js.map +1 -1
  233. package/dist/commonjs/queue/config.d.ts +3 -0
  234. package/dist/commonjs/queue/config.d.ts.map +1 -1
  235. package/dist/commonjs/queue/config.js +14 -5
  236. package/dist/commonjs/queue/config.js.map +1 -1
  237. package/dist/commonjs/rich-text-editor/helpers/index.d.ts +13 -1
  238. package/dist/commonjs/rich-text-editor/helpers/index.d.ts.map +1 -1
  239. package/dist/commonjs/rich-text-editor/helpers/index.js +1 -0
  240. package/dist/commonjs/rich-text-editor/helpers/index.js.map +1 -1
  241. package/dist/commonjs/saved-views/helpers/defaultGroup.d.ts +23 -0
  242. package/dist/commonjs/saved-views/helpers/defaultGroup.d.ts.map +1 -0
  243. package/dist/commonjs/saved-views/helpers/defaultGroup.js +58 -0
  244. package/dist/commonjs/saved-views/helpers/defaultGroup.js.map +1 -0
  245. package/dist/commonjs/saved-views/index.d.ts +2 -0
  246. package/dist/commonjs/saved-views/index.d.ts.map +1 -0
  247. package/dist/commonjs/saved-views/index.js +18 -0
  248. package/dist/commonjs/saved-views/index.js.map +1 -0
  249. package/dist/commonjs/viewer/helpers/route.d.ts +42 -7
  250. package/dist/commonjs/viewer/helpers/route.d.ts.map +1 -1
  251. package/dist/commonjs/viewer/helpers/route.js +149 -38
  252. package/dist/commonjs/viewer/helpers/route.js.map +1 -1
  253. package/dist/commonjs/viewer/helpers/state.d.ts +59 -6
  254. package/dist/commonjs/viewer/helpers/state.d.ts.map +1 -1
  255. package/dist/commonjs/viewer/helpers/state.js +100 -23
  256. package/dist/commonjs/viewer/helpers/state.js.map +1 -1
  257. package/dist/commonjs/workers/fileimport/job.d.ts +85 -9
  258. package/dist/commonjs/workers/fileimport/job.d.ts.map +1 -1
  259. package/dist/commonjs/workers/fileimport/job.js +21 -10
  260. package/dist/commonjs/workers/fileimport/job.js.map +1 -1
  261. package/dist/commonjs/workers/previews/job.d.ts +37 -20
  262. package/dist/commonjs/workers/previews/job.d.ts.map +1 -1
  263. package/dist/commonjs/workers/previews/job.js +23 -2
  264. package/dist/commonjs/workers/previews/job.js.map +1 -1
  265. package/dist/commonjs/workspaces/helpers/features.d.ts +55 -5
  266. package/dist/commonjs/workspaces/helpers/features.d.ts.map +1 -1
  267. package/dist/commonjs/workspaces/helpers/features.js +180 -114
  268. package/dist/commonjs/workspaces/helpers/features.js.map +1 -1
  269. package/dist/commonjs/workspaces/helpers/plans.d.ts +1 -0
  270. package/dist/commonjs/workspaces/helpers/plans.d.ts.map +1 -1
  271. package/dist/commonjs/workspaces/helpers/plans.js.map +1 -1
  272. package/dist/esm/acc/helpers/types.d.ts +46 -0
  273. package/dist/esm/acc/helpers/types.d.ts.map +1 -0
  274. package/dist/esm/acc/helpers/types.js +2 -0
  275. package/dist/esm/acc/helpers/types.js.map +1 -0
  276. package/dist/esm/acc/index.d.ts +2 -0
  277. package/dist/esm/acc/index.d.ts.map +1 -0
  278. package/dist/esm/acc/index.js +2 -0
  279. package/dist/esm/acc/index.js.map +1 -0
  280. package/dist/esm/authz/checks/dashboards.d.ts +5 -0
  281. package/dist/esm/authz/checks/dashboards.d.ts.map +1 -0
  282. package/dist/esm/authz/checks/dashboards.js +7 -0
  283. package/dist/esm/authz/checks/dashboards.js.map +1 -0
  284. package/dist/esm/authz/domain/authErrors.d.ts +98 -3
  285. package/dist/esm/authz/domain/authErrors.d.ts.map +1 -1
  286. package/dist/esm/authz/domain/authErrors.js +65 -2
  287. package/dist/esm/authz/domain/authErrors.js.map +1 -1
  288. package/dist/esm/authz/domain/automate/operations.d.ts +5 -0
  289. package/dist/esm/authz/domain/automate/operations.d.ts.map +1 -0
  290. package/dist/esm/authz/domain/automate/operations.js +2 -0
  291. package/dist/esm/authz/domain/automate/operations.js.map +1 -0
  292. package/dist/esm/authz/domain/automate/types.d.ts +10 -0
  293. package/dist/esm/authz/domain/automate/types.d.ts.map +1 -0
  294. package/dist/esm/authz/domain/automate/types.js +2 -0
  295. package/dist/esm/authz/domain/automate/types.js.map +1 -0
  296. package/dist/esm/authz/domain/context.d.ts +12 -0
  297. package/dist/esm/authz/domain/context.d.ts.map +1 -1
  298. package/dist/esm/authz/domain/dashboards/operations.d.ts +5 -0
  299. package/dist/esm/authz/domain/dashboards/operations.d.ts.map +1 -0
  300. package/dist/esm/authz/domain/dashboards/operations.js +2 -0
  301. package/dist/esm/authz/domain/dashboards/operations.js.map +1 -0
  302. package/dist/esm/authz/domain/dashboards/types.d.ts +7 -0
  303. package/dist/esm/authz/domain/dashboards/types.d.ts.map +1 -0
  304. package/dist/esm/authz/domain/dashboards/types.js +2 -0
  305. package/dist/esm/authz/domain/dashboards/types.js.map +1 -0
  306. package/dist/esm/authz/domain/loaders.d.ts +63 -45
  307. package/dist/esm/authz/domain/loaders.d.ts.map +1 -1
  308. package/dist/esm/authz/domain/loaders.js +27 -21
  309. package/dist/esm/authz/domain/loaders.js.map +1 -1
  310. package/dist/esm/authz/domain/savedViews/operations.d.ts +10 -0
  311. package/dist/esm/authz/domain/savedViews/operations.d.ts.map +1 -0
  312. package/dist/esm/authz/domain/savedViews/operations.js +2 -0
  313. package/dist/esm/authz/domain/savedViews/operations.js.map +1 -0
  314. package/dist/esm/authz/domain/savedViews/types.d.ts +26 -0
  315. package/dist/esm/authz/domain/savedViews/types.d.ts.map +1 -0
  316. package/dist/esm/authz/domain/savedViews/types.js +3 -0
  317. package/dist/esm/authz/domain/savedViews/types.js.map +1 -0
  318. package/dist/esm/authz/domain/workspaces/operations.d.ts +2 -1
  319. package/dist/esm/authz/domain/workspaces/operations.d.ts.map +1 -1
  320. package/dist/esm/authz/domain/workspaces/types.d.ts +3 -0
  321. package/dist/esm/authz/domain/workspaces/types.d.ts.map +1 -1
  322. package/dist/esm/authz/fragments/automate.d.ts +7 -0
  323. package/dist/esm/authz/fragments/automate.d.ts.map +1 -0
  324. package/dist/esm/authz/fragments/automate.js +17 -0
  325. package/dist/esm/authz/fragments/automate.js.map +1 -0
  326. package/dist/esm/authz/fragments/dashboards.d.ts +8 -0
  327. package/dist/esm/authz/fragments/dashboards.d.ts.map +1 -0
  328. package/dist/esm/authz/fragments/dashboards.js +42 -0
  329. package/dist/esm/authz/fragments/dashboards.js.map +1 -0
  330. package/dist/esm/authz/fragments/projects.d.ts +13 -1
  331. package/dist/esm/authz/fragments/projects.d.ts.map +1 -1
  332. package/dist/esm/authz/fragments/projects.js +24 -1
  333. package/dist/esm/authz/fragments/projects.js.map +1 -1
  334. package/dist/esm/authz/fragments/savedViews.d.ts +30 -0
  335. package/dist/esm/authz/fragments/savedViews.d.ts.map +1 -0
  336. package/dist/esm/authz/fragments/savedViews.js +117 -0
  337. package/dist/esm/authz/fragments/savedViews.js.map +1 -0
  338. package/dist/esm/authz/fragments/workspaces.d.ts +9 -1
  339. package/dist/esm/authz/fragments/workspaces.d.ts.map +1 -1
  340. package/dist/esm/authz/fragments/workspaces.js +45 -1
  341. package/dist/esm/authz/fragments/workspaces.js.map +1 -1
  342. package/dist/esm/authz/helpers/graphql.d.ts +1 -1
  343. package/dist/esm/authz/helpers/graphql.d.ts.map +1 -1
  344. package/dist/esm/authz/helpers/graphql.js +1 -1
  345. package/dist/esm/authz/helpers/graphql.js.map +1 -1
  346. package/dist/esm/authz/index.d.ts +1 -0
  347. package/dist/esm/authz/index.d.ts.map +1 -1
  348. package/dist/esm/authz/index.js +1 -0
  349. package/dist/esm/authz/index.js.map +1 -1
  350. package/dist/esm/authz/policies/automate/function/canEditFunction.d.ts +10 -0
  351. package/dist/esm/authz/policies/automate/function/canEditFunction.d.ts.map +1 -0
  352. package/dist/esm/authz/policies/automate/function/canEditFunction.js +15 -0
  353. package/dist/esm/authz/policies/automate/function/canEditFunction.js.map +1 -0
  354. package/dist/esm/authz/policies/dashboard/canCreateToken.d.ts +10 -0
  355. package/dist/esm/authz/policies/dashboard/canCreateToken.d.ts.map +1 -0
  356. package/dist/esm/authz/policies/dashboard/canCreateToken.js +41 -0
  357. package/dist/esm/authz/policies/dashboard/canCreateToken.js.map +1 -0
  358. package/dist/esm/authz/policies/dashboard/canDelete.d.ts +10 -0
  359. package/dist/esm/authz/policies/dashboard/canDelete.d.ts.map +1 -0
  360. package/dist/esm/authz/policies/dashboard/canDelete.js +41 -0
  361. package/dist/esm/authz/policies/dashboard/canDelete.js.map +1 -0
  362. package/dist/esm/authz/policies/dashboard/canEdit.d.ts +10 -0
  363. package/dist/esm/authz/policies/dashboard/canEdit.d.ts.map +1 -0
  364. package/dist/esm/authz/policies/dashboard/canEdit.js +39 -0
  365. package/dist/esm/authz/policies/dashboard/canEdit.js.map +1 -0
  366. package/dist/esm/authz/policies/dashboard/canRead.d.ts +10 -0
  367. package/dist/esm/authz/policies/dashboard/canRead.d.ts.map +1 -0
  368. package/dist/esm/authz/policies/dashboard/canRead.js +38 -0
  369. package/dist/esm/authz/policies/dashboard/canRead.js.map +1 -0
  370. package/dist/esm/authz/policies/index.d.ts +62 -1
  371. package/dist/esm/authz/policies/index.d.ts.map +1 -1
  372. package/dist/esm/authz/policies/index.js +52 -4
  373. package/dist/esm/authz/policies/index.js.map +1 -1
  374. package/dist/esm/authz/policies/project/canLoad.d.ts.map +1 -1
  375. package/dist/esm/authz/policies/project/canLoad.js +6 -0
  376. package/dist/esm/authz/policies/project/canLoad.js.map +1 -1
  377. package/dist/esm/authz/policies/project/canReadAccIntegrationSettings.d.ts +10 -0
  378. package/dist/esm/authz/policies/project/canReadAccIntegrationSettings.d.ts.map +1 -0
  379. package/dist/esm/authz/policies/project/canReadAccIntegrationSettings.js +31 -0
  380. package/dist/esm/authz/policies/project/canReadAccIntegrationSettings.js.map +1 -0
  381. package/dist/esm/authz/policies/project/canUpdateEmbedTokens.d.ts +10 -0
  382. package/dist/esm/authz/policies/project/canUpdateEmbedTokens.d.ts.map +1 -0
  383. package/dist/esm/authz/policies/project/canUpdateEmbedTokens.js +48 -0
  384. package/dist/esm/authz/policies/project/canUpdateEmbedTokens.js.map +1 -0
  385. package/dist/esm/authz/policies/project/savedViews/canCreate.d.ts +6 -0
  386. package/dist/esm/authz/policies/project/savedViews/canCreate.d.ts.map +1 -0
  387. package/dist/esm/authz/policies/project/savedViews/canCreate.js +27 -0
  388. package/dist/esm/authz/policies/project/savedViews/canCreate.js.map +1 -0
  389. package/dist/esm/authz/policies/project/savedViews/canCreateSavedViewGroupToken.d.ts +6 -0
  390. package/dist/esm/authz/policies/project/savedViews/canCreateSavedViewGroupToken.d.ts.map +1 -0
  391. package/dist/esm/authz/policies/project/savedViews/canCreateSavedViewGroupToken.js +57 -0
  392. package/dist/esm/authz/policies/project/savedViews/canCreateSavedViewGroupToken.js.map +1 -0
  393. package/dist/esm/authz/policies/project/savedViews/canEditDescription.d.ts +6 -0
  394. package/dist/esm/authz/policies/project/savedViews/canEditDescription.d.ts.map +1 -0
  395. package/dist/esm/authz/policies/project/savedViews/canEditDescription.js +10 -0
  396. package/dist/esm/authz/policies/project/savedViews/canEditDescription.js.map +1 -0
  397. package/dist/esm/authz/policies/project/savedViews/canEditTitle.d.ts +6 -0
  398. package/dist/esm/authz/policies/project/savedViews/canEditTitle.d.ts.map +1 -0
  399. package/dist/esm/authz/policies/project/savedViews/canEditTitle.js +10 -0
  400. package/dist/esm/authz/policies/project/savedViews/canEditTitle.js.map +1 -0
  401. package/dist/esm/authz/policies/project/savedViews/canMove.d.ts +6 -0
  402. package/dist/esm/authz/policies/project/savedViews/canMove.d.ts.map +1 -0
  403. package/dist/esm/authz/policies/project/savedViews/canMove.js +10 -0
  404. package/dist/esm/authz/policies/project/savedViews/canMove.js.map +1 -0
  405. package/dist/esm/authz/policies/project/savedViews/canRead.d.ts +11 -0
  406. package/dist/esm/authz/policies/project/savedViews/canRead.d.ts.map +1 -0
  407. package/dist/esm/authz/policies/project/savedViews/canRead.js +11 -0
  408. package/dist/esm/authz/policies/project/savedViews/canRead.js.map +1 -0
  409. package/dist/esm/authz/policies/project/savedViews/canSetAsHomeView.d.ts +6 -0
  410. package/dist/esm/authz/policies/project/savedViews/canSetAsHomeView.d.ts.map +1 -0
  411. package/dist/esm/authz/policies/project/savedViews/canSetAsHomeView.js +41 -0
  412. package/dist/esm/authz/policies/project/savedViews/canSetAsHomeView.js.map +1 -0
  413. package/dist/esm/authz/policies/project/savedViews/canUpdate.d.ts +6 -0
  414. package/dist/esm/authz/policies/project/savedViews/canUpdate.d.ts.map +1 -0
  415. package/dist/esm/authz/policies/project/savedViews/canUpdate.js +10 -0
  416. package/dist/esm/authz/policies/project/savedViews/canUpdate.js.map +1 -0
  417. package/dist/esm/authz/policies/project/savedViews/canUpdateGroup.d.ts +6 -0
  418. package/dist/esm/authz/policies/project/savedViews/canUpdateGroup.d.ts.map +1 -0
  419. package/dist/esm/authz/policies/project/savedViews/canUpdateGroup.js +10 -0
  420. package/dist/esm/authz/policies/project/savedViews/canUpdateGroup.js.map +1 -0
  421. package/dist/esm/authz/policies/workspace/canCreateDashboards.d.ts +10 -0
  422. package/dist/esm/authz/policies/workspace/canCreateDashboards.d.ts.map +1 -0
  423. package/dist/esm/authz/policies/workspace/canCreateDashboards.js +35 -0
  424. package/dist/esm/authz/policies/workspace/canCreateDashboards.js.map +1 -0
  425. package/dist/esm/authz/policies/workspace/canCreateWorkspace.d.ts +10 -0
  426. package/dist/esm/authz/policies/workspace/canCreateWorkspace.d.ts.map +1 -0
  427. package/dist/esm/authz/policies/workspace/canCreateWorkspace.js +47 -0
  428. package/dist/esm/authz/policies/workspace/canCreateWorkspace.js.map +1 -0
  429. package/dist/esm/authz/policies/workspace/canListDashboards.d.ts +10 -0
  430. package/dist/esm/authz/policies/workspace/canListDashboards.d.ts.map +1 -0
  431. package/dist/esm/authz/policies/workspace/canListDashboards.js +22 -0
  432. package/dist/esm/authz/policies/workspace/canListDashboards.js.map +1 -0
  433. package/dist/esm/authz/policies/workspace/canReadMemberEmail.d.ts +1 -1
  434. package/dist/esm/authz/policies/workspace/canReadMemberEmail.d.ts.map +1 -1
  435. package/dist/esm/authz/policies/workspace/canReadMemberEmail.js +2 -21
  436. package/dist/esm/authz/policies/workspace/canReadMemberEmail.js.map +1 -1
  437. package/dist/esm/authz/policies/workspace/{canUpdateEmbedOptions.d.ts → canUseWorkspacePlanFeature.d.ts} +13 -5
  438. package/dist/esm/authz/policies/workspace/canUseWorkspacePlanFeature.d.ts.map +1 -0
  439. package/dist/esm/authz/policies/workspace/canUseWorkspacePlanFeature.js +23 -0
  440. package/dist/esm/authz/policies/workspace/canUseWorkspacePlanFeature.js.map +1 -0
  441. package/dist/esm/automate/helpers/types.d.ts +313 -51
  442. package/dist/esm/automate/helpers/types.d.ts.map +1 -1
  443. package/dist/esm/automate/helpers/types.js +11 -1
  444. package/dist/esm/automate/helpers/types.js.map +1 -1
  445. package/dist/esm/blobs/index.d.ts +17 -0
  446. package/dist/esm/blobs/index.d.ts.map +1 -0
  447. package/dist/esm/blobs/index.js +111 -0
  448. package/dist/esm/blobs/index.js.map +1 -0
  449. package/dist/esm/core/constants.d.ts +4 -2
  450. package/dist/esm/core/constants.d.ts.map +1 -1
  451. package/dist/esm/core/constants.js +24 -4
  452. package/dist/esm/core/constants.js.map +1 -1
  453. package/dist/esm/core/helpers/encoding.d.ts +2 -0
  454. package/dist/esm/core/helpers/encoding.d.ts.map +1 -0
  455. package/dist/esm/core/helpers/encoding.js +11 -0
  456. package/dist/esm/core/helpers/encoding.js.map +1 -0
  457. package/dist/esm/core/helpers/error.d.ts +11 -0
  458. package/dist/esm/core/helpers/error.d.ts.map +1 -1
  459. package/dist/esm/core/helpers/error.js +56 -1
  460. package/dist/esm/core/helpers/error.js.map +1 -1
  461. package/dist/esm/core/helpers/url.d.ts +24 -0
  462. package/dist/esm/core/helpers/url.d.ts.map +1 -1
  463. package/dist/esm/core/helpers/url.js +30 -0
  464. package/dist/esm/core/helpers/url.js.map +1 -1
  465. package/dist/esm/core/helpers/utility.d.ts +16 -0
  466. package/dist/esm/core/helpers/utility.d.ts.map +1 -1
  467. package/dist/esm/core/helpers/utility.js +19 -0
  468. package/dist/esm/core/helpers/utility.js.map +1 -1
  469. package/dist/esm/core/index.d.ts +2 -0
  470. package/dist/esm/core/index.d.ts.map +1 -1
  471. package/dist/esm/core/index.js +2 -0
  472. package/dist/esm/core/index.js.map +1 -1
  473. package/dist/esm/core/utils/base64.d.ts +3 -0
  474. package/dist/esm/core/utils/base64.d.ts.map +1 -0
  475. package/dist/esm/core/utils/base64.js +21 -0
  476. package/dist/esm/core/utils/base64.js.map +1 -0
  477. package/dist/esm/environment/{multiRegionConfig.d.ts → db.d.ts} +54 -5
  478. package/dist/esm/environment/db.d.ts.map +1 -0
  479. package/dist/esm/environment/{multiRegionConfig.js → db.js} +40 -7
  480. package/dist/esm/environment/db.js.map +1 -0
  481. package/dist/esm/environment/featureFlags.d.ts +25 -0
  482. package/dist/esm/environment/featureFlags.d.ts.map +1 -0
  483. package/dist/esm/environment/featureFlags.js +5 -0
  484. package/dist/esm/environment/featureFlags.js.map +1 -0
  485. package/dist/esm/environment/index.d.ts +2 -15
  486. package/dist/esm/environment/index.d.ts.map +1 -1
  487. package/dist/esm/environment/index.js +44 -7
  488. package/dist/esm/environment/index.js.map +1 -1
  489. package/dist/esm/environment/node.d.ts +5 -0
  490. package/dist/esm/environment/node.d.ts.map +1 -0
  491. package/dist/esm/environment/node.js +11 -0
  492. package/dist/esm/environment/node.js.map +1 -0
  493. package/dist/esm/images/base64.d.ts +2 -0
  494. package/dist/esm/images/base64.d.ts.map +1 -0
  495. package/dist/esm/images/base64.js +15 -0
  496. package/dist/esm/images/base64.js.map +1 -0
  497. package/dist/esm/index.d.ts +1 -0
  498. package/dist/esm/index.d.ts.map +1 -1
  499. package/dist/esm/index.js +1 -0
  500. package/dist/esm/index.js.map +1 -1
  501. package/dist/esm/observability/index.d.ts.map +1 -1
  502. package/dist/esm/observability/index.js +19 -2
  503. package/dist/esm/observability/index.js.map +1 -1
  504. package/dist/esm/queue/config.d.ts +3 -0
  505. package/dist/esm/queue/config.d.ts.map +1 -1
  506. package/dist/esm/queue/config.js +12 -4
  507. package/dist/esm/queue/config.js.map +1 -1
  508. package/dist/esm/rich-text-editor/helpers/index.d.ts +13 -1
  509. package/dist/esm/rich-text-editor/helpers/index.d.ts.map +1 -1
  510. package/dist/esm/rich-text-editor/helpers/index.js +1 -0
  511. package/dist/esm/rich-text-editor/helpers/index.js.map +1 -1
  512. package/dist/esm/saved-views/helpers/defaultGroup.d.ts +23 -0
  513. package/dist/esm/saved-views/helpers/defaultGroup.d.ts.map +1 -0
  514. package/dist/esm/saved-views/helpers/defaultGroup.js +51 -0
  515. package/dist/esm/saved-views/helpers/defaultGroup.js.map +1 -0
  516. package/dist/esm/saved-views/index.d.ts +2 -0
  517. package/dist/esm/saved-views/index.d.ts.map +1 -0
  518. package/dist/esm/saved-views/index.js +2 -0
  519. package/dist/esm/saved-views/index.js.map +1 -0
  520. package/dist/esm/viewer/helpers/route.d.ts +42 -7
  521. package/dist/esm/viewer/helpers/route.d.ts.map +1 -1
  522. package/dist/esm/viewer/helpers/route.js +140 -30
  523. package/dist/esm/viewer/helpers/route.js.map +1 -1
  524. package/dist/esm/viewer/helpers/state.d.ts +59 -6
  525. package/dist/esm/viewer/helpers/state.d.ts.map +1 -1
  526. package/dist/esm/viewer/helpers/state.js +97 -22
  527. package/dist/esm/viewer/helpers/state.js.map +1 -1
  528. package/dist/esm/workers/fileimport/job.d.ts +85 -9
  529. package/dist/esm/workers/fileimport/job.d.ts.map +1 -1
  530. package/dist/esm/workers/fileimport/job.js +20 -9
  531. package/dist/esm/workers/fileimport/job.js.map +1 -1
  532. package/dist/esm/workers/previews/job.d.ts +37 -20
  533. package/dist/esm/workers/previews/job.d.ts.map +1 -1
  534. package/dist/esm/workers/previews/job.js +20 -1
  535. package/dist/esm/workers/previews/job.js.map +1 -1
  536. package/dist/esm/workspaces/helpers/features.d.ts +55 -5
  537. package/dist/esm/workspaces/helpers/features.d.ts.map +1 -1
  538. package/dist/esm/workspaces/helpers/features.js +173 -113
  539. package/dist/esm/workspaces/helpers/features.js.map +1 -1
  540. package/dist/esm/workspaces/helpers/plans.d.ts +1 -0
  541. package/dist/esm/workspaces/helpers/plans.d.ts.map +1 -1
  542. package/dist/esm/workspaces/helpers/plans.js.map +1 -1
  543. package/package.json +110 -8
  544. package/src/acc/helpers/types.ts +42 -0
  545. package/src/acc/index.ts +1 -0
  546. package/src/authz/checks/dashboards.spec.ts +46 -0
  547. package/src/authz/checks/dashboards.ts +14 -0
  548. package/src/authz/domain/authErrors.ts +87 -2
  549. package/src/authz/domain/automate/operations.ts +5 -0
  550. package/src/authz/domain/automate/types.ts +9 -0
  551. package/src/authz/domain/context.ts +8 -0
  552. package/src/authz/domain/dashboards/operations.ts +3 -0
  553. package/src/authz/domain/dashboards/types.ts +6 -0
  554. package/src/authz/domain/loaders.ts +40 -24
  555. package/src/authz/domain/savedViews/operations.ts +11 -0
  556. package/src/authz/domain/savedViews/types.ts +25 -0
  557. package/src/authz/domain/workspaces/operations.ts +3 -1
  558. package/src/authz/domain/workspaces/types.ts +4 -0
  559. package/src/authz/fragments/automate.spec.ts +120 -0
  560. package/src/authz/fragments/automate.ts +36 -0
  561. package/src/authz/fragments/dashboards.ts +90 -0
  562. package/src/authz/fragments/projects.spec.ts +135 -10
  563. package/src/authz/fragments/projects.ts +53 -1
  564. package/src/authz/fragments/savedViews.spec.ts +551 -0
  565. package/src/authz/fragments/savedViews.ts +245 -0
  566. package/src/authz/fragments/workspaces.spec.ts +234 -7
  567. package/src/authz/fragments/workspaces.ts +84 -0
  568. package/src/authz/helpers/graphql.ts +2 -2
  569. package/src/authz/index.ts +1 -0
  570. package/src/authz/policies/automate/function/canEditFunction.spec.ts +87 -0
  571. package/src/authz/policies/automate/function/canEditFunction.ts +46 -0
  572. package/src/authz/policies/dashboard/canCreateToken.ts +89 -0
  573. package/src/authz/policies/dashboard/canDelete.ts +84 -0
  574. package/src/authz/policies/dashboard/canEdit.ts +79 -0
  575. package/src/authz/policies/dashboard/canRead.ts +83 -0
  576. package/src/authz/policies/index.spec.ts +13 -0
  577. package/src/authz/policies/index.ts +52 -4
  578. package/src/authz/policies/project/automation/canCreate.spec.ts +2 -1
  579. package/src/authz/policies/project/automation/canDelete.spec.ts +2 -1
  580. package/src/authz/policies/project/automation/canUpdate.spec.ts +2 -1
  581. package/src/authz/policies/project/canBroadcastActivity.spec.ts +2 -2
  582. package/src/authz/policies/project/canDelete.spec.ts +2 -2
  583. package/src/authz/policies/project/canLeave.spec.ts +2 -2
  584. package/src/authz/policies/project/canLoad.spec.ts +17 -1
  585. package/src/authz/policies/project/canLoad.ts +7 -0
  586. package/src/authz/policies/project/canMoveToWorkspace.spec.ts +6 -10
  587. package/src/authz/policies/project/canPublish.spec.ts +2 -1
  588. package/src/authz/policies/project/canRead.spec.ts +2 -3
  589. package/src/authz/policies/project/canReadAccIntegrationSettings.spec.ts +133 -0
  590. package/src/authz/policies/project/canReadAccIntegrationSettings.ts +87 -0
  591. package/src/authz/policies/project/canReadSettings.spec.ts +2 -2
  592. package/src/authz/policies/project/canReadWebhooks.spec.ts +2 -2
  593. package/src/authz/policies/project/canUpdate.spec.ts +2 -5
  594. package/src/authz/policies/project/canUpdateEmbedTokens.spec.ts +132 -0
  595. package/src/authz/policies/project/canUpdateEmbedTokens.ts +101 -0
  596. package/src/authz/policies/project/comment/canArchive.spec.ts +6 -5
  597. package/src/authz/policies/project/comment/canCreate.spec.ts +2 -2
  598. package/src/authz/policies/project/comment/canEdit.spec.ts +6 -5
  599. package/src/authz/policies/project/model/canDelete.spec.ts +6 -2
  600. package/src/authz/policies/project/model/canUpdate.spec.ts +2 -5
  601. package/src/authz/policies/project/savedViews/canCreate.spec.ts +186 -0
  602. package/src/authz/policies/project/savedViews/canCreate.ts +81 -0
  603. package/src/authz/policies/project/savedViews/canCreateSavedViewGroupToken.spec.ts +250 -0
  604. package/src/authz/policies/project/savedViews/canCreateSavedViewGroupToken.ts +117 -0
  605. package/src/authz/policies/project/savedViews/canEditDescription.spec.ts +206 -0
  606. package/src/authz/policies/project/savedViews/canEditDescription.ts +67 -0
  607. package/src/authz/policies/project/savedViews/canEditTitle.spec.ts +204 -0
  608. package/src/authz/policies/project/savedViews/canEditTitle.ts +67 -0
  609. package/src/authz/policies/project/savedViews/canMove.spec.ts +204 -0
  610. package/src/authz/policies/project/savedViews/canMove.ts +67 -0
  611. package/src/authz/policies/project/savedViews/canRead.ts +72 -0
  612. package/src/authz/policies/project/savedViews/canSetAsHomeView.spec.ts +248 -0
  613. package/src/authz/policies/project/savedViews/canSetAsHomeView.ts +108 -0
  614. package/src/authz/policies/project/savedViews/canUpdate.spec.ts +191 -0
  615. package/src/authz/policies/project/savedViews/canUpdate.ts +67 -0
  616. package/src/authz/policies/project/savedViews/canUpdateGroup.spec.ts +227 -0
  617. package/src/authz/policies/project/savedViews/canUpdateGroup.ts +63 -0
  618. package/src/authz/policies/project/version/canUpdate.spec.ts +6 -5
  619. package/src/authz/policies/workspace/canCreateDashboards.ts +71 -0
  620. package/src/authz/policies/workspace/canCreateWorkspace.spec.ts +380 -0
  621. package/src/authz/policies/workspace/canCreateWorkspace.ts +77 -0
  622. package/src/authz/policies/workspace/canListDashboards.ts +53 -0
  623. package/src/authz/policies/workspace/canReadMemberEmail.spec.ts +25 -36
  624. package/src/authz/policies/workspace/canReadMemberEmail.ts +11 -34
  625. package/src/authz/policies/workspace/canReceiveProjectsUpdatedMessage.spec.ts +2 -5
  626. package/src/authz/policies/workspace/{canUpdateEmbedOptions.spec.ts → canUseWorkspacePlanFeature.spec.ts} +40 -38
  627. package/src/authz/policies/workspace/canUseWorkspacePlanFeature.ts +69 -0
  628. package/src/automate/helpers/types.ts +17 -3
  629. package/src/blobs/index.ts +121 -0
  630. package/src/core/constants.ts +25 -4
  631. package/src/core/helpers/encoding.ts +12 -0
  632. package/src/core/helpers/error.spec.ts +215 -0
  633. package/src/core/helpers/error.ts +58 -1
  634. package/src/core/helpers/url.ts +33 -0
  635. package/src/core/helpers/utility.spec.ts +19 -1
  636. package/src/core/helpers/utility.ts +31 -0
  637. package/src/core/index.ts +2 -0
  638. package/src/core/utils/base64.spec.ts +31 -0
  639. package/src/core/utils/base64.ts +19 -0
  640. package/src/environment/db.spec.ts +48 -0
  641. package/src/environment/{multiRegionConfig.ts → db.ts} +62 -8
  642. package/src/environment/featureFlags.ts +25 -0
  643. package/src/environment/index.spec.ts +126 -0
  644. package/src/environment/index.ts +51 -24
  645. package/src/environment/node.ts +11 -0
  646. package/src/images/base64.spec.ts +42 -0
  647. package/src/images/base64.ts +15 -0
  648. package/src/index.ts +1 -0
  649. package/src/observability/index.ts +22 -2
  650. package/src/queue/config.ts +18 -6
  651. package/src/rich-text-editor/helpers/index.ts +15 -1
  652. package/src/saved-views/helpers/defaultGroup.spec.ts +12 -0
  653. package/src/saved-views/helpers/defaultGroup.ts +70 -0
  654. package/src/saved-views/index.ts +1 -0
  655. package/src/tests/fakes.ts +55 -4
  656. package/src/viewer/helpers/route.spec.ts +353 -0
  657. package/src/viewer/helpers/route.ts +180 -25
  658. package/src/viewer/helpers/state.spec.ts +252 -0
  659. package/src/viewer/helpers/state.ts +158 -27
  660. package/src/workers/fileimport/job.ts +40 -21
  661. package/src/workers/previews/job.ts +23 -1
  662. package/src/workspaces/helpers/features.spec.ts +99 -0
  663. package/src/workspaces/helpers/features.ts +215 -119
  664. package/src/workspaces/helpers/plans.ts +1 -0
  665. package/dist/commonjs/authz/policies/workspace/canUpdateEmbedOptions.d.ts.map +0 -1
  666. package/dist/commonjs/authz/policies/workspace/canUpdateEmbedOptions.js +0 -44
  667. package/dist/commonjs/authz/policies/workspace/canUpdateEmbedOptions.js.map +0 -1
  668. package/dist/commonjs/environment/multiRegionConfig.d.ts.map +0 -1
  669. package/dist/commonjs/environment/multiRegionConfig.js.map +0 -1
  670. package/dist/esm/authz/policies/workspace/canUpdateEmbedOptions.d.ts.map +0 -1
  671. package/dist/esm/authz/policies/workspace/canUpdateEmbedOptions.js +0 -40
  672. package/dist/esm/authz/policies/workspace/canUpdateEmbedOptions.js.map +0 -1
  673. package/dist/esm/environment/multiRegionConfig.d.ts.map +0 -1
  674. package/dist/esm/environment/multiRegionConfig.js.map +0 -1
  675. package/src/authz/policies/workspace/canUpdateEmbedOptions.ts +0 -89
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.canCreateSavedViewGroupTokenPolicy = void 0;
4
+ const constants_js_1 = require("../../../../core/constants.js");
5
+ const authErrors_js_1 = require("../../../domain/authErrors.js");
6
+ const projects_js_1 = require("../../../fragments/projects.js");
7
+ const savedViews_js_1 = require("../../../fragments/savedViews.js");
8
+ const result_1 = require("true-myth/result");
9
+ const canCreateSavedViewGroupTokenPolicy = (loaders) => async ({ userId, projectId, savedViewGroupId }) => {
10
+ const canUseSavedViews = await (0, savedViews_js_1.ensureCanAccessSavedViewGroupFragment)(loaders)({
11
+ userId,
12
+ projectId,
13
+ savedViewGroupId,
14
+ access: 'write'
15
+ });
16
+ if (canUseSavedViews.isErr)
17
+ return (0, result_1.err)(canUseSavedViews.error);
18
+ const env = await loaders.getEnv();
19
+ const project = await loaders.getProject({ projectId });
20
+ if (!!project?.workspaceId && env.FF_WORKSPACES_MODULE_ENABLED) {
21
+ // Ensure owner-level access and valid plan
22
+ const ensuredProjectRole = await (0, projects_js_1.ensureImplicitProjectMemberWithWriteAccessFragment)(loaders)({
23
+ userId,
24
+ projectId,
25
+ role: constants_js_1.Roles.Stream.Owner
26
+ });
27
+ if (ensuredProjectRole.isErr) {
28
+ return (0, result_1.err)(ensuredProjectRole.error);
29
+ }
30
+ const plan = await loaders.getWorkspacePlan({ workspaceId: project.workspaceId });
31
+ switch (plan?.name) {
32
+ case 'academia':
33
+ case 'enterprise':
34
+ case 'pro':
35
+ case 'proUnlimited':
36
+ case 'proUnlimitedInvoiced':
37
+ case 'team':
38
+ case 'teamUnlimited':
39
+ case 'teamUnlimitedInvoiced':
40
+ case 'unlimited':
41
+ return (0, result_1.ok)();
42
+ case 'free':
43
+ default:
44
+ return (0, result_1.err)(new authErrors_js_1.WorkspacePlanNoFeatureAccessError());
45
+ }
46
+ }
47
+ else {
48
+ // Ensure project owner
49
+ const isProjectOwner = await (0, projects_js_1.ensureMinimumProjectRoleFragment)(loaders)({
50
+ userId: userId,
51
+ projectId,
52
+ role: constants_js_1.Roles.Stream.Owner
53
+ });
54
+ if (isProjectOwner.isErr) {
55
+ return (0, result_1.err)(isProjectOwner.error);
56
+ }
57
+ return (0, result_1.ok)();
58
+ }
59
+ };
60
+ exports.canCreateSavedViewGroupTokenPolicy = canCreateSavedViewGroupTokenPolicy;
61
+ //# sourceMappingURL=canCreateSavedViewGroupToken.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canCreateSavedViewGroupToken.js","sourceRoot":"","sources":["../../../../../../src/authz/policies/project/savedViews/canCreateSavedViewGroupToken.ts"],"names":[],"mappings":";;;AAAA,gEAAqD;AACrD,iEAesC;AAQtC,gEAGuC;AACvC,oEAAwF;AACxF,6CAA0C;AAEnC,MAAM,kCAAkC,GA6B7C,CAAC,OAAO,EAAE,EAAE,CACZ,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,EAAE,EAAE;IAChD,MAAM,gBAAgB,GAAG,MAAM,IAAA,qDAAqC,EAAC,OAAO,CAAC,CAAC;QAC5E,MAAM;QACN,SAAS;QACT,gBAAgB;QAChB,MAAM,EAAE,OAAO;KAChB,CAAC,CAAA;IAEF,IAAI,gBAAgB,CAAC,KAAK;QAAE,OAAO,IAAA,YAAG,EAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;IAE9D,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAA;IAClC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC,CAAA;IAEvD,IAAI,CAAC,CAAC,OAAO,EAAE,WAAW,IAAI,GAAG,CAAC,4BAA4B,EAAE,CAAC;QAC/D,2CAA2C;QAC3C,MAAM,kBAAkB,GACtB,MAAM,IAAA,gEAAkD,EAAC,OAAO,CAAC,CAAC;YAChE,MAAM;YACN,SAAS;YACT,IAAI,EAAE,oBAAK,CAAC,MAAM,CAAC,KAAK;SACzB,CAAC,CAAA;QACJ,IAAI,kBAAkB,CAAC,KAAK,EAAE,CAAC;YAC7B,OAAO,IAAA,YAAG,EAAC,kBAAkB,CAAC,KAAK,CAAC,CAAA;QACtC,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAA;QAEjF,QAAQ,IAAI,EAAE,IAAI,EAAE,CAAC;YACnB,KAAK,UAAU,CAAC;YAChB,KAAK,YAAY,CAAC;YAClB,KAAK,KAAK,CAAC;YACX,KAAK,cAAc,CAAC;YACpB,KAAK,sBAAsB,CAAC;YAC5B,KAAK,MAAM,CAAC;YACZ,KAAK,eAAe,CAAC;YACrB,KAAK,uBAAuB,CAAC;YAC7B,KAAK,WAAW;gBACd,OAAO,IAAA,WAAE,GAAE,CAAA;YACb,KAAK,MAAM,CAAC;YACZ;gBACE,OAAO,IAAA,YAAG,EAAC,IAAI,iDAAiC,EAAE,CAAC,CAAA;QACvD,CAAC;IACH,CAAC;SAAM,CAAC;QACN,uBAAuB;QACvB,MAAM,cAAc,GAAG,MAAM,IAAA,8CAAgC,EAAC,OAAO,CAAC,CAAC;YACrE,MAAM,EAAE,MAAO;YACf,SAAS;YACT,IAAI,EAAE,oBAAK,CAAC,MAAM,CAAC,KAAK;SACzB,CAAC,CAAA;QACF,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC;YACzB,OAAO,IAAA,YAAG,EAAC,cAAc,CAAC,KAAK,CAAC,CAAA;QAClC,CAAC;QAED,OAAO,IAAA,WAAE,GAAE,CAAA;IACb,CAAC;AACH,CAAC,CAAA;AArFU,QAAA,kCAAkC,sCAqF5C"}
@@ -0,0 +1,6 @@
1
+ import { ProjectNoAccessError, ProjectNotEnoughPermissionsError, ProjectNotFoundError, SavedViewNoAccessError, SavedViewNotFoundError, ServerNoAccessError, ServerNoSessionError, ServerNotEnoughPermissionsError, WorkspaceNoAccessError, WorkspaceNotEnoughPermissionsError, WorkspacePlanNoFeatureAccessError, WorkspaceReadOnlyError, WorkspacesNotEnabledError, WorkspaceSsoSessionNoAccessError } from '../../../domain/authErrors.js';
2
+ import { MaybeUserContext, ProjectContext, SavedViewContext } from '../../../domain/context.js';
3
+ import { Loaders } from '../../../domain/loaders.js';
4
+ import { AuthPolicy } from '../../../domain/policies.js';
5
+ export declare const canEditSavedViewDescriptionPolicy: AuthPolicy<typeof Loaders.getSavedView | typeof Loaders.getProject | typeof Loaders.getEnv | typeof Loaders.getServerRole | typeof Loaders.getWorkspaceRole | typeof Loaders.getWorkspace | typeof Loaders.getWorkspacePlan | typeof Loaders.getWorkspaceSsoProvider | typeof Loaders.getWorkspaceSsoSession | typeof Loaders.getAdminOverrideEnabled | typeof Loaders.getProjectRole, MaybeUserContext & ProjectContext & SavedViewContext, InstanceType<typeof SavedViewNotFoundError | typeof SavedViewNoAccessError | typeof ProjectNotFoundError | typeof ServerNoAccessError | typeof ServerNoSessionError | typeof ProjectNoAccessError | typeof WorkspaceNoAccessError | typeof WorkspaceSsoSessionNoAccessError | typeof ServerNotEnoughPermissionsError | typeof ProjectNotEnoughPermissionsError | typeof WorkspaceNotEnoughPermissionsError | typeof WorkspacesNotEnabledError | typeof WorkspaceReadOnlyError | typeof WorkspacePlanNoFeatureAccessError>>;
6
+ //# sourceMappingURL=canEditDescription.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canEditDescription.d.ts","sourceRoot":"","sources":["../../../../../../src/authz/policies/project/savedViews/canEditDescription.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,gCAAgC,EAChC,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,+BAA+B,EAC/B,sBAAsB,EACtB,kCAAkC,EAClC,iCAAiC,EACjC,sBAAsB,EACtB,yBAAyB,EACzB,gCAAgC,EACjC,MAAM,+BAA+B,CAAA;AACtC,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EACjB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAMxD,eAAO,MAAM,iCAAiC,EAAE,UAAU,CACtD,OAAO,OAAO,CAAC,YAAY,GAC3B,OAAO,OAAO,CAAC,UAAU,GACzB,OAAO,OAAO,CAAC,MAAM,GACrB,OAAO,OAAO,CAAC,aAAa,GAC5B,OAAO,OAAO,CAAC,gBAAgB,GAC/B,OAAO,OAAO,CAAC,YAAY,GAC3B,OAAO,OAAO,CAAC,gBAAgB,GAC/B,OAAO,OAAO,CAAC,uBAAuB,GACtC,OAAO,OAAO,CAAC,sBAAsB,GACrC,OAAO,OAAO,CAAC,uBAAuB,GACtC,OAAO,OAAO,CAAC,cAAc,EAC/B,gBAAgB,GAAG,cAAc,GAAG,gBAAgB,EACpD,YAAY,CACR,OAAO,sBAAsB,GAC7B,OAAO,sBAAsB,GAC7B,OAAO,oBAAoB,GAC3B,OAAO,mBAAmB,GAC1B,OAAO,oBAAoB,GAC3B,OAAO,oBAAoB,GAC3B,OAAO,sBAAsB,GAC7B,OAAO,gCAAgC,GACvC,OAAO,+BAA+B,GACtC,OAAO,gCAAgC,GACvC,OAAO,kCAAkC,GACzC,OAAO,yBAAyB,GAChC,OAAO,sBAAsB,GAC7B,OAAO,iCAAiC,CAC3C,CAUA,CAAA"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.canEditSavedViewDescriptionPolicy = void 0;
4
+ const savedViews_js_1 = require("../../../fragments/savedViews.js");
5
+ const canEditSavedViewDescriptionPolicy = (loaders) => async ({ userId, projectId, savedViewId }) => {
6
+ return await (0, savedViews_js_1.ensureCanAccessSavedViewFragment)(loaders)({
7
+ userId,
8
+ projectId,
9
+ savedViewId,
10
+ access: savedViews_js_1.WriteTypes.EditDescription
11
+ });
12
+ };
13
+ exports.canEditSavedViewDescriptionPolicy = canEditSavedViewDescriptionPolicy;
14
+ //# sourceMappingURL=canEditDescription.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canEditDescription.js","sourceRoot":"","sources":["../../../../../../src/authz/policies/project/savedViews/canEditDescription.ts"],"names":[],"mappings":";;;AAuBA,oEAGyC;AAElC,MAAM,iCAAiC,GA8B5C,CAAC,OAAO,EAAE,EAAE,CACZ,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE;IAC3C,OAAO,MAAM,IAAA,gDAAgC,EAAC,OAAO,CAAC,CAAC;QACrD,MAAM;QACN,SAAS;QACT,WAAW;QACX,MAAM,EAAE,0BAAU,CAAC,eAAe;KACnC,CAAC,CAAA;AACJ,CAAC,CAAA;AAtCU,QAAA,iCAAiC,qCAsC3C"}
@@ -0,0 +1,6 @@
1
+ import { ProjectNoAccessError, ProjectNotEnoughPermissionsError, ProjectNotFoundError, SavedViewNoAccessError, SavedViewNotFoundError, ServerNoAccessError, ServerNoSessionError, ServerNotEnoughPermissionsError, WorkspaceNoAccessError, WorkspaceNotEnoughPermissionsError, WorkspacePlanNoFeatureAccessError, WorkspaceReadOnlyError, WorkspacesNotEnabledError, WorkspaceSsoSessionNoAccessError } from '../../../domain/authErrors.js';
2
+ import { MaybeUserContext, ProjectContext, SavedViewContext } from '../../../domain/context.js';
3
+ import { Loaders } from '../../../domain/loaders.js';
4
+ import { AuthPolicy } from '../../../domain/policies.js';
5
+ export declare const canEditSavedViewTitlePolicy: AuthPolicy<typeof Loaders.getSavedView | typeof Loaders.getProject | typeof Loaders.getEnv | typeof Loaders.getServerRole | typeof Loaders.getWorkspaceRole | typeof Loaders.getWorkspace | typeof Loaders.getWorkspacePlan | typeof Loaders.getWorkspaceSsoProvider | typeof Loaders.getWorkspaceSsoSession | typeof Loaders.getAdminOverrideEnabled | typeof Loaders.getProjectRole, MaybeUserContext & ProjectContext & SavedViewContext, InstanceType<typeof SavedViewNotFoundError | typeof SavedViewNoAccessError | typeof ProjectNotFoundError | typeof ServerNoAccessError | typeof ServerNoSessionError | typeof ProjectNoAccessError | typeof WorkspaceNoAccessError | typeof WorkspaceSsoSessionNoAccessError | typeof ServerNotEnoughPermissionsError | typeof ProjectNotEnoughPermissionsError | typeof WorkspaceNotEnoughPermissionsError | typeof WorkspacesNotEnabledError | typeof WorkspaceReadOnlyError | typeof WorkspacePlanNoFeatureAccessError>>;
6
+ //# sourceMappingURL=canEditTitle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canEditTitle.d.ts","sourceRoot":"","sources":["../../../../../../src/authz/policies/project/savedViews/canEditTitle.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,gCAAgC,EAChC,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,+BAA+B,EAC/B,sBAAsB,EACtB,kCAAkC,EAClC,iCAAiC,EACjC,sBAAsB,EACtB,yBAAyB,EACzB,gCAAgC,EACjC,MAAM,+BAA+B,CAAA;AACtC,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EACjB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAMxD,eAAO,MAAM,2BAA2B,EAAE,UAAU,CAChD,OAAO,OAAO,CAAC,YAAY,GAC3B,OAAO,OAAO,CAAC,UAAU,GACzB,OAAO,OAAO,CAAC,MAAM,GACrB,OAAO,OAAO,CAAC,aAAa,GAC5B,OAAO,OAAO,CAAC,gBAAgB,GAC/B,OAAO,OAAO,CAAC,YAAY,GAC3B,OAAO,OAAO,CAAC,gBAAgB,GAC/B,OAAO,OAAO,CAAC,uBAAuB,GACtC,OAAO,OAAO,CAAC,sBAAsB,GACrC,OAAO,OAAO,CAAC,uBAAuB,GACtC,OAAO,OAAO,CAAC,cAAc,EAC/B,gBAAgB,GAAG,cAAc,GAAG,gBAAgB,EACpD,YAAY,CACR,OAAO,sBAAsB,GAC7B,OAAO,sBAAsB,GAC7B,OAAO,oBAAoB,GAC3B,OAAO,mBAAmB,GAC1B,OAAO,oBAAoB,GAC3B,OAAO,oBAAoB,GAC3B,OAAO,sBAAsB,GAC7B,OAAO,gCAAgC,GACvC,OAAO,+BAA+B,GACtC,OAAO,gCAAgC,GACvC,OAAO,kCAAkC,GACzC,OAAO,yBAAyB,GAChC,OAAO,sBAAsB,GAC7B,OAAO,iCAAiC,CAC3C,CAUA,CAAA"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.canEditSavedViewTitlePolicy = void 0;
4
+ const savedViews_js_1 = require("../../../fragments/savedViews.js");
5
+ const canEditSavedViewTitlePolicy = (loaders) => async ({ userId, projectId, savedViewId }) => {
6
+ return await (0, savedViews_js_1.ensureCanAccessSavedViewFragment)(loaders)({
7
+ userId,
8
+ projectId,
9
+ savedViewId,
10
+ access: savedViews_js_1.WriteTypes.EditTitle
11
+ });
12
+ };
13
+ exports.canEditSavedViewTitlePolicy = canEditSavedViewTitlePolicy;
14
+ //# sourceMappingURL=canEditTitle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canEditTitle.js","sourceRoot":"","sources":["../../../../../../src/authz/policies/project/savedViews/canEditTitle.ts"],"names":[],"mappings":";;;AAuBA,oEAGyC;AAElC,MAAM,2BAA2B,GA8BtC,CAAC,OAAO,EAAE,EAAE,CACZ,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE;IAC3C,OAAO,MAAM,IAAA,gDAAgC,EAAC,OAAO,CAAC,CAAC;QACrD,MAAM;QACN,SAAS;QACT,WAAW;QACX,MAAM,EAAE,0BAAU,CAAC,SAAS;KAC7B,CAAC,CAAA;AACJ,CAAC,CAAA;AAtCU,QAAA,2BAA2B,+BAsCrC"}
@@ -0,0 +1,6 @@
1
+ import { ProjectNoAccessError, ProjectNotEnoughPermissionsError, ProjectNotFoundError, SavedViewNoAccessError, SavedViewNotFoundError, ServerNoAccessError, ServerNoSessionError, ServerNotEnoughPermissionsError, WorkspaceNoAccessError, WorkspaceNotEnoughPermissionsError, WorkspacePlanNoFeatureAccessError, WorkspaceReadOnlyError, WorkspacesNotEnabledError, WorkspaceSsoSessionNoAccessError } from '../../../domain/authErrors.js';
2
+ import { MaybeUserContext, ProjectContext, SavedViewContext } from '../../../domain/context.js';
3
+ import { Loaders } from '../../../domain/loaders.js';
4
+ import { AuthPolicy } from '../../../domain/policies.js';
5
+ export declare const canMoveSavedViewPolicy: AuthPolicy<typeof Loaders.getSavedView | typeof Loaders.getProject | typeof Loaders.getEnv | typeof Loaders.getServerRole | typeof Loaders.getWorkspaceRole | typeof Loaders.getWorkspace | typeof Loaders.getWorkspacePlan | typeof Loaders.getWorkspaceSsoProvider | typeof Loaders.getWorkspaceSsoSession | typeof Loaders.getAdminOverrideEnabled | typeof Loaders.getProjectRole, MaybeUserContext & ProjectContext & SavedViewContext, InstanceType<typeof SavedViewNotFoundError | typeof SavedViewNoAccessError | typeof ProjectNotFoundError | typeof ServerNoAccessError | typeof ServerNoSessionError | typeof ProjectNoAccessError | typeof WorkspaceNoAccessError | typeof WorkspaceSsoSessionNoAccessError | typeof ServerNotEnoughPermissionsError | typeof ProjectNotEnoughPermissionsError | typeof WorkspaceNotEnoughPermissionsError | typeof WorkspacesNotEnabledError | typeof WorkspaceReadOnlyError | typeof WorkspacePlanNoFeatureAccessError>>;
6
+ //# sourceMappingURL=canMove.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canMove.d.ts","sourceRoot":"","sources":["../../../../../../src/authz/policies/project/savedViews/canMove.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,gCAAgC,EAChC,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,+BAA+B,EAC/B,sBAAsB,EACtB,kCAAkC,EAClC,iCAAiC,EACjC,sBAAsB,EACtB,yBAAyB,EACzB,gCAAgC,EACjC,MAAM,+BAA+B,CAAA;AACtC,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EACjB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAMxD,eAAO,MAAM,sBAAsB,EAAE,UAAU,CAC3C,OAAO,OAAO,CAAC,YAAY,GAC3B,OAAO,OAAO,CAAC,UAAU,GACzB,OAAO,OAAO,CAAC,MAAM,GACrB,OAAO,OAAO,CAAC,aAAa,GAC5B,OAAO,OAAO,CAAC,gBAAgB,GAC/B,OAAO,OAAO,CAAC,YAAY,GAC3B,OAAO,OAAO,CAAC,gBAAgB,GAC/B,OAAO,OAAO,CAAC,uBAAuB,GACtC,OAAO,OAAO,CAAC,sBAAsB,GACrC,OAAO,OAAO,CAAC,uBAAuB,GACtC,OAAO,OAAO,CAAC,cAAc,EAC/B,gBAAgB,GAAG,cAAc,GAAG,gBAAgB,EACpD,YAAY,CACR,OAAO,sBAAsB,GAC7B,OAAO,sBAAsB,GAC7B,OAAO,oBAAoB,GAC3B,OAAO,mBAAmB,GAC1B,OAAO,oBAAoB,GAC3B,OAAO,oBAAoB,GAC3B,OAAO,sBAAsB,GAC7B,OAAO,gCAAgC,GACvC,OAAO,+BAA+B,GACtC,OAAO,gCAAgC,GACvC,OAAO,kCAAkC,GACzC,OAAO,yBAAyB,GAChC,OAAO,sBAAsB,GAC7B,OAAO,iCAAiC,CAC3C,CAUA,CAAA"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.canMoveSavedViewPolicy = void 0;
4
+ const savedViews_js_1 = require("../../../fragments/savedViews.js");
5
+ const canMoveSavedViewPolicy = (loaders) => async ({ userId, projectId, savedViewId }) => {
6
+ return await (0, savedViews_js_1.ensureCanAccessSavedViewFragment)(loaders)({
7
+ userId,
8
+ projectId,
9
+ savedViewId,
10
+ access: savedViews_js_1.WriteTypes.MoveView
11
+ });
12
+ };
13
+ exports.canMoveSavedViewPolicy = canMoveSavedViewPolicy;
14
+ //# sourceMappingURL=canMove.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canMove.js","sourceRoot":"","sources":["../../../../../../src/authz/policies/project/savedViews/canMove.ts"],"names":[],"mappings":";;;AAuBA,oEAGyC;AAElC,MAAM,sBAAsB,GA8BjC,CAAC,OAAO,EAAE,EAAE,CACZ,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE;IAC3C,OAAO,MAAM,IAAA,gDAAgC,EAAC,OAAO,CAAC,CAAC;QACrD,MAAM;QACN,SAAS;QACT,WAAW;QACX,MAAM,EAAE,0BAAU,CAAC,QAAQ;KAC5B,CAAC,CAAA;AACJ,CAAC,CAAA;AAtCU,QAAA,sBAAsB,0BAsChC"}
@@ -0,0 +1,11 @@
1
+ import { ProjectNoAccessError, ProjectNotEnoughPermissionsError, ProjectNotFoundError, SavedViewNoAccessError, SavedViewNotFoundError, ServerNoAccessError, ServerNoSessionError, ServerNotEnoughPermissionsError, WorkspaceNoAccessError, WorkspaceNotEnoughPermissionsError, WorkspacePlanNoFeatureAccessError, WorkspaceReadOnlyError, WorkspacesNotEnabledError, WorkspaceSsoSessionNoAccessError } from '../../../domain/authErrors.js';
2
+ import { MaybeUserContext, ProjectContext, SavedViewContext } from '../../../domain/context.js';
3
+ import { Loaders } from '../../../domain/loaders.js';
4
+ import { AuthPolicy } from '../../../domain/policies.js';
5
+ export declare const canReadSavedViewPolicy: AuthPolicy<typeof Loaders.getSavedView | typeof Loaders.getProject | typeof Loaders.getEnv | typeof Loaders.getServerRole | typeof Loaders.getWorkspaceRole | typeof Loaders.getWorkspace | typeof Loaders.getWorkspacePlan | typeof Loaders.getWorkspaceSsoProvider | typeof Loaders.getWorkspaceSsoSession | typeof Loaders.getAdminOverrideEnabled | typeof Loaders.getProjectRole, MaybeUserContext & ProjectContext & SavedViewContext & {
6
+ /**
7
+ * In some cases we want to just ignore a view being non-existant, instead of throwing
8
+ */
9
+ allowNonExistent?: boolean;
10
+ }, InstanceType<typeof SavedViewNotFoundError | typeof SavedViewNoAccessError | typeof ProjectNotFoundError | typeof ServerNoAccessError | typeof ServerNoSessionError | typeof ProjectNoAccessError | typeof WorkspaceNoAccessError | typeof WorkspaceSsoSessionNoAccessError | typeof ServerNotEnoughPermissionsError | typeof ProjectNotEnoughPermissionsError | typeof WorkspaceNotEnoughPermissionsError | typeof WorkspacesNotEnabledError | typeof WorkspaceReadOnlyError | typeof WorkspacePlanNoFeatureAccessError>>;
11
+ //# sourceMappingURL=canRead.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canRead.d.ts","sourceRoot":"","sources":["../../../../../../src/authz/policies/project/savedViews/canRead.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,gCAAgC,EAChC,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,+BAA+B,EAC/B,sBAAsB,EACtB,kCAAkC,EAClC,iCAAiC,EACjC,sBAAsB,EACtB,yBAAyB,EACzB,gCAAgC,EACjC,MAAM,+BAA+B,CAAA;AACtC,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EACjB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAGxD,eAAO,MAAM,sBAAsB,EAAE,UAAU,CAC3C,OAAO,OAAO,CAAC,YAAY,GAC3B,OAAO,OAAO,CAAC,UAAU,GACzB,OAAO,OAAO,CAAC,MAAM,GACrB,OAAO,OAAO,CAAC,aAAa,GAC5B,OAAO,OAAO,CAAC,gBAAgB,GAC/B,OAAO,OAAO,CAAC,YAAY,GAC3B,OAAO,OAAO,CAAC,gBAAgB,GAC/B,OAAO,OAAO,CAAC,uBAAuB,GACtC,OAAO,OAAO,CAAC,sBAAsB,GACrC,OAAO,OAAO,CAAC,uBAAuB,GACtC,OAAO,OAAO,CAAC,cAAc,EAC/B,gBAAgB,GACd,cAAc,GACd,gBAAgB,GAAG;IACjB;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,EACH,YAAY,CACR,OAAO,sBAAsB,GAC7B,OAAO,sBAAsB,GAC7B,OAAO,oBAAoB,GAC3B,OAAO,mBAAmB,GAC1B,OAAO,oBAAoB,GAC3B,OAAO,oBAAoB,GAC3B,OAAO,sBAAsB,GAC7B,OAAO,gCAAgC,GACvC,OAAO,+BAA+B,GACtC,OAAO,gCAAgC,GACvC,OAAO,kCAAkC,GACzC,OAAO,yBAAyB,GAChC,OAAO,sBAAsB,GAC7B,OAAO,iCAAiC,CAC3C,CAWA,CAAA"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.canReadSavedViewPolicy = void 0;
4
+ const savedViews_js_1 = require("../../../fragments/savedViews.js");
5
+ const canReadSavedViewPolicy = (loaders) => async ({ userId, projectId, savedViewId, allowNonExistent }) => {
6
+ return await (0, savedViews_js_1.ensureCanAccessSavedViewFragment)(loaders)({
7
+ userId,
8
+ projectId,
9
+ savedViewId,
10
+ access: 'read',
11
+ allowNonExistent
12
+ });
13
+ };
14
+ exports.canReadSavedViewPolicy = canReadSavedViewPolicy;
15
+ //# sourceMappingURL=canRead.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canRead.js","sourceRoot":"","sources":["../../../../../../src/authz/policies/project/savedViews/canRead.ts"],"names":[],"mappings":";;;AAuBA,oEAAmF;AAE5E,MAAM,sBAAsB,GAqCjC,CAAC,OAAO,EAAE,EAAE,CACZ,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,EAAE,EAAE;IAC7D,OAAO,MAAM,IAAA,gDAAgC,EAAC,OAAO,CAAC,CAAC;QACrD,MAAM;QACN,SAAS;QACT,WAAW;QACX,MAAM,EAAE,MAAM;QACd,gBAAgB;KACjB,CAAC,CAAA;AACJ,CAAC,CAAA;AA9CU,QAAA,sBAAsB,0BA8ChC"}
@@ -0,0 +1,6 @@
1
+ import { ProjectNoAccessError, ProjectNotEnoughPermissionsError, ProjectNotFoundError, SavedViewInvalidUpdateError, SavedViewNoAccessError, SavedViewNotFoundError, ServerNoAccessError, ServerNoSessionError, ServerNotEnoughPermissionsError, WorkspaceNoAccessError, WorkspaceNotEnoughPermissionsError, WorkspacePlanNoFeatureAccessError, WorkspaceReadOnlyError, WorkspacesNotEnabledError, WorkspaceSsoSessionNoAccessError } from '../../../domain/authErrors.js';
2
+ import { MaybeUserContext, ProjectContext, SavedViewContext } from '../../../domain/context.js';
3
+ import { Loaders } from '../../../domain/loaders.js';
4
+ import { AuthPolicy } from '../../../domain/policies.js';
5
+ export declare const canSetSavedViewAsHomeViewPolicy: AuthPolicy<typeof Loaders.getSavedView | typeof Loaders.getProject | typeof Loaders.getEnv | typeof Loaders.getServerRole | typeof Loaders.getWorkspaceRole | typeof Loaders.getWorkspace | typeof Loaders.getWorkspacePlan | typeof Loaders.getWorkspaceSsoProvider | typeof Loaders.getWorkspaceSsoSession | typeof Loaders.getAdminOverrideEnabled | typeof Loaders.getProjectRole, MaybeUserContext & ProjectContext & SavedViewContext, InstanceType<typeof SavedViewNotFoundError | typeof SavedViewNoAccessError | typeof ProjectNotFoundError | typeof ServerNoAccessError | typeof ServerNoSessionError | typeof ProjectNoAccessError | typeof WorkspaceNoAccessError | typeof WorkspaceSsoSessionNoAccessError | typeof ServerNotEnoughPermissionsError | typeof ProjectNotEnoughPermissionsError | typeof WorkspaceNotEnoughPermissionsError | typeof WorkspacesNotEnabledError | typeof WorkspaceReadOnlyError | typeof WorkspacePlanNoFeatureAccessError | typeof SavedViewInvalidUpdateError>>;
6
+ //# sourceMappingURL=canSetAsHomeView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canSetAsHomeView.d.ts","sourceRoot":"","sources":["../../../../../../src/authz/policies/project/savedViews/canSetAsHomeView.ts"],"names":[],"mappings":"AACA,OAAO,EACL,oBAAoB,EACpB,gCAAgC,EAChC,oBAAoB,EACpB,2BAA2B,EAC3B,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,+BAA+B,EAC/B,sBAAsB,EACtB,kCAAkC,EAClC,iCAAiC,EACjC,sBAAsB,EACtB,yBAAyB,EACzB,gCAAgC,EACjC,MAAM,+BAA+B,CAAA;AACtC,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EACjB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAQxD,eAAO,MAAM,+BAA+B,EAAE,UAAU,CACpD,OAAO,OAAO,CAAC,YAAY,GAC3B,OAAO,OAAO,CAAC,UAAU,GACzB,OAAO,OAAO,CAAC,MAAM,GACrB,OAAO,OAAO,CAAC,aAAa,GAC5B,OAAO,OAAO,CAAC,gBAAgB,GAC/B,OAAO,OAAO,CAAC,YAAY,GAC3B,OAAO,OAAO,CAAC,gBAAgB,GAC/B,OAAO,OAAO,CAAC,uBAAuB,GACtC,OAAO,OAAO,CAAC,sBAAsB,GACrC,OAAO,OAAO,CAAC,uBAAuB,GACtC,OAAO,OAAO,CAAC,cAAc,EAC/B,gBAAgB,GAAG,cAAc,GAAG,gBAAgB,EACpD,YAAY,CACR,OAAO,sBAAsB,GAC7B,OAAO,sBAAsB,GAC7B,OAAO,oBAAoB,GAC3B,OAAO,mBAAmB,GAC1B,OAAO,oBAAoB,GAC3B,OAAO,oBAAoB,GAC3B,OAAO,sBAAsB,GAC7B,OAAO,gCAAgC,GACvC,OAAO,+BAA+B,GACtC,OAAO,gCAAgC,GACvC,OAAO,kCAAkC,GACzC,OAAO,yBAAyB,GAChC,OAAO,sBAAsB,GAC7B,OAAO,iCAAiC,GACxC,OAAO,2BAA2B,CACrC,CA8CA,CAAA"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.canSetSavedViewAsHomeViewPolicy = void 0;
4
+ const result_1 = require("true-myth/result");
5
+ const authErrors_js_1 = require("../../../domain/authErrors.js");
6
+ const savedViews_js_1 = require("../../../fragments/savedViews.js");
7
+ const types_js_1 = require("../../../domain/savedViews/types.js");
8
+ const route_js_1 = require("../../../../viewer/helpers/route.js");
9
+ const canSetSavedViewAsHomeViewPolicy = (loaders) => async ({ userId, projectId, savedViewId }) => {
10
+ const canDoUpdate = await (0, savedViews_js_1.ensureCanAccessSavedViewFragment)(loaders)({
11
+ userId,
12
+ projectId,
13
+ savedViewId,
14
+ access: savedViews_js_1.WriteTypes.SetHomeView
15
+ });
16
+ if (canDoUpdate.isErr) {
17
+ return (0, result_1.err)(canDoUpdate.error);
18
+ }
19
+ const view = await loaders.getSavedView({
20
+ projectId,
21
+ savedViewId
22
+ });
23
+ if (!view)
24
+ return (0, result_1.err)(new authErrors_js_1.SavedViewNotFoundError());
25
+ // Must be a shared view to be set as home view
26
+ const isAuthorOnly = view.visibility === types_js_1.SavedViewVisibility.authorOnly;
27
+ if (isAuthorOnly) {
28
+ return (0, result_1.err)(new authErrors_js_1.SavedViewInvalidUpdateError({
29
+ message: 'A view must be shared to be set as a home view'
30
+ }));
31
+ }
32
+ // Must not be federated
33
+ const resourceIds = (0, route_js_1.resourceBuilder)().addResources(view.resourceIds);
34
+ const firstResource = resourceIds.toResources().at(0);
35
+ const modelResource = firstResource && (0, route_js_1.isModelResource)(firstResource) ? firstResource : undefined;
36
+ const isSingleModelView = resourceIds.length === 1 && modelResource;
37
+ if (!isSingleModelView) {
38
+ return (0, result_1.err)(new authErrors_js_1.SavedViewInvalidUpdateError({
39
+ message: 'Only single model views can be set as home views'
40
+ }));
41
+ }
42
+ return (0, result_1.ok)();
43
+ };
44
+ exports.canSetSavedViewAsHomeViewPolicy = canSetSavedViewAsHomeViewPolicy;
45
+ //# sourceMappingURL=canSetAsHomeView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canSetAsHomeView.js","sourceRoot":"","sources":["../../../../../../src/authz/policies/project/savedViews/canSetAsHomeView.ts"],"names":[],"mappings":";;;AAAA,6CAA0C;AAC1C,iEAgBsC;AAQtC,oEAGyC;AACzC,kEAAyE;AACzE,kEAAsF;AAE/E,MAAM,+BAA+B,GA+B1C,CAAC,OAAO,EAAE,EAAE,CACZ,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE;IAC3C,MAAM,WAAW,GAAG,MAAM,IAAA,gDAAgC,EAAC,OAAO,CAAC,CAAC;QAClE,MAAM;QACN,SAAS;QACT,WAAW;QACX,MAAM,EAAE,0BAAU,CAAC,WAAW;KAC/B,CAAC,CAAA;IACF,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;QACtB,OAAO,IAAA,YAAG,EAAC,WAAW,CAAC,KAAK,CAAC,CAAA;IAC/B,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC;QACtC,SAAS;QACT,WAAW;KACZ,CAAC,CAAA;IACF,IAAI,CAAC,IAAI;QAAE,OAAO,IAAA,YAAG,EAAC,IAAI,sCAAsB,EAAE,CAAC,CAAA;IAEnD,+CAA+C;IAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,KAAK,8BAAmB,CAAC,UAAU,CAAA;IACvE,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,IAAA,YAAG,EACR,IAAI,2CAA2B,CAAC;YAC9B,OAAO,EAAE,gDAAgD;SAC1D,CAAC,CACH,CAAA;IACH,CAAC;IAED,wBAAwB;IACxB,MAAM,WAAW,GAAG,IAAA,0BAAe,GAAE,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACpE,MAAM,aAAa,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACrD,MAAM,aAAa,GACjB,aAAa,IAAI,IAAA,0BAAe,EAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAA;IAE7E,MAAM,iBAAiB,GAAG,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,aAAa,CAAA;IACnE,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO,IAAA,YAAG,EACR,IAAI,2CAA2B,CAAC;YAC9B,OAAO,EAAE,kDAAkD;SAC5D,CAAC,CACH,CAAA;IACH,CAAC;IAED,OAAO,IAAA,WAAE,GAAE,CAAA;AACb,CAAC,CAAA;AA3EU,QAAA,+BAA+B,mCA2EzC"}
@@ -0,0 +1,6 @@
1
+ import { ProjectNoAccessError, ProjectNotEnoughPermissionsError, ProjectNotFoundError, SavedViewNoAccessError, SavedViewNotFoundError, ServerNoAccessError, ServerNoSessionError, ServerNotEnoughPermissionsError, WorkspaceNoAccessError, WorkspaceNotEnoughPermissionsError, WorkspacePlanNoFeatureAccessError, WorkspaceReadOnlyError, WorkspacesNotEnabledError, WorkspaceSsoSessionNoAccessError } from '../../../domain/authErrors.js';
2
+ import { MaybeUserContext, ProjectContext, SavedViewContext } from '../../../domain/context.js';
3
+ import { Loaders } from '../../../domain/loaders.js';
4
+ import { AuthPolicy } from '../../../domain/policies.js';
5
+ export declare const canUpdateSavedViewPolicy: AuthPolicy<typeof Loaders.getSavedView | typeof Loaders.getProject | typeof Loaders.getEnv | typeof Loaders.getServerRole | typeof Loaders.getWorkspaceRole | typeof Loaders.getWorkspace | typeof Loaders.getWorkspacePlan | typeof Loaders.getWorkspaceSsoProvider | typeof Loaders.getWorkspaceSsoSession | typeof Loaders.getAdminOverrideEnabled | typeof Loaders.getProjectRole, MaybeUserContext & ProjectContext & SavedViewContext, InstanceType<typeof SavedViewNotFoundError | typeof SavedViewNoAccessError | typeof ProjectNotFoundError | typeof ServerNoAccessError | typeof ServerNoSessionError | typeof ProjectNoAccessError | typeof WorkspaceNoAccessError | typeof WorkspaceSsoSessionNoAccessError | typeof ServerNotEnoughPermissionsError | typeof ProjectNotEnoughPermissionsError | typeof WorkspaceNotEnoughPermissionsError | typeof WorkspacesNotEnabledError | typeof WorkspaceReadOnlyError | typeof WorkspacePlanNoFeatureAccessError>>;
6
+ //# sourceMappingURL=canUpdate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canUpdate.d.ts","sourceRoot":"","sources":["../../../../../../src/authz/policies/project/savedViews/canUpdate.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,gCAAgC,EAChC,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,+BAA+B,EAC/B,sBAAsB,EACtB,kCAAkC,EAClC,iCAAiC,EACjC,sBAAsB,EACtB,yBAAyB,EACzB,gCAAgC,EACjC,MAAM,+BAA+B,CAAA;AACtC,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EACjB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAMxD,eAAO,MAAM,wBAAwB,EAAE,UAAU,CAC7C,OAAO,OAAO,CAAC,YAAY,GAC3B,OAAO,OAAO,CAAC,UAAU,GACzB,OAAO,OAAO,CAAC,MAAM,GACrB,OAAO,OAAO,CAAC,aAAa,GAC5B,OAAO,OAAO,CAAC,gBAAgB,GAC/B,OAAO,OAAO,CAAC,YAAY,GAC3B,OAAO,OAAO,CAAC,gBAAgB,GAC/B,OAAO,OAAO,CAAC,uBAAuB,GACtC,OAAO,OAAO,CAAC,sBAAsB,GACrC,OAAO,OAAO,CAAC,uBAAuB,GACtC,OAAO,OAAO,CAAC,cAAc,EAC/B,gBAAgB,GAAG,cAAc,GAAG,gBAAgB,EACpD,YAAY,CACR,OAAO,sBAAsB,GAC7B,OAAO,sBAAsB,GAC7B,OAAO,oBAAoB,GAC3B,OAAO,mBAAmB,GAC1B,OAAO,oBAAoB,GAC3B,OAAO,oBAAoB,GAC3B,OAAO,sBAAsB,GAC7B,OAAO,gCAAgC,GACvC,OAAO,+BAA+B,GACtC,OAAO,gCAAgC,GACvC,OAAO,kCAAkC,GACzC,OAAO,yBAAyB,GAChC,OAAO,sBAAsB,GAC7B,OAAO,iCAAiC,CAC3C,CAUA,CAAA"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.canUpdateSavedViewPolicy = void 0;
4
+ const savedViews_js_1 = require("../../../fragments/savedViews.js");
5
+ const canUpdateSavedViewPolicy = (loaders) => async ({ userId, projectId, savedViewId }) => {
6
+ return await (0, savedViews_js_1.ensureCanAccessSavedViewFragment)(loaders)({
7
+ userId,
8
+ projectId,
9
+ savedViewId,
10
+ access: savedViews_js_1.WriteTypes.UpdateGeneral
11
+ });
12
+ };
13
+ exports.canUpdateSavedViewPolicy = canUpdateSavedViewPolicy;
14
+ //# sourceMappingURL=canUpdate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canUpdate.js","sourceRoot":"","sources":["../../../../../../src/authz/policies/project/savedViews/canUpdate.ts"],"names":[],"mappings":";;;AAuBA,oEAGyC;AAElC,MAAM,wBAAwB,GA8BnC,CAAC,OAAO,EAAE,EAAE,CACZ,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE;IAC3C,OAAO,MAAM,IAAA,gDAAgC,EAAC,OAAO,CAAC,CAAC;QACrD,MAAM;QACN,SAAS;QACT,WAAW;QACX,MAAM,EAAE,0BAAU,CAAC,aAAa;KACjC,CAAC,CAAA;AACJ,CAAC,CAAA;AAtCU,QAAA,wBAAwB,4BAsClC"}
@@ -0,0 +1,6 @@
1
+ import { ProjectNoAccessError, ProjectNotEnoughPermissionsError, ProjectNotFoundError, SavedViewGroupNotFoundError, ServerNoAccessError, ServerNoSessionError, ServerNotEnoughPermissionsError, UngroupedSavedViewGroupLockError, WorkspaceNoAccessError, WorkspaceNotEnoughPermissionsError, WorkspacePlanNoFeatureAccessError, WorkspaceReadOnlyError, WorkspacesNotEnabledError, WorkspaceSsoSessionNoAccessError } from '../../../domain/authErrors.js';
2
+ import { MaybeUserContext, ProjectContext, SavedViewGroupContext } from '../../../domain/context.js';
3
+ import { Loaders } from '../../../domain/loaders.js';
4
+ import { AuthPolicy } from '../../../domain/policies.js';
5
+ export declare const canUpdateSavedViewGroupPolicy: AuthPolicy<typeof Loaders.getSavedViewGroup | typeof Loaders.getProject | typeof Loaders.getEnv | typeof Loaders.getServerRole | typeof Loaders.getWorkspaceRole | typeof Loaders.getWorkspace | typeof Loaders.getWorkspacePlan | typeof Loaders.getWorkspaceSsoProvider | typeof Loaders.getWorkspaceSsoSession | typeof Loaders.getProjectRole, MaybeUserContext & ProjectContext & SavedViewGroupContext, InstanceType<typeof SavedViewGroupNotFoundError | typeof ProjectNotFoundError | typeof ServerNoAccessError | typeof ServerNoSessionError | typeof ProjectNoAccessError | typeof WorkspaceNoAccessError | typeof WorkspaceSsoSessionNoAccessError | typeof ServerNotEnoughPermissionsError | typeof ProjectNotEnoughPermissionsError | typeof WorkspaceNotEnoughPermissionsError | typeof WorkspacesNotEnabledError | typeof WorkspaceReadOnlyError | typeof WorkspacePlanNoFeatureAccessError | typeof UngroupedSavedViewGroupLockError>>;
6
+ //# sourceMappingURL=canUpdateGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canUpdateGroup.d.ts","sourceRoot":"","sources":["../../../../../../src/authz/policies/project/savedViews/canUpdateGroup.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,gCAAgC,EAChC,oBAAoB,EACpB,2BAA2B,EAC3B,mBAAmB,EACnB,oBAAoB,EACpB,+BAA+B,EAC/B,gCAAgC,EAChC,sBAAsB,EACtB,kCAAkC,EAClC,iCAAiC,EACjC,sBAAsB,EACtB,yBAAyB,EACzB,gCAAgC,EACjC,MAAM,+BAA+B,CAAA;AACtC,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACtB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAGxD,eAAO,MAAM,6BAA6B,EAAE,UAAU,CAClD,OAAO,OAAO,CAAC,iBAAiB,GAChC,OAAO,OAAO,CAAC,UAAU,GACzB,OAAO,OAAO,CAAC,MAAM,GACrB,OAAO,OAAO,CAAC,aAAa,GAC5B,OAAO,OAAO,CAAC,gBAAgB,GAC/B,OAAO,OAAO,CAAC,YAAY,GAC3B,OAAO,OAAO,CAAC,gBAAgB,GAC/B,OAAO,OAAO,CAAC,uBAAuB,GACtC,OAAO,OAAO,CAAC,sBAAsB,GACrC,OAAO,OAAO,CAAC,cAAc,EAC/B,gBAAgB,GAAG,cAAc,GAAG,qBAAqB,EACzD,YAAY,CACR,OAAO,2BAA2B,GAClC,OAAO,oBAAoB,GAC3B,OAAO,mBAAmB,GAC1B,OAAO,oBAAoB,GAC3B,OAAO,oBAAoB,GAC3B,OAAO,sBAAsB,GAC7B,OAAO,gCAAgC,GACvC,OAAO,+BAA+B,GACtC,OAAO,gCAAgC,GACvC,OAAO,kCAAkC,GACzC,OAAO,yBAAyB,GAChC,OAAO,sBAAsB,GAC7B,OAAO,iCAAiC,GACxC,OAAO,gCAAgC,CAC1C,CAUA,CAAA"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.canUpdateSavedViewGroupPolicy = void 0;
4
+ const savedViews_js_1 = require("../../../fragments/savedViews.js");
5
+ const canUpdateSavedViewGroupPolicy = (loaders) => async ({ userId, projectId, savedViewGroupId }) => {
6
+ return await (0, savedViews_js_1.ensureCanAccessSavedViewGroupFragment)(loaders)({
7
+ userId,
8
+ projectId,
9
+ savedViewGroupId,
10
+ access: 'write'
11
+ });
12
+ };
13
+ exports.canUpdateSavedViewGroupPolicy = canUpdateSavedViewGroupPolicy;
14
+ //# sourceMappingURL=canUpdateGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canUpdateGroup.js","sourceRoot":"","sources":["../../../../../../src/authz/policies/project/savedViews/canUpdateGroup.ts"],"names":[],"mappings":";;;AAuBA,oEAAwF;AAEjF,MAAM,6BAA6B,GA6BxC,CAAC,OAAO,EAAE,EAAE,CACZ,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,EAAE,EAAE;IAChD,OAAO,MAAM,IAAA,qDAAqC,EAAC,OAAO,CAAC,CAAC;QAC1D,MAAM;QACN,SAAS;QACT,gBAAgB;QAChB,MAAM,EAAE,OAAO;KAChB,CAAC,CAAA;AACJ,CAAC,CAAA;AArCU,QAAA,6BAA6B,iCAqCvC"}
@@ -0,0 +1,10 @@
1
+ import { AuthCheckContextLoaderKeys } from '../../domain/loaders.js';
2
+ import { MaybeUserContext, WorkspaceContext } from '../../domain/context.js';
3
+ import { DashboardsNotEnabledError, WorkspaceNoEditorSeatError, WorkspaceNotEnoughPermissionsError, WorkspacePlanNoFeatureAccessError } from '../../domain/authErrors.js';
4
+ import { AuthPolicy } from '../../domain/policies.js';
5
+ type PolicyLoaderKeys = typeof AuthCheckContextLoaderKeys.getEnv | typeof AuthCheckContextLoaderKeys.getServerRole | typeof AuthCheckContextLoaderKeys.getAdminOverrideEnabled | typeof AuthCheckContextLoaderKeys.getWorkspacePlan | typeof AuthCheckContextLoaderKeys.getWorkspaceRole | typeof AuthCheckContextLoaderKeys.getWorkspaceSeat;
6
+ type PolicyArgs = MaybeUserContext & WorkspaceContext;
7
+ type PolicyErrors = InstanceType<typeof DashboardsNotEnabledError | typeof WorkspaceNotEnoughPermissionsError | typeof WorkspacePlanNoFeatureAccessError | typeof WorkspaceNoEditorSeatError>;
8
+ export declare const canCreateDashboardsPolicy: AuthPolicy<PolicyLoaderKeys, PolicyArgs, PolicyErrors>;
9
+ export {};
10
+ //# sourceMappingURL=canCreateDashboards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canCreateDashboards.d.ts","sourceRoot":"","sources":["../../../../../src/authz/policies/workspace/canCreateDashboards.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,kCAAkC,EAClC,iCAAiC,EAClC,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAUrD,KAAK,gBAAgB,GACjB,OAAO,0BAA0B,CAAC,MAAM,GACxC,OAAO,0BAA0B,CAAC,aAAa,GAC/C,OAAO,0BAA0B,CAAC,uBAAuB,GACzD,OAAO,0BAA0B,CAAC,gBAAgB,GAClD,OAAO,0BAA0B,CAAC,gBAAgB,GAClD,OAAO,0BAA0B,CAAC,gBAAgB,CAAA;AAEtD,KAAK,UAAU,GAAG,gBAAgB,GAAG,gBAAgB,CAAA;AAErD,KAAK,YAAY,GAAG,YAAY,CAC5B,OAAO,yBAAyB,GAChC,OAAO,kCAAkC,GACzC,OAAO,iCAAiC,GACxC,OAAO,0BAA0B,CACpC,CAAA;AAED,eAAO,MAAM,yBAAyB,EAAE,UAAU,CAChD,gBAAgB,EAChB,UAAU,EACV,YAAY,CA+BX,CAAA"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.canCreateDashboardsPolicy = void 0;
4
+ const result_1 = require("true-myth/result");
5
+ const authErrors_js_1 = require("../../domain/authErrors.js");
6
+ const dashboards_js_1 = require("../../fragments/dashboards.js");
7
+ const workspaceRole_js_1 = require("../../checks/workspaceRole.js");
8
+ const constants_js_1 = require("../../../core/constants.js");
9
+ const workspaceSeat_js_1 = require("../../checks/workspaceSeat.js");
10
+ const server_js_1 = require("../../fragments/server.js");
11
+ const canCreateDashboardsPolicy = (loaders) => async ({ userId, workspaceId }) => {
12
+ const isDashboardsEnabled = await (0, dashboards_js_1.ensureDashboardsEnabledFragment)(loaders)({});
13
+ if (isDashboardsEnabled.isErr)
14
+ return (0, result_1.err)(isDashboardsEnabled.error);
15
+ const ensuredFeatureAccess = await (0, dashboards_js_1.ensureWorkspaceDashboardsFeatureAccessFragment)(loaders)({ workspaceId });
16
+ if (ensuredFeatureAccess.isErr)
17
+ return (0, result_1.err)(ensuredFeatureAccess.error);
18
+ const hasAdminAccess = await (0, server_js_1.checkIfAdminOverrideEnabledFragment)(loaders)({
19
+ userId
20
+ });
21
+ if (hasAdminAccess.isOk && hasAdminAccess.value)
22
+ return (0, result_1.ok)();
23
+ const isWorkspaceMember = await (0, workspaceRole_js_1.hasMinimumWorkspaceRole)(loaders)({
24
+ userId: userId,
25
+ workspaceId,
26
+ role: constants_js_1.Roles.Workspace.Member
27
+ });
28
+ if (!isWorkspaceMember)
29
+ return (0, result_1.err)(new authErrors_js_1.WorkspaceNotEnoughPermissionsError());
30
+ const isWorkspaceEditorSeat = await (0, workspaceSeat_js_1.hasEditorSeat)(loaders)({
31
+ userId: userId,
32
+ workspaceId
33
+ });
34
+ if (!isWorkspaceEditorSeat)
35
+ return (0, result_1.err)(new authErrors_js_1.WorkspaceNoEditorSeatError());
36
+ return (0, result_1.ok)();
37
+ };
38
+ exports.canCreateDashboardsPolicy = canCreateDashboardsPolicy;
39
+ //# sourceMappingURL=canCreateDashboards.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canCreateDashboards.js","sourceRoot":"","sources":["../../../../../src/authz/policies/workspace/canCreateDashboards.ts"],"names":[],"mappings":";;;AAAA,6CAA0C;AAG1C,8DAKmC;AAEnC,iEAGsC;AACtC,oEAAuE;AACvE,6DAAkD;AAClD,oEAA6D;AAC7D,yDAA+E;AAmBxE,MAAM,yBAAyB,GAKpC,CAAC,OAAO,EAAE,EAAE,CACZ,KAAK,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE;IAChC,MAAM,mBAAmB,GAAG,MAAM,IAAA,+CAA+B,EAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA;IAC9E,IAAI,mBAAmB,CAAC,KAAK;QAAE,OAAO,IAAA,YAAG,EAAC,mBAAmB,CAAC,KAAK,CAAC,CAAA;IAEpE,MAAM,oBAAoB,GAAG,MAAM,IAAA,8DAA8C,EAC/E,OAAO,CACR,CAAC,EAAE,WAAW,EAAE,CAAC,CAAA;IAClB,IAAI,oBAAoB,CAAC,KAAK;QAAE,OAAO,IAAA,YAAG,EAAC,oBAAoB,CAAC,KAAK,CAAC,CAAA;IAEtE,MAAM,cAAc,GAAG,MAAM,IAAA,+CAAmC,EAAC,OAAO,CAAC,CAAC;QACxE,MAAM;KACP,CAAC,CAAA;IACF,IAAI,cAAc,CAAC,IAAI,IAAI,cAAc,CAAC,KAAK;QAAE,OAAO,IAAA,WAAE,GAAE,CAAA;IAE5D,MAAM,iBAAiB,GAAG,MAAM,IAAA,0CAAuB,EAAC,OAAO,CAAC,CAAC;QAC/D,MAAM,EAAE,MAAO;QACf,WAAW;QACX,IAAI,EAAE,oBAAK,CAAC,SAAS,CAAC,MAAM;KAC7B,CAAC,CAAA;IACF,IAAI,CAAC,iBAAiB;QAAE,OAAO,IAAA,YAAG,EAAC,IAAI,kDAAkC,EAAE,CAAC,CAAA;IAE5E,MAAM,qBAAqB,GAAG,MAAM,IAAA,gCAAa,EAAC,OAAO,CAAC,CAAC;QACzD,MAAM,EAAE,MAAO;QACf,WAAW;KACZ,CAAC,CAAA;IACF,IAAI,CAAC,qBAAqB;QAAE,OAAO,IAAA,YAAG,EAAC,IAAI,0CAA0B,EAAE,CAAC,CAAA;IAExE,OAAO,IAAA,WAAE,GAAE,CAAA;AACb,CAAC,CAAA;AAlCU,QAAA,yBAAyB,6BAkCnC"}
@@ -0,0 +1,10 @@
1
+ import { EligibleForExclusiveWorkspaceError, ServerNoAccessError, ServerNoSessionError, ServerNotEnoughPermissionsError, WorkspacesNotEnabledError } from '../../domain/authErrors.js';
2
+ import { MaybeUserContext } from '../../domain/context.js';
3
+ import { AuthCheckContextLoaderKeys } from '../../domain/loaders.js';
4
+ import { AuthPolicy } from '../../domain/policies.js';
5
+ type PolicyArgs = MaybeUserContext;
6
+ type PolicyLoaderKeys = typeof AuthCheckContextLoaderKeys.getEnv | typeof AuthCheckContextLoaderKeys.getUsersCurrentAndEligibleToBecomeAMemberWorkspaces | typeof AuthCheckContextLoaderKeys.getServerRole;
7
+ type PolicyErrors = InstanceType<typeof WorkspacesNotEnabledError | typeof ServerNoSessionError | typeof ServerNoAccessError | typeof ServerNotEnoughPermissionsError | typeof EligibleForExclusiveWorkspaceError>;
8
+ export declare const canCreateWorkspacePolicy: AuthPolicy<PolicyLoaderKeys, PolicyArgs, PolicyErrors>;
9
+ export {};
10
+ //# sourceMappingURL=canCreateWorkspace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canCreateWorkspace.d.ts","sourceRoot":"","sources":["../../../../../src/authz/policies/workspace/canCreateWorkspace.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kCAAkC,EAClC,mBAAmB,EACnB,oBAAoB,EACpB,+BAA+B,EAC/B,yBAAyB,EAC1B,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAA;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAMrD,KAAK,UAAU,GAAG,gBAAgB,CAAA;AAClC,KAAK,gBAAgB,GACjB,OAAO,0BAA0B,CAAC,MAAM,GACxC,OAAO,0BAA0B,CAAC,mDAAmD,GACrF,OAAO,0BAA0B,CAAC,aAAa,CAAA;AAEnD,KAAK,YAAY,GAAG,YAAY,CAC5B,OAAO,yBAAyB,GAChC,OAAO,oBAAoB,GAC3B,OAAO,mBAAmB,GAC1B,OAAO,+BAA+B,GACtC,OAAO,kCAAkC,CAC5C,CAAA;AAED,eAAO,MAAM,wBAAwB,EAAE,UAAU,CAC/C,gBAAgB,EAChB,UAAU,EACV,YAAY,CA2CX,CAAA"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.canCreateWorkspacePolicy = void 0;
4
+ const result_1 = require("true-myth/result");
5
+ const authErrors_js_1 = require("../../domain/authErrors.js");
6
+ const workspaces_js_1 = require("../../fragments/workspaces.js");
7
+ const server_js_1 = require("../../fragments/server.js");
8
+ const constants_js_1 = require("../../../core/constants.js");
9
+ const index_js_1 = require("../../../core/index.js");
10
+ const canCreateWorkspacePolicy = (loaders) => async ({ userId }) => {
11
+ const ensuredWorkspacesEnabled = await (0, workspaces_js_1.ensureWorkspacesEnabledFragment)(loaders)({});
12
+ if (ensuredWorkspacesEnabled.isErr)
13
+ return (0, result_1.err)(ensuredWorkspacesEnabled.error);
14
+ const ensuredServerRole = await (0, server_js_1.ensureMinimumServerRoleFragment)(loaders)({
15
+ userId,
16
+ role: constants_js_1.Roles.Server.User
17
+ });
18
+ if (ensuredServerRole.isErr)
19
+ return (0, result_1.err)(ensuredServerRole.error);
20
+ // userId is not null here, ensured by the serverRoleFragment
21
+ const workspaces = await loaders.getUsersCurrentAndEligibleToBecomeAMemberWorkspaces({
22
+ userId: userId
23
+ });
24
+ const isUserEligibleForExclusiveWorkspaces = workspaces.some((w) => {
25
+ if (w.isExclusive) {
26
+ // if the user has no role in the workspace, means they are eligible
27
+ // to join it via an invite or discovery
28
+ if (!w.role)
29
+ return true;
30
+ // for exclusive workspaces, if the user has a role, some of them are not affected by this policy
31
+ // ie.: Workspace admins of exclusive workspaces should be able to create new ones
32
+ // also guests should not be bound by this rule
33
+ switch (w.role) {
34
+ case constants_js_1.Roles.Workspace.Admin:
35
+ case constants_js_1.Roles.Workspace.Guest:
36
+ return false;
37
+ case constants_js_1.Roles.Workspace.Member:
38
+ return true;
39
+ default:
40
+ (0, index_js_1.throwUncoveredError)(w.role);
41
+ }
42
+ }
43
+ return false;
44
+ });
45
+ if (isUserEligibleForExclusiveWorkspaces) {
46
+ return (0, result_1.err)(new authErrors_js_1.EligibleForExclusiveWorkspaceError());
47
+ }
48
+ return (0, result_1.ok)();
49
+ };
50
+ exports.canCreateWorkspacePolicy = canCreateWorkspacePolicy;
51
+ //# sourceMappingURL=canCreateWorkspace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canCreateWorkspace.js","sourceRoot":"","sources":["../../../../../src/authz/policies/workspace/canCreateWorkspace.ts"],"names":[],"mappings":";;;AAAA,6CAA0C;AAC1C,8DAMmC;AAInC,iEAA+E;AAC/E,yDAA2E;AAC3E,6DAAkD;AAClD,qDAA4D;AAgBrD,MAAM,wBAAwB,GAKnC,CAAC,OAAO,EAAE,EAAE,CACZ,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;IACnB,MAAM,wBAAwB,GAAG,MAAM,IAAA,+CAA+B,EAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA;IACnF,IAAI,wBAAwB,CAAC,KAAK;QAAE,OAAO,IAAA,YAAG,EAAC,wBAAwB,CAAC,KAAK,CAAC,CAAA;IAE9E,MAAM,iBAAiB,GAAG,MAAM,IAAA,2CAA+B,EAAC,OAAO,CAAC,CAAC;QACvE,MAAM;QACN,IAAI,EAAE,oBAAK,CAAC,MAAM,CAAC,IAAI;KACxB,CAAC,CAAA;IACF,IAAI,iBAAiB,CAAC,KAAK;QAAE,OAAO,IAAA,YAAG,EAAC,iBAAiB,CAAC,KAAK,CAAC,CAAA;IAEhE,6DAA6D;IAC7D,MAAM,UAAU,GACd,MAAM,OAAO,CAAC,mDAAmD,CAAC;QAChE,MAAM,EAAE,MAAO;KAChB,CAAC,CAAA;IACJ,MAAM,oCAAoC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QACjE,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAClB,oEAAoE;YACpE,wCAAwC;YACxC,IAAI,CAAC,CAAC,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAA;YACxB,iGAAiG;YACjG,kFAAkF;YAClF,oDAAoD;YACpD,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;gBACf,KAAK,oBAAK,CAAC,SAAS,CAAC,KAAK,CAAC;gBAC3B,KAAK,oBAAK,CAAC,SAAS,CAAC,KAAK;oBACxB,OAAO,KAAK,CAAA;gBACd,KAAK,oBAAK,CAAC,SAAS,CAAC,MAAM;oBACzB,OAAO,IAAI,CAAA;gBACb;oBACE,IAAA,8BAAmB,EAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YAC/B,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC,CAAC,CAAA;IAEF,IAAI,oCAAoC,EAAE,CAAC;QACzC,OAAO,IAAA,YAAG,EAAC,IAAI,kDAAkC,EAAE,CAAC,CAAA;IACtD,CAAC;IACD,OAAO,IAAA,WAAE,GAAE,CAAA;AACb,CAAC,CAAA;AA9CU,QAAA,wBAAwB,4BA8ClC"}
@@ -0,0 +1,10 @@
1
+ import { AuthCheckContextLoaderKeys } from '../../domain/loaders.js';
2
+ import { MaybeUserContext, WorkspaceContext } from '../../domain/context.js';
3
+ import { DashboardsNotEnabledError, WorkspaceNotEnoughPermissionsError, WorkspacePlanNoFeatureAccessError } from '../../domain/authErrors.js';
4
+ import { AuthPolicy } from '../../domain/policies.js';
5
+ type PolicyLoaderKeys = typeof AuthCheckContextLoaderKeys.getEnv | typeof AuthCheckContextLoaderKeys.getWorkspaceRole | typeof AuthCheckContextLoaderKeys.getWorkspacePlan;
6
+ type PolicyArgs = MaybeUserContext & WorkspaceContext;
7
+ type PolicyErrors = InstanceType<typeof DashboardsNotEnabledError | typeof WorkspaceNotEnoughPermissionsError | typeof WorkspacePlanNoFeatureAccessError>;
8
+ export declare const canListDashboardsPolicy: AuthPolicy<PolicyLoaderKeys, PolicyArgs, PolicyErrors>;
9
+ export {};
10
+ //# sourceMappingURL=canListDashboards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canListDashboards.d.ts","sourceRoot":"","sources":["../../../../../src/authz/policies/workspace/canListDashboards.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EACL,yBAAyB,EACzB,kCAAkC,EAClC,iCAAiC,EAClC,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAQrD,KAAK,gBAAgB,GACjB,OAAO,0BAA0B,CAAC,MAAM,GACxC,OAAO,0BAA0B,CAAC,gBAAgB,GAClD,OAAO,0BAA0B,CAAC,gBAAgB,CAAA;AAEtD,KAAK,UAAU,GAAG,gBAAgB,GAAG,gBAAgB,CAAA;AAErD,KAAK,YAAY,GAAG,YAAY,CAC5B,OAAO,yBAAyB,GAChC,OAAO,kCAAkC,GACzC,OAAO,iCAAiC,CAC3C,CAAA;AAED,eAAO,MAAM,uBAAuB,EAAE,UAAU,CAC9C,gBAAgB,EAChB,UAAU,EACV,YAAY,CAoBX,CAAA"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.canListDashboardsPolicy = void 0;
4
+ const result_1 = require("true-myth/result");
5
+ const authErrors_js_1 = require("../../domain/authErrors.js");
6
+ const dashboards_js_1 = require("../../fragments/dashboards.js");
7
+ const workspaceRole_js_1 = require("../../checks/workspaceRole.js");
8
+ const constants_js_1 = require("../../../core/constants.js");
9
+ const canListDashboardsPolicy = (loaders) => async ({ userId, workspaceId }) => {
10
+ const isDashboardsEnabled = await (0, dashboards_js_1.ensureDashboardsEnabledFragment)(loaders)({});
11
+ if (isDashboardsEnabled.isErr)
12
+ return (0, result_1.err)(isDashboardsEnabled.error);
13
+ const ensuredFeatureAccess = await (0, dashboards_js_1.ensureWorkspaceDashboardsFeatureAccessFragment)(loaders)({ workspaceId });
14
+ if (ensuredFeatureAccess.isErr)
15
+ return (0, result_1.err)(ensuredFeatureAccess.error);
16
+ const isWorkspaceMember = await (0, workspaceRole_js_1.hasMinimumWorkspaceRole)(loaders)({
17
+ userId: userId,
18
+ workspaceId,
19
+ role: constants_js_1.Roles.Workspace.Member
20
+ });
21
+ if (!isWorkspaceMember)
22
+ return (0, result_1.err)(new authErrors_js_1.WorkspaceNotEnoughPermissionsError());
23
+ return (0, result_1.ok)();
24
+ };
25
+ exports.canListDashboardsPolicy = canListDashboardsPolicy;
26
+ //# sourceMappingURL=canListDashboards.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canListDashboards.js","sourceRoot":"","sources":["../../../../../src/authz/policies/workspace/canListDashboards.ts"],"names":[],"mappings":";;;AAAA,6CAA0C;AAG1C,8DAImC;AAEnC,iEAGsC;AACtC,oEAAuE;AACvE,6DAAkD;AAe3C,MAAM,uBAAuB,GAKlC,CAAC,OAAO,EAAE,EAAE,CACZ,KAAK,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE;IAChC,MAAM,mBAAmB,GAAG,MAAM,IAAA,+CAA+B,EAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA;IAC9E,IAAI,mBAAmB,CAAC,KAAK;QAAE,OAAO,IAAA,YAAG,EAAC,mBAAmB,CAAC,KAAK,CAAC,CAAA;IAEpE,MAAM,oBAAoB,GAAG,MAAM,IAAA,8DAA8C,EAC/E,OAAO,CACR,CAAC,EAAE,WAAW,EAAE,CAAC,CAAA;IAClB,IAAI,oBAAoB,CAAC,KAAK;QAAE,OAAO,IAAA,YAAG,EAAC,oBAAoB,CAAC,KAAK,CAAC,CAAA;IAEtE,MAAM,iBAAiB,GAAG,MAAM,IAAA,0CAAuB,EAAC,OAAO,CAAC,CAAC;QAC/D,MAAM,EAAE,MAAO;QACf,WAAW;QACX,IAAI,EAAE,oBAAK,CAAC,SAAS,CAAC,MAAM;KAC7B,CAAC,CAAA;IACF,IAAI,CAAC,iBAAiB;QAAE,OAAO,IAAA,YAAG,EAAC,IAAI,kDAAkC,EAAE,CAAC,CAAA;IAE5E,OAAO,IAAA,WAAE,GAAE,CAAA;AACb,CAAC,CAAA;AAvBU,QAAA,uBAAuB,2BAuBjC"}
@@ -4,7 +4,7 @@ import { AuthPolicy } from '../../domain/policies.js';
4
4
  import { ServerNoAccessError, ServerNoSessionError, ServerNotEnoughPermissionsError, WorkspaceNoAccessError, WorkspaceNotEnoughPermissionsError, WorkspacesNotEnabledError, WorkspaceSsoSessionNoAccessError } from '../../domain/authErrors.js';
5
5
  type PolicyArgs = MaybeUserContext & WorkspaceContext;
6
6
  type PolicyLoaderKeys = typeof AuthCheckContextLoaderKeys.getEnv | typeof AuthCheckContextLoaderKeys.getServerRole | typeof AuthCheckContextLoaderKeys.getWorkspace | typeof AuthCheckContextLoaderKeys.getWorkspaceRole | typeof AuthCheckContextLoaderKeys.getWorkspaceSsoProvider | typeof AuthCheckContextLoaderKeys.getWorkspaceSsoSession | typeof AuthCheckContextLoaderKeys.getWorkspacePlan;
7
- type PolicyErrors = InstanceType<typeof WorkspaceNoAccessError> | InstanceType<typeof WorkspaceSsoSessionNoAccessError> | InstanceType<typeof WorkspacesNotEnabledError> | InstanceType<typeof ServerNoSessionError> | InstanceType<typeof ServerNoAccessError> | InstanceType<typeof ServerNotEnoughPermissionsError> | InstanceType<typeof WorkspaceNotEnoughPermissionsError>;
7
+ type PolicyErrors = InstanceType<typeof WorkspaceNoAccessError | typeof WorkspaceSsoSessionNoAccessError | typeof WorkspacesNotEnabledError | typeof ServerNoSessionError | typeof ServerNoAccessError | typeof ServerNotEnoughPermissionsError | typeof WorkspaceNotEnoughPermissionsError>;
8
8
  export declare const canReadMemberEmailPolicy: AuthPolicy<PolicyLoaderKeys, PolicyArgs, PolicyErrors>;
9
9
  export {};
10
10
  //# sourceMappingURL=canReadMemberEmail.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"canReadMemberEmail.d.ts","sourceRoot":"","sources":["../../../../../src/authz/policies/workspace/canReadMemberEmail.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAA;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAKrD,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,+BAA+B,EAC/B,sBAAsB,EACtB,kCAAkC,EAClC,yBAAyB,EACzB,gCAAgC,EACjC,MAAM,4BAA4B,CAAA;AAInC,KAAK,UAAU,GAAG,gBAAgB,GAAG,gBAAgB,CAAA;AAErD,KAAK,gBAAgB,GACjB,OAAO,0BAA0B,CAAC,MAAM,GACxC,OAAO,0BAA0B,CAAC,aAAa,GAC/C,OAAO,0BAA0B,CAAC,YAAY,GAC9C,OAAO,0BAA0B,CAAC,gBAAgB,GAClD,OAAO,0BAA0B,CAAC,uBAAuB,GACzD,OAAO,0BAA0B,CAAC,sBAAsB,GACxD,OAAO,0BAA0B,CAAC,gBAAgB,CAAA;AAEtD,KAAK,YAAY,GACb,YAAY,CAAC,OAAO,sBAAsB,CAAC,GAC3C,YAAY,CAAC,OAAO,gCAAgC,CAAC,GACrD,YAAY,CAAC,OAAO,yBAAyB,CAAC,GAC9C,YAAY,CAAC,OAAO,oBAAoB,CAAC,GACzC,YAAY,CAAC,OAAO,mBAAmB,CAAC,GACxC,YAAY,CAAC,OAAO,+BAA+B,CAAC,GACpD,YAAY,CAAC,OAAO,kCAAkC,CAAC,CAAA;AAE3D,eAAO,MAAM,wBAAwB,EAAE,UAAU,CAC/C,gBAAgB,EAChB,UAAU,EACV,YAAY,CAuBX,CAAA"}
1
+ {"version":3,"file":"canReadMemberEmail.d.ts","sourceRoot":"","sources":["../../../../../src/authz/policies/workspace/canReadMemberEmail.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAA;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,+BAA+B,EAC/B,sBAAsB,EACtB,kCAAkC,EAClC,yBAAyB,EACzB,gCAAgC,EACjC,MAAM,4BAA4B,CAAA;AAEnC,KAAK,UAAU,GAAG,gBAAgB,GAAG,gBAAgB,CAAA;AAErD,KAAK,gBAAgB,GACjB,OAAO,0BAA0B,CAAC,MAAM,GACxC,OAAO,0BAA0B,CAAC,aAAa,GAC/C,OAAO,0BAA0B,CAAC,YAAY,GAC9C,OAAO,0BAA0B,CAAC,gBAAgB,GAClD,OAAO,0BAA0B,CAAC,uBAAuB,GACzD,OAAO,0BAA0B,CAAC,sBAAsB,GACxD,OAAO,0BAA0B,CAAC,gBAAgB,CAAA;AAEtD,KAAK,YAAY,GAAG,YAAY,CAC5B,OAAO,sBAAsB,GAC7B,OAAO,gCAAgC,GACvC,OAAO,yBAAyB,GAChC,OAAO,oBAAoB,GAC3B,OAAO,mBAAmB,GAC1B,OAAO,+BAA+B,GACtC,OAAO,kCAAkC,CAC5C,CAAA;AAED,eAAO,MAAM,wBAAwB,EAAE,UAAU,CAC/C,gBAAgB,EAChB,UAAU,EACV,YAAY,CAKX,CAAA"}
@@ -1,28 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.canReadMemberEmailPolicy = void 0;
4
- const result_1 = require("true-myth/result");
5
4
  const workspaces_js_1 = require("../../fragments/workspaces.js");
6
- const server_js_1 = require("../../fragments/server.js");
7
- const constants_js_1 = require("../../../core/constants.js");
8
5
  const canReadMemberEmailPolicy = (loaders) => async ({ userId, workspaceId }) => {
9
- const ensuredWorkspacesEnabled = await (0, workspaces_js_1.ensureWorkspacesEnabledFragment)(loaders)({});
10
- if (ensuredWorkspacesEnabled.isErr)
11
- return (0, result_1.err)(ensuredWorkspacesEnabled.error);
12
- const ensuredServerRole = await (0, server_js_1.ensureMinimumServerRoleFragment)(loaders)({
13
- userId,
14
- role: constants_js_1.Roles.Server.User
15
- });
16
- if (ensuredServerRole.isErr)
17
- return (0, result_1.err)(ensuredServerRole.error);
18
- const ensuredWorkspaceAccess = await (0, workspaces_js_1.ensureWorkspaceRoleAndSessionFragment)(loaders)({
19
- userId: userId,
20
- workspaceId,
21
- role: constants_js_1.Roles.Workspace.Admin
22
- });
23
- if (ensuredWorkspaceAccess.isErr)
24
- return (0, result_1.err)(ensuredWorkspaceAccess.error);
25
- return (0, result_1.ok)();
6
+ return (0, workspaces_js_1.ensureUserIsWorkspaceAdminFragment)(loaders)({ userId, workspaceId });
26
7
  };
27
8
  exports.canReadMemberEmailPolicy = canReadMemberEmailPolicy;
28
9
  //# sourceMappingURL=canReadMemberEmail.js.map