@webiny/api-aco 0.0.0-unstable.99666aeb00 → 0.0.0-unstable.9bd236cf5e

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 (500) hide show
  1. package/apps/AcoApp.d.ts +7 -2
  2. package/apps/AcoApp.js +56 -21
  3. package/apps/AcoApp.js.map +1 -1
  4. package/apps/AcoApps.d.ts +1 -1
  5. package/apps/AcoApps.js +7 -8
  6. package/apps/AcoApps.js.map +1 -1
  7. package/apps/app.gql.d.ts +1 -1
  8. package/apps/app.gql.js +6 -5
  9. package/apps/app.gql.js.map +1 -1
  10. package/apps/index.js +3 -1
  11. package/apps/index.js.map +1 -1
  12. package/constants.d.ts +3 -0
  13. package/constants.js +26 -0
  14. package/constants.js.map +1 -0
  15. package/createAcoContext.d.ts +8 -2
  16. package/createAcoContext.js +57 -27
  17. package/createAcoContext.js.map +1 -1
  18. package/createAcoGraphQL.d.ts +3 -2
  19. package/createAcoGraphQL.js +44 -2
  20. package/createAcoGraphQL.js.map +1 -1
  21. package/createAcoHooks.d.ts +1 -1
  22. package/createAcoHooks.js +11 -3
  23. package/createAcoHooks.js.map +1 -1
  24. package/createAcoModels.d.ts +2 -2
  25. package/createAcoModels.js +14 -21
  26. package/createAcoModels.js.map +1 -1
  27. package/createAcoStorageOperations.d.ts +6 -5
  28. package/createAcoStorageOperations.js +14 -9
  29. package/createAcoStorageOperations.js.map +1 -1
  30. package/createAcoTasks.d.ts +1 -0
  31. package/createAcoTasks.js +13 -0
  32. package/createAcoTasks.js.map +1 -0
  33. package/filter/filter.crud.d.ts +3 -0
  34. package/filter/filter.crud.js +94 -0
  35. package/filter/filter.crud.js.map +1 -0
  36. package/filter/filter.gql.d.ts +3 -0
  37. package/filter/filter.gql.js +152 -0
  38. package/filter/filter.gql.js.map +1 -0
  39. package/filter/filter.model.d.ts +2 -0
  40. package/filter/filter.model.js +124 -0
  41. package/filter/filter.model.js.map +1 -0
  42. package/filter/filter.so.d.ts +3 -0
  43. package/filter/filter.so.js +98 -0
  44. package/filter/filter.so.js.map +1 -0
  45. package/filter/filter.types.d.ts +95 -0
  46. package/filter/filter.types.js +13 -0
  47. package/filter/filter.types.js.map +1 -0
  48. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/GetIdentityGatewayFromContext.d.ts +7 -0
  49. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/GetIdentityGatewayFromContext.js +17 -0
  50. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/GetIdentityGatewayFromContext.js.map +1 -0
  51. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/IGetIdentityGateway.d.ts +4 -0
  52. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/IGetIdentityGateway.js +7 -0
  53. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/IGetIdentityGateway.js.map +1 -0
  54. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/index.d.ts +2 -0
  55. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/index.js +29 -0
  56. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/index.js.map +1 -0
  57. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/GetWcpGatewayFromContext.d.ts +7 -0
  58. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/GetWcpGatewayFromContext.js +17 -0
  59. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/GetWcpGatewayFromContext.js.map +1 -0
  60. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/IGetWcpGateway.d.ts +4 -0
  61. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/IGetWcpGateway.js +7 -0
  62. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/IGetWcpGateway.js.map +1 -0
  63. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/index.d.ts +2 -0
  64. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/index.js +29 -0
  65. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/index.js.map +1 -0
  66. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IIsAuthorizationEnabledGateway.d.ts +3 -0
  67. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IIsAuthorizationEnabledGateway.js +7 -0
  68. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IIsAuthorizationEnabledGateway.js.map +1 -0
  69. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IsAuthorizationEnabledGatewayFromContext.d.ts +7 -0
  70. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IsAuthorizationEnabledGatewayFromContext.js +17 -0
  71. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IsAuthorizationEnabledGatewayFromContext.js.map +1 -0
  72. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/index.d.ts +2 -0
  73. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/index.js +29 -0
  74. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/index.js.map +1 -0
  75. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/IListIdentityTeamsGateway.d.ts +4 -0
  76. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/IListIdentityTeamsGateway.js +7 -0
  77. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/IListIdentityTeamsGateway.js.map +1 -0
  78. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/ListIdentityTeamsGatewayFromContext.d.ts +7 -0
  79. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/ListIdentityTeamsGatewayFromContext.js +39 -0
  80. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/ListIdentityTeamsGatewayFromContext.js.map +1 -0
  81. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/index.d.ts +2 -0
  82. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/index.js +29 -0
  83. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/index.js.map +1 -0
  84. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/IListPermissionsGateway.d.ts +4 -0
  85. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/IListPermissionsGateway.js +7 -0
  86. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/IListPermissionsGateway.js.map +1 -0
  87. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/ListPermissionsGatewayFromContext.d.ts +7 -0
  88. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/ListPermissionsGatewayFromContext.js +17 -0
  89. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/ListPermissionsGatewayFromContext.js.map +1 -0
  90. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/index.d.ts +2 -0
  91. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/index.js +29 -0
  92. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/index.js.map +1 -0
  93. package/flp/FolderLevelPermissions/gateways/index.d.ts +5 -0
  94. package/flp/FolderLevelPermissions/gateways/index.js +62 -0
  95. package/flp/FolderLevelPermissions/gateways/index.js.map +1 -0
  96. package/flp/FolderLevelPermissions/index.d.ts +33 -0
  97. package/flp/FolderLevelPermissions/index.js +116 -0
  98. package/flp/FolderLevelPermissions/index.js.map +1 -0
  99. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.d.ts +7 -0
  100. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js +48 -0
  101. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js.map +1 -0
  102. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.d.ts +9 -0
  103. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js +7 -0
  104. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js.map +1 -0
  105. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.d.ts +2 -0
  106. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js +29 -0
  107. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js.map +1 -0
  108. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.d.ts +7 -0
  109. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js +41 -0
  110. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js.map +1 -0
  111. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.d.ts +8 -0
  112. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js +7 -0
  113. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js.map +1 -0
  114. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.d.ts +2 -0
  115. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js +29 -0
  116. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js.map +1 -0
  117. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.d.ts +4 -0
  118. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js +14 -0
  119. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js.map +1 -0
  120. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.d.ts +3 -0
  121. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js +7 -0
  122. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js.map +1 -0
  123. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.d.ts +2 -0
  124. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js +29 -0
  125. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js.map +1 -0
  126. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/CanUseFolderLevelPermissions.d.ts +9 -0
  127. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/CanUseFolderLevelPermissions.js +34 -0
  128. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/CanUseFolderLevelPermissions.js.map +1 -0
  129. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/ICanUseFolderPermissions.d.ts +3 -0
  130. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/ICanUseFolderPermissions.js +7 -0
  131. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/ICanUseFolderPermissions.js.map +1 -0
  132. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/index.d.ts +2 -0
  133. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/index.js +29 -0
  134. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/index.js.map +1 -0
  135. package/flp/FolderLevelPermissions/useCases/CanUseTeams/CanUseTeams.d.ts +7 -0
  136. package/flp/FolderLevelPermissions/useCases/CanUseTeams/CanUseTeams.js +17 -0
  137. package/flp/FolderLevelPermissions/useCases/CanUseTeams/CanUseTeams.js.map +1 -0
  138. package/flp/FolderLevelPermissions/useCases/CanUseTeams/ICanUseTeams.d.ts +3 -0
  139. package/flp/FolderLevelPermissions/useCases/CanUseTeams/ICanUseTeams.js +7 -0
  140. package/flp/FolderLevelPermissions/useCases/CanUseTeams/ICanUseTeams.js.map +1 -0
  141. package/flp/FolderLevelPermissions/useCases/CanUseTeams/index.d.ts +2 -0
  142. package/flp/FolderLevelPermissions/useCases/CanUseTeams/index.js +29 -0
  143. package/flp/FolderLevelPermissions/useCases/CanUseTeams/index.js.map +1 -0
  144. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.d.ts +5 -0
  145. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js +14 -0
  146. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js.map +1 -0
  147. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.d.ts +4 -0
  148. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js +7 -0
  149. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js.map +1 -0
  150. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.d.ts +2 -0
  151. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js +29 -0
  152. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js.map +1 -0
  153. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.d.ts +6 -0
  154. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js +77 -0
  155. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js.map +1 -0
  156. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.d.ts +9 -0
  157. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js +21 -0
  158. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js.map +1 -0
  159. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.d.ts +10 -0
  160. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js +42 -0
  161. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js.map +1 -0
  162. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.d.ts +4 -0
  163. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js +7 -0
  164. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js.map +1 -0
  165. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.d.ts +3 -0
  166. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js +40 -0
  167. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js.map +1 -0
  168. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/GetFolderPermission.d.ts +7 -0
  169. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/GetFolderPermission.js +17 -0
  170. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/GetFolderPermission.js.map +1 -0
  171. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/IGetFolderPermission.d.ts +4 -0
  172. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/IGetFolderPermission.js +7 -0
  173. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/IGetFolderPermission.js.map +1 -0
  174. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/index.d.ts +2 -0
  175. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/index.js +29 -0
  176. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/index.js.map +1 -0
  177. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/IListFolderPermissions.d.ts +4 -0
  178. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/IListFolderPermissions.js +7 -0
  179. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/IListFolderPermissions.js.map +1 -0
  180. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/ListFolderPermissions.d.ts +7 -0
  181. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/ListFolderPermissions.js +17 -0
  182. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/ListFolderPermissions.js.map +1 -0
  183. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/index.d.ts +2 -0
  184. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/index.js +18 -0
  185. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/index.js.map +1 -0
  186. package/flp/FolderLevelPermissions/useCases/index.d.ts +9 -0
  187. package/flp/FolderLevelPermissions/useCases/index.js +106 -0
  188. package/flp/FolderLevelPermissions/useCases/index.js.map +1 -0
  189. package/flp/flp.crud.d.ts +9 -0
  190. package/flp/flp.crud.js +172 -0
  191. package/flp/flp.crud.js.map +1 -0
  192. package/flp/flp.so.d.ts +26 -0
  193. package/flp/flp.so.js +304 -0
  194. package/flp/flp.so.js.map +1 -0
  195. package/flp/flp.types.d.ts +147 -0
  196. package/flp/flp.types.js +18 -0
  197. package/flp/flp.types.js.map +1 -0
  198. package/flp/hooks/index.d.ts +2 -0
  199. package/flp/hooks/index.js +17 -0
  200. package/flp/hooks/index.js.map +1 -0
  201. package/flp/hooks/onFolderAfterCreateFlp.hook.d.ts +2 -0
  202. package/flp/hooks/onFolderAfterCreateFlp.hook.js +37 -0
  203. package/flp/hooks/onFolderAfterCreateFlp.hook.js.map +1 -0
  204. package/flp/hooks/onFolderAfterDeleteFlp.hook.d.ts +2 -0
  205. package/flp/hooks/onFolderAfterDeleteFlp.hook.js +37 -0
  206. package/flp/hooks/onFolderAfterDeleteFlp.hook.js.map +1 -0
  207. package/flp/hooks/onFolderAfterUpdateFlp.hook.d.ts +2 -0
  208. package/flp/hooks/onFolderAfterUpdateFlp.hook.js +39 -0
  209. package/flp/hooks/onFolderAfterUpdateFlp.hook.js.map +1 -0
  210. package/flp/index.d.ts +5 -0
  211. package/flp/index.js +62 -0
  212. package/flp/index.js.map +1 -0
  213. package/flp/tasks/createFlp.task.d.ts +2 -0
  214. package/flp/tasks/createFlp.task.js +49 -0
  215. package/flp/tasks/createFlp.task.js.map +1 -0
  216. package/flp/tasks/deleteFlp.task.d.ts +2 -0
  217. package/flp/tasks/deleteFlp.task.js +49 -0
  218. package/flp/tasks/deleteFlp.task.js.map +1 -0
  219. package/flp/tasks/index.d.ts +5 -0
  220. package/flp/tasks/index.js +20 -0
  221. package/flp/tasks/index.js.map +1 -0
  222. package/flp/tasks/syncFlp.task.d.ts +2 -0
  223. package/flp/tasks/syncFlp.task.js +126 -0
  224. package/flp/tasks/syncFlp.task.js.map +1 -0
  225. package/flp/tasks/updateFlp.task.d.ts +2 -0
  226. package/flp/tasks/updateFlp.task.js +55 -0
  227. package/flp/tasks/updateFlp.task.js.map +1 -0
  228. package/flp/useCases/CreateFlp.d.ts +7 -0
  229. package/flp/useCases/CreateFlp.js +51 -0
  230. package/flp/useCases/CreateFlp.js.map +1 -0
  231. package/flp/useCases/DeleteFlp.d.ts +6 -0
  232. package/flp/useCases/DeleteFlp.js +30 -0
  233. package/flp/useCases/DeleteFlp.js.map +1 -0
  234. package/flp/useCases/UpdateFlp.d.ts +26 -0
  235. package/flp/useCases/UpdateFlp.js +198 -0
  236. package/flp/useCases/UpdateFlp.js.map +1 -0
  237. package/flp/useCases/index.d.ts +3 -0
  238. package/flp/useCases/index.js +40 -0
  239. package/flp/useCases/index.js.map +1 -0
  240. package/folder/createFolderModelModifier.d.ts +36 -0
  241. package/folder/createFolderModelModifier.js +70 -0
  242. package/folder/createFolderModelModifier.js.map +1 -0
  243. package/folder/createFolderTypeDefs.d.ts +7 -0
  244. package/folder/createFolderTypeDefs.js +207 -0
  245. package/folder/createFolderTypeDefs.js.map +1 -0
  246. package/folder/ensureFolderIsEmpty.d.ts +8 -0
  247. package/folder/ensureFolderIsEmpty.js +63 -0
  248. package/folder/ensureFolderIsEmpty.js.map +1 -0
  249. package/folder/folder.crud.d.ts +8 -3
  250. package/folder/folder.crud.js +112 -65
  251. package/folder/folder.crud.js.map +1 -1
  252. package/folder/folder.gql.d.ts +3 -2
  253. package/folder/folder.gql.js +121 -104
  254. package/folder/folder.gql.js.map +1 -1
  255. package/folder/folder.model.d.ts +1 -3
  256. package/folder/folder.model.js +80 -11
  257. package/folder/folder.model.js.map +1 -1
  258. package/folder/folder.so.d.ts +2 -2
  259. package/folder/folder.so.js +68 -22
  260. package/folder/folder.so.js.map +1 -1
  261. package/folder/folder.types.d.ts +67 -8
  262. package/folder/folder.types.js +3 -1
  263. package/folder/folder.types.js.map +1 -1
  264. package/folder/onFolderBeforeDeleteAco.hook.d.ts +2 -0
  265. package/folder/onFolderBeforeDeleteAco.hook.js +54 -0
  266. package/folder/onFolderBeforeDeleteAco.hook.js.map +1 -0
  267. package/folder/onFolderBeforeDeleteFm.hook.d.ts +2 -0
  268. package/folder/onFolderBeforeDeleteFm.hook.js +51 -0
  269. package/folder/onFolderBeforeDeleteFm.hook.js.map +1 -0
  270. package/folder/onFolderBeforeDeleteHcms.hook.d.ts +2 -0
  271. package/folder/onFolderBeforeDeleteHcms.hook.js +58 -0
  272. package/folder/onFolderBeforeDeleteHcms.hook.js.map +1 -0
  273. package/folder/useCases/CreateFolder/CreateFolder.d.ts +7 -0
  274. package/folder/useCases/CreateFolder/CreateFolder.js +19 -0
  275. package/folder/useCases/CreateFolder/CreateFolder.js.map +1 -0
  276. package/folder/useCases/CreateFolder/CreateFolderWithEvents.d.ts +9 -0
  277. package/folder/useCases/CreateFolder/CreateFolderWithEvents.js +25 -0
  278. package/folder/useCases/CreateFolder/CreateFolderWithEvents.js.map +1 -0
  279. package/folder/useCases/CreateFolder/CreateFolderWithFolderLevelPermissions.d.ts +25 -0
  280. package/folder/useCases/CreateFolder/CreateFolderWithFolderLevelPermissions.js +39 -0
  281. package/folder/useCases/CreateFolder/CreateFolderWithFolderLevelPermissions.js.map +1 -0
  282. package/folder/useCases/CreateFolder/ICreateFolder.d.ts +4 -0
  283. package/folder/useCases/CreateFolder/ICreateFolder.js +7 -0
  284. package/folder/useCases/CreateFolder/ICreateFolder.js.map +1 -0
  285. package/folder/useCases/CreateFolder/index.d.ts +17 -0
  286. package/folder/useCases/CreateFolder/index.js +20 -0
  287. package/folder/useCases/CreateFolder/index.js.map +1 -0
  288. package/folder/useCases/DeleteFolder/DeleteFolder.d.ts +7 -0
  289. package/folder/useCases/DeleteFolder/DeleteFolder.js +18 -0
  290. package/folder/useCases/DeleteFolder/DeleteFolder.js.map +1 -0
  291. package/folder/useCases/DeleteFolder/DeleteFolderWithEvents.d.ts +10 -0
  292. package/folder/useCases/DeleteFolder/DeleteFolderWithEvents.js +29 -0
  293. package/folder/useCases/DeleteFolder/DeleteFolderWithEvents.js.map +1 -0
  294. package/folder/useCases/DeleteFolder/DeleteFolderWithFolderLevelPermissions.d.ts +9 -0
  295. package/folder/useCases/DeleteFolder/DeleteFolderWithFolderLevelPermissions.js +24 -0
  296. package/folder/useCases/DeleteFolder/DeleteFolderWithFolderLevelPermissions.js.map +1 -0
  297. package/folder/useCases/DeleteFolder/IDeleteFolder.d.ts +4 -0
  298. package/folder/useCases/DeleteFolder/IDeleteFolder.js +7 -0
  299. package/folder/useCases/DeleteFolder/IDeleteFolder.js.map +1 -0
  300. package/folder/useCases/DeleteFolder/index.d.ts +18 -0
  301. package/folder/useCases/DeleteFolder/index.js +20 -0
  302. package/folder/useCases/DeleteFolder/index.js.map +1 -0
  303. package/folder/useCases/GetAncestors/GetAncestors.d.ts +9 -0
  304. package/folder/useCases/GetAncestors/GetAncestors.js +77 -0
  305. package/folder/useCases/GetAncestors/GetAncestors.js.map +1 -0
  306. package/folder/useCases/GetAncestors/IGetAncestors.d.ts +7 -0
  307. package/folder/useCases/GetAncestors/IGetAncestors.js +7 -0
  308. package/folder/useCases/GetAncestors/IGetAncestors.js.map +1 -0
  309. package/folder/useCases/GetAncestors/index.d.ts +9 -0
  310. package/folder/useCases/GetAncestors/index.js +16 -0
  311. package/folder/useCases/GetAncestors/index.js.map +1 -0
  312. package/folder/useCases/GetFolder/GetFolder.d.ts +7 -0
  313. package/folder/useCases/GetFolder/GetFolder.js +17 -0
  314. package/folder/useCases/GetFolder/GetFolder.js.map +1 -0
  315. package/folder/useCases/GetFolder/GetFolderWithFolderLevelPermissions.d.ts +25 -0
  316. package/folder/useCases/GetFolder/GetFolderWithFolderLevelPermissions.js +33 -0
  317. package/folder/useCases/GetFolder/GetFolderWithFolderLevelPermissions.js.map +1 -0
  318. package/folder/useCases/GetFolder/IGetFolder.d.ts +4 -0
  319. package/folder/useCases/GetFolder/IGetFolder.js +7 -0
  320. package/folder/useCases/GetFolder/IGetFolder.js.map +1 -0
  321. package/folder/useCases/GetFolder/index.d.ts +13 -0
  322. package/folder/useCases/GetFolder/index.js +19 -0
  323. package/folder/useCases/GetFolder/index.js.map +1 -0
  324. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchy.d.ts +11 -0
  325. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchy.js +63 -0
  326. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchy.js.map +1 -0
  327. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchyWithFolderLevelPermissions.d.ts +17 -0
  328. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchyWithFolderLevelPermissions.js +59 -0
  329. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchyWithFolderLevelPermissions.js.map +1 -0
  330. package/folder/useCases/GetFolderHierarchy/IGetFolderHierarchy.d.ts +4 -0
  331. package/folder/useCases/GetFolderHierarchy/IGetFolderHierarchy.js +7 -0
  332. package/folder/useCases/GetFolderHierarchy/IGetFolderHierarchy.js.map +1 -0
  333. package/folder/useCases/GetFolderHierarchy/index.d.ts +12 -0
  334. package/folder/useCases/GetFolderHierarchy/index.js +18 -0
  335. package/folder/useCases/GetFolderHierarchy/index.js.map +1 -0
  336. package/folder/useCases/ListFolderLevelPermissionsTargets/IListAdminUsersGateway.d.ts +4 -0
  337. package/folder/useCases/ListFolderLevelPermissionsTargets/IListAdminUsersGateway.js +7 -0
  338. package/folder/useCases/ListFolderLevelPermissionsTargets/IListAdminUsersGateway.js.map +1 -0
  339. package/folder/useCases/ListFolderLevelPermissionsTargets/IListFolderLevelPermissionsTargets.d.ts +4 -0
  340. package/folder/useCases/ListFolderLevelPermissionsTargets/IListFolderLevelPermissionsTargets.js +7 -0
  341. package/folder/useCases/ListFolderLevelPermissionsTargets/IListFolderLevelPermissionsTargets.js.map +1 -0
  342. package/folder/useCases/ListFolderLevelPermissionsTargets/IListTeamsGateway.d.ts +4 -0
  343. package/folder/useCases/ListFolderLevelPermissionsTargets/IListTeamsGateway.js +7 -0
  344. package/folder/useCases/ListFolderLevelPermissionsTargets/IListTeamsGateway.js.map +1 -0
  345. package/folder/useCases/ListFolderLevelPermissionsTargets/ListAdminUsersGatewayFromContext.d.ts +7 -0
  346. package/folder/useCases/ListFolderLevelPermissionsTargets/ListAdminUsersGatewayFromContext.js +23 -0
  347. package/folder/useCases/ListFolderLevelPermissionsTargets/ListAdminUsersGatewayFromContext.js.map +1 -0
  348. package/folder/useCases/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargets.d.ts +13 -0
  349. package/folder/useCases/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargets.js +60 -0
  350. package/folder/useCases/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargets.js.map +1 -0
  351. package/folder/useCases/ListFolderLevelPermissionsTargets/ListTeamsGatewayFromContext.d.ts +7 -0
  352. package/folder/useCases/ListFolderLevelPermissionsTargets/ListTeamsGatewayFromContext.js +22 -0
  353. package/folder/useCases/ListFolderLevelPermissionsTargets/ListTeamsGatewayFromContext.js.map +1 -0
  354. package/folder/useCases/ListFolderLevelPermissionsTargets/index.d.ts +9 -0
  355. package/folder/useCases/ListFolderLevelPermissionsTargets/index.js +20 -0
  356. package/folder/useCases/ListFolderLevelPermissionsTargets/index.js.map +1 -0
  357. package/folder/useCases/ListFolders/IListFolders.d.ts +5 -0
  358. package/folder/useCases/ListFolders/IListFolders.js +7 -0
  359. package/folder/useCases/ListFolders/IListFolders.js.map +1 -0
  360. package/folder/useCases/ListFolders/ListFolders.d.ts +8 -0
  361. package/folder/useCases/ListFolders/ListFolders.js +17 -0
  362. package/folder/useCases/ListFolders/ListFolders.js.map +1 -0
  363. package/folder/useCases/ListFolders/ListFoldersWithFolderLevelPermissions.d.ts +14 -0
  364. package/folder/useCases/ListFolders/ListFoldersWithFolderLevelPermissions.js +67 -0
  365. package/folder/useCases/ListFolders/ListFoldersWithFolderLevelPermissions.js.map +1 -0
  366. package/folder/useCases/ListFolders/index.d.ts +13 -0
  367. package/folder/useCases/ListFolders/index.js +19 -0
  368. package/folder/useCases/ListFolders/index.js.map +1 -0
  369. package/folder/useCases/UpdateFolder/IUpdateFolder.d.ts +4 -0
  370. package/folder/useCases/UpdateFolder/IUpdateFolder.js +7 -0
  371. package/folder/useCases/UpdateFolder/IUpdateFolder.js.map +1 -0
  372. package/folder/useCases/UpdateFolder/UpdateFolder.d.ts +7 -0
  373. package/folder/useCases/UpdateFolder/UpdateFolder.js +20 -0
  374. package/folder/useCases/UpdateFolder/UpdateFolder.js.map +1 -0
  375. package/folder/useCases/UpdateFolder/UpdateFolderWithEvents.d.ts +10 -0
  376. package/folder/useCases/UpdateFolder/UpdateFolderWithEvents.js +38 -0
  377. package/folder/useCases/UpdateFolder/UpdateFolderWithEvents.js.map +1 -0
  378. package/folder/useCases/UpdateFolder/UpdateFolderWithFolderLevelPermissions.d.ts +26 -0
  379. package/folder/useCases/UpdateFolder/UpdateFolderWithFolderLevelPermissions.js +78 -0
  380. package/folder/useCases/UpdateFolder/UpdateFolderWithFolderLevelPermissions.js.map +1 -0
  381. package/folder/useCases/UpdateFolder/index.d.ts +18 -0
  382. package/folder/useCases/UpdateFolder/index.js +20 -0
  383. package/folder/useCases/UpdateFolder/index.js.map +1 -0
  384. package/folder/useCases/index.d.ts +8 -0
  385. package/folder/useCases/index.js +95 -0
  386. package/folder/useCases/index.js.map +1 -0
  387. package/index.d.ts +8 -1
  388. package/index.js +27 -5
  389. package/index.js.map +1 -1
  390. package/package.json +33 -33
  391. package/plugins/AcoAppModifierPlugin.d.ts +3 -3
  392. package/plugins/AcoAppModifierPlugin.js +4 -5
  393. package/plugins/AcoAppModifierPlugin.js.map +1 -1
  394. package/plugins/AcoAppRegisterPlugin.d.ts +1 -1
  395. package/plugins/AcoAppRegisterPlugin.js +4 -5
  396. package/plugins/AcoAppRegisterPlugin.js.map +1 -1
  397. package/plugins/index.js +3 -1
  398. package/plugins/index.js.map +1 -1
  399. package/record/graphql/createAppResolvers.d.ts +2 -2
  400. package/record/graphql/createAppResolvers.js +26 -19
  401. package/record/graphql/createAppResolvers.js.map +1 -1
  402. package/record/graphql/createAppSchema.d.ts +2 -2
  403. package/record/graphql/createAppSchema.js +13 -9
  404. package/record/graphql/createAppSchema.js.map +1 -1
  405. package/record/record.crud.d.ts +2 -2
  406. package/record/record.crud.js +13 -11
  407. package/record/record.crud.js.map +1 -1
  408. package/record/record.gql.d.ts +1 -1
  409. package/record/record.gql.js +3 -1
  410. package/record/record.gql.js.map +1 -1
  411. package/record/record.model.d.ts +3 -5
  412. package/record/record.model.js +18 -13
  413. package/record/record.model.js.map +1 -1
  414. package/record/record.so.d.ts +2 -2
  415. package/record/record.so.js +114 -93
  416. package/record/record.so.js.map +1 -1
  417. package/record/record.types.d.ts +17 -16
  418. package/record/record.types.js +3 -1
  419. package/record/record.types.js.map +1 -1
  420. package/types.d.ts +41 -15
  421. package/types.js +36 -4
  422. package/types.js.map +1 -1
  423. package/utils/FoldersCacheFactory.d.ts +10 -0
  424. package/utils/FoldersCacheFactory.js +31 -0
  425. package/utils/FoldersCacheFactory.js.map +1 -0
  426. package/utils/ListCache.d.ts +23 -0
  427. package/utils/ListCache.js +31 -0
  428. package/utils/ListCache.js.map +1 -0
  429. package/utils/ListFoldersRepository.d.ts +10 -0
  430. package/utils/ListFoldersRepository.js +35 -0
  431. package/utils/ListFoldersRepository.js.map +1 -0
  432. package/utils/Path.d.ts +3 -0
  433. package/utils/Path.js +18 -0
  434. package/utils/Path.js.map +1 -0
  435. package/utils/acoRecordId.js +3 -1
  436. package/utils/acoRecordId.js.map +1 -1
  437. package/utils/compress.d.ts +4 -0
  438. package/utils/compress.js +19 -0
  439. package/utils/compress.js.map +1 -0
  440. package/utils/createListSort.d.ts +3 -2
  441. package/utils/createListSort.js +6 -2
  442. package/utils/createListSort.js.map +1 -1
  443. package/utils/createModelField.d.ts +1 -1
  444. package/utils/createModelField.js +3 -1
  445. package/utils/createModelField.js.map +1 -1
  446. package/utils/createOperationsWrapper.d.ts +2 -2
  447. package/utils/createOperationsWrapper.js +8 -10
  448. package/utils/createOperationsWrapper.js.map +1 -1
  449. package/utils/decorators/CmsEntriesCrudDecorators.d.ts +11 -0
  450. package/utils/decorators/CmsEntriesCrudDecorators.js +210 -0
  451. package/utils/decorators/CmsEntriesCrudDecorators.js.map +1 -0
  452. package/utils/decorators/FilterEntriesByFolderFactory.d.ts +7 -0
  453. package/utils/decorators/FilterEntriesByFolderFactory.js +30 -0
  454. package/utils/decorators/FilterEntriesByFolderFactory.js.map +1 -0
  455. package/utils/decorators/ListEntriesFactory.d.ts +16 -0
  456. package/utils/decorators/ListEntriesFactory.js +107 -0
  457. package/utils/decorators/ListEntriesFactory.js.map +1 -0
  458. package/utils/decorators/decorateIfModelAuthorizationEnabled.d.ts +23 -0
  459. package/utils/decorators/decorateIfModelAuthorizationEnabled.js +54 -0
  460. package/utils/decorators/decorateIfModelAuthorizationEnabled.js.map +1 -0
  461. package/utils/decorators/hasRootFolderId.d.ts +7 -0
  462. package/utils/decorators/hasRootFolderId.js +27 -0
  463. package/utils/decorators/hasRootFolderId.js.map +1 -0
  464. package/utils/decorators/isPageModel.d.ts +5 -0
  465. package/utils/decorators/isPageModel.js +20 -0
  466. package/utils/decorators/isPageModel.js.map +1 -0
  467. package/utils/ensureAuthentication.d.ts +2 -0
  468. package/utils/{checkPermissions.js → ensureAuthentication.js} +5 -3
  469. package/utils/ensureAuthentication.js.map +1 -0
  470. package/utils/modelFactory.d.ts +2 -4
  471. package/utils/modelFactory.js +7 -10
  472. package/utils/modelFactory.js.map +1 -1
  473. package/utils/pickEntryFieldValues.d.ts +3 -0
  474. package/utils/pickEntryFieldValues.js +30 -0
  475. package/utils/pickEntryFieldValues.js.map +1 -0
  476. package/utils/resolve.js +3 -1
  477. package/utils/resolve.js.map +1 -1
  478. package/fields/index.d.ts +0 -2
  479. package/fields/index.js +0 -12
  480. package/fields/index.js.map +0 -1
  481. package/fields/location.d.ts +0 -2
  482. package/fields/location.js +0 -44
  483. package/fields/location.js.map +0 -1
  484. package/folder/onFolderBeforeDelete.hook.d.ts +0 -2
  485. package/folder/onFolderBeforeDelete.hook.js +0 -66
  486. package/folder/onFolderBeforeDelete.hook.js.map +0 -1
  487. package/utils/checkPermissions.d.ts +0 -2
  488. package/utils/checkPermissions.js.map +0 -1
  489. package/utils/fieldResolver.d.ts +0 -16
  490. package/utils/fieldResolver.js +0 -44
  491. package/utils/fieldResolver.js.map +0 -1
  492. package/utils/getFieldValues.d.ts +0 -5
  493. package/utils/getFieldValues.js +0 -16
  494. package/utils/getFieldValues.js.map +0 -1
  495. package/utils/getFolderAndItsAncestors.d.ts +0 -7
  496. package/utils/getFolderAndItsAncestors.js +0 -48
  497. package/utils/getFolderAndItsAncestors.js.map +0 -1
  498. package/utils/isInstallationPending.d.ts +0 -4
  499. package/utils/isInstallationPending.js +0 -21
  500. package/utils/isInstallationPending.js.map +0 -1
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.CanAccessFolderContent = void 0;
7
+ class CanAccessFolderContent {
8
+ constructor(getIdentityGateway) {
9
+ this.getIdentityGateway = getIdentityGateway;
10
+ }
11
+ async execute({
12
+ permissions = [],
13
+ rwd
14
+ }) {
15
+ const identity = this.getIdentityGateway.execute();
16
+ const currentIdentityPermission = permissions.find(p => {
17
+ return p.target === `admin:${identity.id}`;
18
+ });
19
+ if (!currentIdentityPermission) {
20
+ return false;
21
+ }
22
+ const {
23
+ level
24
+ } = currentIdentityPermission;
25
+
26
+ // If the user has a `no-access` level, they are explicitly denied access to the current folder.
27
+ if (level === "no-access") {
28
+ return false;
29
+ }
30
+
31
+ // If the user is not an owner and we're checking for "write" or
32
+ // "delete" access, then we can immediately return false.
33
+ if (rwd !== "r") {
34
+ return level !== "viewer";
35
+ }
36
+ return true;
37
+ }
38
+ }
39
+ exports.CanAccessFolderContent = CanAccessFolderContent;
40
+
41
+ //# sourceMappingURL=CanAccessFolderContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CanAccessFolderContent","constructor","getIdentityGateway","execute","permissions","rwd","identity","currentIdentityPermission","find","p","target","id","level","exports"],"sources":["CanAccessFolderContent.ts"],"sourcesContent":["import type {\n CanAccessFolderContentParams,\n ICanAccessFolderContent\n} from \"./ICanAccessFolderContent\";\nimport type { IGetIdentityGateway } from \"../../gateways\";\n\nexport class CanAccessFolderContent implements ICanAccessFolderContent {\n private getIdentityGateway: IGetIdentityGateway;\n\n constructor(getIdentityGateway: IGetIdentityGateway) {\n this.getIdentityGateway = getIdentityGateway;\n }\n\n async execute({ permissions = [], rwd }: CanAccessFolderContentParams) {\n const identity = this.getIdentityGateway.execute();\n\n const currentIdentityPermission = permissions.find(p => {\n return p.target === `admin:${identity.id}`;\n });\n\n if (!currentIdentityPermission) {\n return false;\n }\n\n const { level } = currentIdentityPermission;\n\n // If the user has a `no-access` level, they are explicitly denied access to the current folder.\n if (level === \"no-access\") {\n return false;\n }\n\n // If the user is not an owner and we're checking for \"write\" or\n // \"delete\" access, then we can immediately return false.\n if (rwd !== \"r\") {\n return level !== \"viewer\";\n }\n\n return true;\n }\n}\n"],"mappings":";;;;;;AAMO,MAAMA,sBAAsB,CAAoC;EAGnEC,WAAWA,CAACC,kBAAuC,EAAE;IACjD,IAAI,CAACA,kBAAkB,GAAGA,kBAAkB;EAChD;EAEA,MAAMC,OAAOA,CAAC;IAAEC,WAAW,GAAG,EAAE;IAAEC;EAAkC,CAAC,EAAE;IACnE,MAAMC,QAAQ,GAAG,IAAI,CAACJ,kBAAkB,CAACC,OAAO,CAAC,CAAC;IAElD,MAAMI,yBAAyB,GAAGH,WAAW,CAACI,IAAI,CAACC,CAAC,IAAI;MACpD,OAAOA,CAAC,CAACC,MAAM,KAAK,SAASJ,QAAQ,CAACK,EAAE,EAAE;IAC9C,CAAC,CAAC;IAEF,IAAI,CAACJ,yBAAyB,EAAE;MAC5B,OAAO,KAAK;IAChB;IAEA,MAAM;MAAEK;IAAM,CAAC,GAAGL,yBAAyB;;IAE3C;IACA,IAAIK,KAAK,KAAK,WAAW,EAAE;MACvB,OAAO,KAAK;IAChB;;IAEA;IACA;IACA,IAAIP,GAAG,KAAK,GAAG,EAAE;MACb,OAAOO,KAAK,KAAK,QAAQ;IAC7B;IAEA,OAAO,IAAI;EACf;AACJ;AAACC,OAAA,CAAAb,sBAAA,GAAAA,sBAAA","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ import type { FolderPermission } from "../../../flp.types";
2
+ export interface CanAccessFolderContentParams {
3
+ permissions?: FolderPermission[];
4
+ rwd?: "r" | "w" | "d";
5
+ }
6
+ export interface ICanAccessFolderContent {
7
+ execute: (params: CanAccessFolderContentParams) => Promise<boolean>;
8
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ //# sourceMappingURL=ICanAccessFolderContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["ICanAccessFolderContent.ts"],"sourcesContent":["import type { FolderPermission } from \"~/flp/flp.types\";\n\nexport interface CanAccessFolderContentParams {\n permissions?: FolderPermission[];\n rwd?: \"r\" | \"w\" | \"d\";\n}\n\nexport interface ICanAccessFolderContent {\n execute: (params: CanAccessFolderContentParams) => Promise<boolean>;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export * from "./CanAccessFolderContent";
2
+ export * from "./ICanAccessFolderContent";
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _CanAccessFolderContent = require("./CanAccessFolderContent");
7
+ Object.keys(_CanAccessFolderContent).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _CanAccessFolderContent[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _CanAccessFolderContent[key];
14
+ }
15
+ });
16
+ });
17
+ var _ICanAccessFolderContent = require("./ICanAccessFolderContent");
18
+ Object.keys(_ICanAccessFolderContent).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _ICanAccessFolderContent[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _ICanAccessFolderContent[key];
25
+ }
26
+ });
27
+ });
28
+
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_CanAccessFolderContent","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_ICanAccessFolderContent"],"sources":["index.ts"],"sourcesContent":["export * from \"./CanAccessFolderContent\";\nexport * from \"./ICanAccessFolderContent\";\n"],"mappings":";;;;;AAAA,IAAAA,uBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,uBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,uBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,uBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,wBAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,wBAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,wBAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,wBAAA,CAAAL,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import type { ICanCreateFolderInRoot } from "./ICanCreateFolderInRoot";
2
+ export declare class CanCreateFolderInRoot implements ICanCreateFolderInRoot {
3
+ execute(): boolean;
4
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.CanCreateFolderInRoot = void 0;
7
+ class CanCreateFolderInRoot {
8
+ execute() {
9
+ return true;
10
+ }
11
+ }
12
+ exports.CanCreateFolderInRoot = CanCreateFolderInRoot;
13
+
14
+ //# sourceMappingURL=CanCreateFolderInRoot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CanCreateFolderInRoot","execute","exports"],"sources":["CanCreateFolderInRoot.ts"],"sourcesContent":["import type { ICanCreateFolderInRoot } from \"./ICanCreateFolderInRoot\";\n\nexport class CanCreateFolderInRoot implements ICanCreateFolderInRoot {\n execute() {\n return true;\n }\n}\n"],"mappings":";;;;;;AAEO,MAAMA,qBAAqB,CAAmC;EACjEC,OAAOA,CAAA,EAAG;IACN,OAAO,IAAI;EACf;AACJ;AAACC,OAAA,CAAAF,qBAAA,GAAAA,qBAAA","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ export interface ICanCreateFolderInRoot {
2
+ execute: () => boolean;
3
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ //# sourceMappingURL=ICanCreateFolderInRoot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["ICanCreateFolderInRoot.ts"],"sourcesContent":["export interface ICanCreateFolderInRoot {\n execute: () => boolean;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export * from "./CanCreateFolderInRoot";
2
+ export * from "./ICanCreateFolderInRoot";
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _CanCreateFolderInRoot = require("./CanCreateFolderInRoot");
7
+ Object.keys(_CanCreateFolderInRoot).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _CanCreateFolderInRoot[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _CanCreateFolderInRoot[key];
14
+ }
15
+ });
16
+ });
17
+ var _ICanCreateFolderInRoot = require("./ICanCreateFolderInRoot");
18
+ Object.keys(_ICanCreateFolderInRoot).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _ICanCreateFolderInRoot[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _ICanCreateFolderInRoot[key];
25
+ }
26
+ });
27
+ });
28
+
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_CanCreateFolderInRoot","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_ICanCreateFolderInRoot"],"sources":["index.ts"],"sourcesContent":["export * from \"./CanCreateFolderInRoot\";\nexport * from \"./ICanCreateFolderInRoot\";\n"],"mappings":";;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,sBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,sBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,sBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,uBAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,uBAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,uBAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,uBAAA,CAAAL,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ import type { ICanUseFolderLevelPermissions } from "./ICanUseFolderPermissions";
2
+ import type { IGetIdentityGateway } from "../../gateways";
3
+ import type { IGetWcpGateway } from "../../gateways/GetWcpGateway";
4
+ export declare class CanUseFolderLevelPermissions implements ICanUseFolderLevelPermissions {
5
+ private getWcpGateway;
6
+ private readonly getIdentityGateway;
7
+ constructor(getWcpGateway: IGetWcpGateway, getIdentityGateway: IGetIdentityGateway);
8
+ execute(enabled?: boolean): boolean;
9
+ }
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.CanUseFolderLevelPermissions = void 0;
7
+ class CanUseFolderLevelPermissions {
8
+ constructor(getWcpGateway, getIdentityGateway) {
9
+ this.getWcpGateway = getWcpGateway;
10
+ this.getIdentityGateway = getIdentityGateway;
11
+ }
12
+ execute(enabled) {
13
+ if (enabled === false) {
14
+ return false;
15
+ }
16
+ const identity = this.getIdentityGateway.execute();
17
+
18
+ // FLPs only work with authenticated identities (logged-in users).
19
+ if (!identity) {
20
+ return false;
21
+ }
22
+
23
+ // At the moment, we only want FLP to be used with identities of type "admin".
24
+ // This temporarily addresses the issue of API keys not being able to access content, because
25
+ // FLPs doesn't work with them. Once we start adding FLPs to API keys, we can remove this check.
26
+ if (identity.type !== "admin") {
27
+ return false;
28
+ }
29
+ return this.getWcpGateway.execute().canUseFolderLevelPermissions();
30
+ }
31
+ }
32
+ exports.CanUseFolderLevelPermissions = CanUseFolderLevelPermissions;
33
+
34
+ //# sourceMappingURL=CanUseFolderLevelPermissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CanUseFolderLevelPermissions","constructor","getWcpGateway","getIdentityGateway","execute","enabled","identity","type","canUseFolderLevelPermissions","exports"],"sources":["CanUseFolderLevelPermissions.ts"],"sourcesContent":["import type { ICanUseFolderLevelPermissions } from \"./ICanUseFolderPermissions\";\nimport type { IGetIdentityGateway } from \"~/flp/FolderLevelPermissions/gateways\";\nimport type { IGetWcpGateway } from \"~/flp/FolderLevelPermissions/gateways/GetWcpGateway\";\n\nexport class CanUseFolderLevelPermissions implements ICanUseFolderLevelPermissions {\n private getWcpGateway: IGetWcpGateway;\n private readonly getIdentityGateway: IGetIdentityGateway;\n\n constructor(getWcpGateway: IGetWcpGateway, getIdentityGateway: IGetIdentityGateway) {\n this.getWcpGateway = getWcpGateway;\n this.getIdentityGateway = getIdentityGateway;\n }\n\n execute(enabled?: boolean) {\n if (enabled === false) {\n return false;\n }\n\n const identity = this.getIdentityGateway.execute();\n\n // FLPs only work with authenticated identities (logged-in users).\n if (!identity) {\n return false;\n }\n\n // At the moment, we only want FLP to be used with identities of type \"admin\".\n // This temporarily addresses the issue of API keys not being able to access content, because\n // FLPs doesn't work with them. Once we start adding FLPs to API keys, we can remove this check.\n if (identity.type !== \"admin\") {\n return false;\n }\n\n return this.getWcpGateway.execute().canUseFolderLevelPermissions();\n }\n}\n"],"mappings":";;;;;;AAIO,MAAMA,4BAA4B,CAA0C;EAI/EC,WAAWA,CAACC,aAA6B,EAAEC,kBAAuC,EAAE;IAChF,IAAI,CAACD,aAAa,GAAGA,aAAa;IAClC,IAAI,CAACC,kBAAkB,GAAGA,kBAAkB;EAChD;EAEAC,OAAOA,CAACC,OAAiB,EAAE;IACvB,IAAIA,OAAO,KAAK,KAAK,EAAE;MACnB,OAAO,KAAK;IAChB;IAEA,MAAMC,QAAQ,GAAG,IAAI,CAACH,kBAAkB,CAACC,OAAO,CAAC,CAAC;;IAElD;IACA,IAAI,CAACE,QAAQ,EAAE;MACX,OAAO,KAAK;IAChB;;IAEA;IACA;IACA;IACA,IAAIA,QAAQ,CAACC,IAAI,KAAK,OAAO,EAAE;MAC3B,OAAO,KAAK;IAChB;IAEA,OAAO,IAAI,CAACL,aAAa,CAACE,OAAO,CAAC,CAAC,CAACI,4BAA4B,CAAC,CAAC;EACtE;AACJ;AAACC,OAAA,CAAAT,4BAAA,GAAAA,4BAAA","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ export interface ICanUseFolderLevelPermissions {
2
+ execute: (enabled?: boolean) => boolean;
3
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ //# sourceMappingURL=ICanUseFolderPermissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["ICanUseFolderPermissions.ts"],"sourcesContent":["export interface ICanUseFolderLevelPermissions {\n execute: (enabled?: boolean) => boolean;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export * from "./CanUseFolderLevelPermissions";
2
+ export * from "./ICanUseFolderPermissions";
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _CanUseFolderLevelPermissions = require("./CanUseFolderLevelPermissions");
7
+ Object.keys(_CanUseFolderLevelPermissions).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _CanUseFolderLevelPermissions[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _CanUseFolderLevelPermissions[key];
14
+ }
15
+ });
16
+ });
17
+ var _ICanUseFolderPermissions = require("./ICanUseFolderPermissions");
18
+ Object.keys(_ICanUseFolderPermissions).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _ICanUseFolderPermissions[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _ICanUseFolderPermissions[key];
25
+ }
26
+ });
27
+ });
28
+
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_CanUseFolderLevelPermissions","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_ICanUseFolderPermissions"],"sources":["index.ts"],"sourcesContent":["export * from \"./CanUseFolderLevelPermissions\";\nexport * from \"./ICanUseFolderPermissions\";\n"],"mappings":";;;;;AAAA,IAAAA,6BAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,6BAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,6BAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,6BAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,yBAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,yBAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,yBAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,yBAAA,CAAAL,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import type { ICanUseTeams } from "./ICanUseTeams";
2
+ import type { IGetWcpGateway } from "../../gateways/GetWcpGateway";
3
+ export declare class CanUseTeams implements ICanUseTeams {
4
+ private getWcpGateway;
5
+ constructor(getWcpGateway: IGetWcpGateway);
6
+ execute(): boolean;
7
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.CanUseTeams = void 0;
7
+ class CanUseTeams {
8
+ constructor(getWcpGateway) {
9
+ this.getWcpGateway = getWcpGateway;
10
+ }
11
+ execute() {
12
+ return this.getWcpGateway.execute().canUseTeams();
13
+ }
14
+ }
15
+ exports.CanUseTeams = CanUseTeams;
16
+
17
+ //# sourceMappingURL=CanUseTeams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CanUseTeams","constructor","getWcpGateway","execute","canUseTeams","exports"],"sources":["CanUseTeams.ts"],"sourcesContent":["import type { ICanUseTeams } from \"./ICanUseTeams\";\nimport type { IGetWcpGateway } from \"~/flp/FolderLevelPermissions/gateways/GetWcpGateway\";\n\nexport class CanUseTeams implements ICanUseTeams {\n private getWcpGateway: IGetWcpGateway;\n\n constructor(getWcpGateway: IGetWcpGateway) {\n this.getWcpGateway = getWcpGateway;\n }\n\n execute() {\n return this.getWcpGateway.execute().canUseTeams();\n }\n}\n"],"mappings":";;;;;;AAGO,MAAMA,WAAW,CAAyB;EAG7CC,WAAWA,CAACC,aAA6B,EAAE;IACvC,IAAI,CAACA,aAAa,GAAGA,aAAa;EACtC;EAEAC,OAAOA,CAAA,EAAG;IACN,OAAO,IAAI,CAACD,aAAa,CAACC,OAAO,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;EACrD;AACJ;AAACC,OAAA,CAAAL,WAAA,GAAAA,WAAA","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ export interface ICanUseTeams {
2
+ execute: () => boolean;
3
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ //# sourceMappingURL=ICanUseTeams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["ICanUseTeams.ts"],"sourcesContent":["export interface ICanUseTeams {\n execute: () => boolean;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export * from "./CanUseTeams";
2
+ export * from "./ICanUseTeams";
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _CanUseTeams = require("./CanUseTeams");
7
+ Object.keys(_CanUseTeams).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _CanUseTeams[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _CanUseTeams[key];
14
+ }
15
+ });
16
+ });
17
+ var _ICanUseTeams = require("./ICanUseTeams");
18
+ Object.keys(_ICanUseTeams).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _ICanUseTeams[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _ICanUseTeams[key];
25
+ }
26
+ });
27
+ });
28
+
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_CanUseTeams","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_ICanUseTeams"],"sources":["index.ts"],"sourcesContent":["export * from \"./CanUseTeams\";\nexport * from \"./ICanUseTeams\";\n"],"mappings":";;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,YAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,YAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,YAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,aAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,aAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,aAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,aAAA,CAAAL,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ import type { ICheckNotInheritedPermissions } from "./ICheckNotInheritedPermissions";
2
+ import type { FolderPermission } from "../../../flp.types";
3
+ export declare class CheckNotInheritedPermissions implements ICheckNotInheritedPermissions {
4
+ execute(permissions?: FolderPermission[]): boolean | undefined;
5
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.CheckNotInheritedPermissions = void 0;
7
+ class CheckNotInheritedPermissions {
8
+ execute(permissions) {
9
+ return permissions?.some(p => !p.inheritedFrom);
10
+ }
11
+ }
12
+ exports.CheckNotInheritedPermissions = CheckNotInheritedPermissions;
13
+
14
+ //# sourceMappingURL=CheckNotInheritedPermissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CheckNotInheritedPermissions","execute","permissions","some","p","inheritedFrom","exports"],"sources":["CheckNotInheritedPermissions.ts"],"sourcesContent":["import type { ICheckNotInheritedPermissions } from \"./ICheckNotInheritedPermissions\";\nimport type { FolderPermission } from \"~/flp/flp.types\";\n\nexport class CheckNotInheritedPermissions implements ICheckNotInheritedPermissions {\n execute(permissions?: FolderPermission[]) {\n return permissions?.some(p => !p.inheritedFrom);\n }\n}\n"],"mappings":";;;;;;AAGO,MAAMA,4BAA4B,CAA0C;EAC/EC,OAAOA,CAACC,WAAgC,EAAE;IACtC,OAAOA,WAAW,EAAEC,IAAI,CAACC,CAAC,IAAI,CAACA,CAAC,CAACC,aAAa,CAAC;EACnD;AACJ;AAACC,OAAA,CAAAN,4BAAA,GAAAA,4BAAA","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import type { FolderPermission } from "../../../flp.types";
2
+ export interface ICheckNotInheritedPermissions {
3
+ execute: (permissions?: FolderPermission[]) => boolean | undefined;
4
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ //# sourceMappingURL=ICheckNotInheritedPermissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["ICheckNotInheritedPermissions.ts"],"sourcesContent":["import type { FolderPermission } from \"~/flp/flp.types\";\n\nexport interface ICheckNotInheritedPermissions {\n execute: (permissions?: FolderPermission[]) => boolean | undefined;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export * from "./ICheckNotInheritedPermissions";
2
+ export * from "./CheckNotInheritedPermissions";
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _ICheckNotInheritedPermissions = require("./ICheckNotInheritedPermissions");
7
+ Object.keys(_ICheckNotInheritedPermissions).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _ICheckNotInheritedPermissions[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _ICheckNotInheritedPermissions[key];
14
+ }
15
+ });
16
+ });
17
+ var _CheckNotInheritedPermissions = require("./CheckNotInheritedPermissions");
18
+ Object.keys(_CheckNotInheritedPermissions).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _CheckNotInheritedPermissions[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _CheckNotInheritedPermissions[key];
25
+ }
26
+ });
27
+ });
28
+
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_ICheckNotInheritedPermissions","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_CheckNotInheritedPermissions"],"sources":["index.ts"],"sourcesContent":["export * from \"./ICheckNotInheritedPermissions\";\nexport * from \"./CheckNotInheritedPermissions\";\n"],"mappings":";;;;;AAAA,IAAAA,8BAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,8BAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,8BAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,8BAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,6BAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,6BAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,6BAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,6BAAA,CAAAL,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ import type { FolderPermission } from "../../../flp.types";
2
+ import type { Identity } from "@webiny/api-authentication/types";
3
+ import type { SecurityPermission } from "@webiny/api-security/types";
4
+ export declare class DefaultPermissionsMerger {
5
+ static merge(identity: Identity, identityPermissions: SecurityPermission[], folderPermissions: FolderPermission[]): FolderPermission[];
6
+ }
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DefaultPermissionsMerger = void 0;
7
+ class DefaultPermissionsMerger {
8
+ static merge(identity, identityPermissions, folderPermissions) {
9
+ // If the user has full access permission, add a specific "owner" permission to the list.
10
+ // This ensures the user has complete control over the folder.
11
+ const hasFullAccess = identityPermissions.some(p => p.name === "*");
12
+ if (hasFullAccess) {
13
+ return [{
14
+ target: `admin:${identity.id}`,
15
+ level: "owner",
16
+ inheritedFrom: "role:full-access"
17
+ },
18
+ // Remove any permissions related to the full access user,
19
+ // as these are always superseded by the "owner" permission defined above.
20
+ ...folderPermissions.filter(p => p.target !== `admin:${identity.id}`)];
21
+ }
22
+ if (folderPermissions.length === 0) {
23
+ // No permissions provided. This means the folder is public.
24
+ // Add a specific "public" permission to the list to ensure the folder is accessible to everyone.
25
+ return [{
26
+ target: `admin:${identity.id}`,
27
+ level: "public",
28
+ inheritedFrom: "public"
29
+ }];
30
+ }
31
+
32
+ // If there are multiple `admin:${identity.id}` permissions in the array,
33
+ // we need to pick the one with the highest access level. We also remove
34
+ // other permissions for the same identity.
35
+
36
+ // Get permissions related to the current identity (admin).
37
+ const currentAdminPermissions = folderPermissions.filter(p => p.target === `admin:${identity.id}`);
38
+ if (currentAdminPermissions.length === 0) {
39
+ return folderPermissions;
40
+ }
41
+ const noAccessPermission = currentAdminPermissions.find(p => p.level === "no-access" && p.target === `admin:${identity.id}`);
42
+ if (noAccessPermission) {
43
+ // If one of the permissions is `no-access`, then we can immediately return it. This is
44
+ // because `no-access` is the ultimate level of access, and no other permission can override it.
45
+ // Remove all permissions for the current identity and add the winning one.
46
+ const filteredPermissions = folderPermissions.filter(p => p.target !== `admin:${identity.id}`);
47
+ return [...filteredPermissions, noAccessPermission];
48
+ }
49
+ const [firstAdminPermission, ...restAdminPermissions] = currentAdminPermissions;
50
+ const resultPermission = restAdminPermissions.reduce((winner, current) => {
51
+ const winnerInherits = winner.inheritedFrom?.startsWith("parent:");
52
+ const currentInherits = current.inheritedFrom?.startsWith("parent:");
53
+ if (winnerInherits && !currentInherits) {
54
+ return current;
55
+ }
56
+ if (currentInherits && !winnerInherits) {
57
+ return winner;
58
+ }
59
+
60
+ // At this point, we're either comparing two permissions with `inheritedFrom` or two without it.
61
+ // In other words, we're now at a point where we start comparing the levels (owner > editor > viewer).
62
+ if (current.level === "owner") {
63
+ return current;
64
+ }
65
+ if (current.level === "editor" && winner.level === "viewer") {
66
+ return current;
67
+ }
68
+ return winner;
69
+ }, firstAdminPermission);
70
+
71
+ // Remove all permissions for the current identity and add the winning one.
72
+ return [resultPermission, ...folderPermissions.filter(p => p.target !== `admin:${identity.id}`)];
73
+ }
74
+ }
75
+ exports.DefaultPermissionsMerger = DefaultPermissionsMerger;
76
+
77
+ //# sourceMappingURL=DefaultPermissionsMerger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DefaultPermissionsMerger","merge","identity","identityPermissions","folderPermissions","hasFullAccess","some","p","name","target","id","level","inheritedFrom","filter","length","currentAdminPermissions","noAccessPermission","find","filteredPermissions","firstAdminPermission","restAdminPermissions","resultPermission","reduce","winner","current","winnerInherits","startsWith","currentInherits","exports"],"sources":["DefaultPermissionsMerger.ts"],"sourcesContent":["import type { FolderAccessLevel, FolderPermission } from \"~/flp/flp.types\";\nimport type { Identity } from \"@webiny/api-authentication/types\";\nimport type { SecurityPermission } from \"@webiny/api-security/types\";\n\nexport class DefaultPermissionsMerger {\n static merge(\n identity: Identity,\n identityPermissions: SecurityPermission[],\n folderPermissions: FolderPermission[]\n ): FolderPermission[] {\n // If the user has full access permission, add a specific \"owner\" permission to the list.\n // This ensures the user has complete control over the folder.\n const hasFullAccess = identityPermissions.some(p => p.name === \"*\");\n if (hasFullAccess) {\n return [\n {\n target: `admin:${identity.id}`,\n level: \"owner\" as FolderAccessLevel,\n inheritedFrom: \"role:full-access\"\n },\n\n // Remove any permissions related to the full access user,\n // as these are always superseded by the \"owner\" permission defined above.\n ...folderPermissions.filter(p => p.target !== `admin:${identity.id}`)\n ];\n }\n\n if (folderPermissions.length === 0) {\n // No permissions provided. This means the folder is public.\n // Add a specific \"public\" permission to the list to ensure the folder is accessible to everyone.\n return [\n {\n target: `admin:${identity.id}`,\n level: \"public\" as FolderAccessLevel,\n inheritedFrom: \"public\"\n }\n ];\n }\n\n // If there are multiple `admin:${identity.id}` permissions in the array,\n // we need to pick the one with the highest access level. We also remove\n // other permissions for the same identity.\n\n // Get permissions related to the current identity (admin).\n const currentAdminPermissions = folderPermissions.filter(\n p => p.target === `admin:${identity.id}`\n );\n\n if (currentAdminPermissions.length === 0) {\n return folderPermissions;\n }\n\n const noAccessPermission = currentAdminPermissions.find(\n p => p.level === \"no-access\" && p.target === `admin:${identity.id}`\n );\n\n if (noAccessPermission) {\n // If one of the permissions is `no-access`, then we can immediately return it. This is\n // because `no-access` is the ultimate level of access, and no other permission can override it.\n // Remove all permissions for the current identity and add the winning one.\n const filteredPermissions = folderPermissions.filter(\n p => p.target !== `admin:${identity.id}`\n );\n\n return [...filteredPermissions, noAccessPermission];\n }\n\n const [firstAdminPermission, ...restAdminPermissions] = currentAdminPermissions;\n\n const resultPermission = restAdminPermissions.reduce((winner, current) => {\n const winnerInherits = winner.inheritedFrom?.startsWith(\"parent:\");\n const currentInherits = current.inheritedFrom?.startsWith(\"parent:\");\n\n if (winnerInherits && !currentInherits) {\n return current;\n }\n if (currentInherits && !winnerInherits) {\n return winner;\n }\n\n // At this point, we're either comparing two permissions with `inheritedFrom` or two without it.\n // In other words, we're now at a point where we start comparing the levels (owner > editor > viewer).\n if (current.level === \"owner\") {\n return current;\n }\n\n if (current.level === \"editor\" && winner.level === \"viewer\") {\n return current;\n }\n\n return winner;\n }, firstAdminPermission);\n\n // Remove all permissions for the current identity and add the winning one.\n return [\n resultPermission,\n ...folderPermissions.filter(p => p.target !== `admin:${identity.id}`)\n ];\n }\n}\n"],"mappings":";;;;;;AAIO,MAAMA,wBAAwB,CAAC;EAClC,OAAOC,KAAKA,CACRC,QAAkB,EAClBC,mBAAyC,EACzCC,iBAAqC,EACnB;IAClB;IACA;IACA,MAAMC,aAAa,GAAGF,mBAAmB,CAACG,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACC,IAAI,KAAK,GAAG,CAAC;IACnE,IAAIH,aAAa,EAAE;MACf,OAAO,CACH;QACII,MAAM,EAAE,SAASP,QAAQ,CAACQ,EAAE,EAAE;QAC9BC,KAAK,EAAE,OAA4B;QACnCC,aAAa,EAAE;MACnB,CAAC;MAED;MACA;MACA,GAAGR,iBAAiB,CAACS,MAAM,CAACN,CAAC,IAAIA,CAAC,CAACE,MAAM,KAAK,SAASP,QAAQ,CAACQ,EAAE,EAAE,CAAC,CACxE;IACL;IAEA,IAAIN,iBAAiB,CAACU,MAAM,KAAK,CAAC,EAAE;MAChC;MACA;MACA,OAAO,CACH;QACIL,MAAM,EAAE,SAASP,QAAQ,CAACQ,EAAE,EAAE;QAC9BC,KAAK,EAAE,QAA6B;QACpCC,aAAa,EAAE;MACnB,CAAC,CACJ;IACL;;IAEA;IACA;IACA;;IAEA;IACA,MAAMG,uBAAuB,GAAGX,iBAAiB,CAACS,MAAM,CACpDN,CAAC,IAAIA,CAAC,CAACE,MAAM,KAAK,SAASP,QAAQ,CAACQ,EAAE,EAC1C,CAAC;IAED,IAAIK,uBAAuB,CAACD,MAAM,KAAK,CAAC,EAAE;MACtC,OAAOV,iBAAiB;IAC5B;IAEA,MAAMY,kBAAkB,GAAGD,uBAAuB,CAACE,IAAI,CACnDV,CAAC,IAAIA,CAAC,CAACI,KAAK,KAAK,WAAW,IAAIJ,CAAC,CAACE,MAAM,KAAK,SAASP,QAAQ,CAACQ,EAAE,EACrE,CAAC;IAED,IAAIM,kBAAkB,EAAE;MACpB;MACA;MACA;MACA,MAAME,mBAAmB,GAAGd,iBAAiB,CAACS,MAAM,CAChDN,CAAC,IAAIA,CAAC,CAACE,MAAM,KAAK,SAASP,QAAQ,CAACQ,EAAE,EAC1C,CAAC;MAED,OAAO,CAAC,GAAGQ,mBAAmB,EAAEF,kBAAkB,CAAC;IACvD;IAEA,MAAM,CAACG,oBAAoB,EAAE,GAAGC,oBAAoB,CAAC,GAAGL,uBAAuB;IAE/E,MAAMM,gBAAgB,GAAGD,oBAAoB,CAACE,MAAM,CAAC,CAACC,MAAM,EAAEC,OAAO,KAAK;MACtE,MAAMC,cAAc,GAAGF,MAAM,CAACX,aAAa,EAAEc,UAAU,CAAC,SAAS,CAAC;MAClE,MAAMC,eAAe,GAAGH,OAAO,CAACZ,aAAa,EAAEc,UAAU,CAAC,SAAS,CAAC;MAEpE,IAAID,cAAc,IAAI,CAACE,eAAe,EAAE;QACpC,OAAOH,OAAO;MAClB;MACA,IAAIG,eAAe,IAAI,CAACF,cAAc,EAAE;QACpC,OAAOF,MAAM;MACjB;;MAEA;MACA;MACA,IAAIC,OAAO,CAACb,KAAK,KAAK,OAAO,EAAE;QAC3B,OAAOa,OAAO;MAClB;MAEA,IAAIA,OAAO,CAACb,KAAK,KAAK,QAAQ,IAAIY,MAAM,CAACZ,KAAK,KAAK,QAAQ,EAAE;QACzD,OAAOa,OAAO;MAClB;MAEA,OAAOD,MAAM;IACjB,CAAC,EAAEJ,oBAAoB,CAAC;;IAExB;IACA,OAAO,CACHE,gBAAgB,EAChB,GAAGjB,iBAAiB,CAACS,MAAM,CAACN,CAAC,IAAIA,CAAC,CAACE,MAAM,KAAK,SAASP,QAAQ,CAACQ,EAAE,EAAE,CAAC,CACxE;EACL;AACJ;AAACkB,OAAA,CAAA5B,wBAAA,GAAAA,wBAAA","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ import type { IGetDefaultPermissions } from "./IGetDefaultPermissions";
2
+ import type { IGetIdentityGateway, IListPermissionsGateway } from "../../gateways";
3
+ import type { FolderPermission } from "../../../flp.types";
4
+ export declare class GetDefaultPermissions implements IGetDefaultPermissions {
5
+ private getIdentityGateway;
6
+ private listPermissionsGateway;
7
+ constructor(getIdentityGateway: IGetIdentityGateway, listPermissionsGateway: IListPermissionsGateway);
8
+ execute(permissions: FolderPermission[]): Promise<FolderPermission[]>;
9
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.GetDefaultPermissions = void 0;
7
+ var _DefaultPermissionsMerger = require("./DefaultPermissionsMerger");
8
+ class GetDefaultPermissions {
9
+ constructor(getIdentityGateway, listPermissionsGateway) {
10
+ this.getIdentityGateway = getIdentityGateway;
11
+ this.listPermissionsGateway = listPermissionsGateway;
12
+ }
13
+ async execute(permissions) {
14
+ const identity = this.getIdentityGateway.execute();
15
+ const identityPermissions = await this.listPermissionsGateway.execute();
16
+ return _DefaultPermissionsMerger.DefaultPermissionsMerger.merge(identity, identityPermissions, permissions);
17
+ }
18
+ }
19
+ exports.GetDefaultPermissions = GetDefaultPermissions;
20
+
21
+ //# sourceMappingURL=GetDefaultPermissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_DefaultPermissionsMerger","require","GetDefaultPermissions","constructor","getIdentityGateway","listPermissionsGateway","execute","permissions","identity","identityPermissions","DefaultPermissionsMerger","merge","exports"],"sources":["GetDefaultPermissions.ts"],"sourcesContent":["import type { IGetDefaultPermissions } from \"./IGetDefaultPermissions\";\nimport type { IGetIdentityGateway, IListPermissionsGateway } from \"../../gateways\";\nimport type { FolderPermission } from \"~/flp/flp.types\";\nimport { DefaultPermissionsMerger } from \"./DefaultPermissionsMerger\";\n\nexport class GetDefaultPermissions implements IGetDefaultPermissions {\n private getIdentityGateway: IGetIdentityGateway;\n private listPermissionsGateway: IListPermissionsGateway;\n\n constructor(\n getIdentityGateway: IGetIdentityGateway,\n listPermissionsGateway: IListPermissionsGateway\n ) {\n this.getIdentityGateway = getIdentityGateway;\n this.listPermissionsGateway = listPermissionsGateway;\n }\n\n async execute(permissions: FolderPermission[]) {\n const identity = this.getIdentityGateway.execute();\n const identityPermissions = await this.listPermissionsGateway.execute();\n\n return DefaultPermissionsMerger.merge(identity, identityPermissions, permissions);\n }\n}\n"],"mappings":";;;;;;AAGA,IAAAA,yBAAA,GAAAC,OAAA;AAEO,MAAMC,qBAAqB,CAAmC;EAIjEC,WAAWA,CACPC,kBAAuC,EACvCC,sBAA+C,EACjD;IACE,IAAI,CAACD,kBAAkB,GAAGA,kBAAkB;IAC5C,IAAI,CAACC,sBAAsB,GAAGA,sBAAsB;EACxD;EAEA,MAAMC,OAAOA,CAACC,WAA+B,EAAE;IAC3C,MAAMC,QAAQ,GAAG,IAAI,CAACJ,kBAAkB,CAACE,OAAO,CAAC,CAAC;IAClD,MAAMG,mBAAmB,GAAG,MAAM,IAAI,CAACJ,sBAAsB,CAACC,OAAO,CAAC,CAAC;IAEvE,OAAOI,kDAAwB,CAACC,KAAK,CAACH,QAAQ,EAAEC,mBAAmB,EAAEF,WAAW,CAAC;EACrF;AACJ;AAACK,OAAA,CAAAV,qBAAA,GAAAA,qBAAA","ignoreList":[]}