@webiny/api-aco 5.43.0-beta.0 → 5.43.0-beta.2

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 (384) hide show
  1. package/apps/AcoApp.js +4 -4
  2. package/apps/AcoApp.js.map +1 -1
  3. package/constants.d.ts +3 -0
  4. package/constants.js +11 -0
  5. package/constants.js.map +1 -0
  6. package/createAcoContext.d.ts +3 -1
  7. package/createAcoContext.js +13 -99
  8. package/createAcoContext.js.map +1 -1
  9. package/createAcoHooks.js +2 -0
  10. package/createAcoHooks.js.map +1 -1
  11. package/createAcoStorageOperations.d.ts +2 -0
  12. package/createAcoStorageOperations.js +5 -3
  13. package/createAcoStorageOperations.js.map +1 -1
  14. package/createAcoTasks.d.ts +1 -0
  15. package/createAcoTasks.js +13 -0
  16. package/createAcoTasks.js.map +1 -0
  17. package/filter/filter.crud.js +7 -7
  18. package/filter/filter.crud.js.map +1 -1
  19. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/GetIdentityGatewayFromContext.d.ts +7 -0
  20. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/GetIdentityGatewayFromContext.js +17 -0
  21. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/GetIdentityGatewayFromContext.js.map +1 -0
  22. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/IGetIdentityGateway.d.ts +4 -0
  23. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/IGetIdentityGateway.js +7 -0
  24. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/IGetIdentityGateway.js.map +1 -0
  25. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/index.d.ts +2 -0
  26. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/index.js +29 -0
  27. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/index.js.map +1 -0
  28. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/GetWcpGatewayFromContext.d.ts +7 -0
  29. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/GetWcpGatewayFromContext.js +17 -0
  30. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/GetWcpGatewayFromContext.js.map +1 -0
  31. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/IGetWcpGateway.d.ts +4 -0
  32. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/IGetWcpGateway.js +7 -0
  33. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/IGetWcpGateway.js.map +1 -0
  34. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/index.d.ts +2 -0
  35. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/index.js +29 -0
  36. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/index.js.map +1 -0
  37. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IIsAuthorizationEnabledGateway.d.ts +3 -0
  38. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IIsAuthorizationEnabledGateway.js +7 -0
  39. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IIsAuthorizationEnabledGateway.js.map +1 -0
  40. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IsAuthorizationEnabledGatewayFromContext.d.ts +7 -0
  41. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IsAuthorizationEnabledGatewayFromContext.js +17 -0
  42. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IsAuthorizationEnabledGatewayFromContext.js.map +1 -0
  43. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/index.d.ts +2 -0
  44. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/index.js +29 -0
  45. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/index.js.map +1 -0
  46. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/IListIdentityTeamsGateway.d.ts +4 -0
  47. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/IListIdentityTeamsGateway.js +7 -0
  48. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/IListIdentityTeamsGateway.js.map +1 -0
  49. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/ListIdentityTeamsGatewayFromContext.d.ts +7 -0
  50. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/ListIdentityTeamsGatewayFromContext.js +39 -0
  51. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/ListIdentityTeamsGatewayFromContext.js.map +1 -0
  52. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/index.d.ts +2 -0
  53. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/index.js +29 -0
  54. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/index.js.map +1 -0
  55. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/IListPermissionsGateway.d.ts +4 -0
  56. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/IListPermissionsGateway.js +7 -0
  57. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/IListPermissionsGateway.js.map +1 -0
  58. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/ListPermissionsGatewayFromContext.d.ts +7 -0
  59. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/ListPermissionsGatewayFromContext.js +17 -0
  60. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/ListPermissionsGatewayFromContext.js.map +1 -0
  61. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/index.d.ts +2 -0
  62. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/index.js +29 -0
  63. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/index.js.map +1 -0
  64. package/flp/FolderLevelPermissions/gateways/index.d.ts +5 -0
  65. package/flp/FolderLevelPermissions/gateways/index.js +62 -0
  66. package/flp/FolderLevelPermissions/gateways/index.js.map +1 -0
  67. package/flp/FolderLevelPermissions/index.d.ts +33 -0
  68. package/flp/FolderLevelPermissions/index.js +116 -0
  69. package/flp/FolderLevelPermissions/index.js.map +1 -0
  70. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.d.ts +7 -0
  71. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js +48 -0
  72. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js.map +1 -0
  73. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.d.ts +9 -0
  74. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js +7 -0
  75. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js.map +1 -0
  76. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.d.ts +2 -0
  77. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js +29 -0
  78. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js.map +1 -0
  79. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.d.ts +7 -0
  80. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js +41 -0
  81. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js.map +1 -0
  82. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.d.ts +8 -0
  83. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js +7 -0
  84. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js.map +1 -0
  85. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.d.ts +2 -0
  86. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js +29 -0
  87. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js.map +1 -0
  88. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.d.ts +4 -0
  89. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js +14 -0
  90. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js.map +1 -0
  91. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.d.ts +3 -0
  92. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js +7 -0
  93. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js.map +1 -0
  94. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.d.ts +2 -0
  95. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js +29 -0
  96. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js.map +1 -0
  97. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/CanUseFolderLevelPermissions.d.ts +9 -0
  98. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/CanUseFolderLevelPermissions.js +34 -0
  99. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/CanUseFolderLevelPermissions.js.map +1 -0
  100. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/ICanUseFolderPermissions.d.ts +3 -0
  101. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/ICanUseFolderPermissions.js +7 -0
  102. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/ICanUseFolderPermissions.js.map +1 -0
  103. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/index.d.ts +2 -0
  104. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/index.js +29 -0
  105. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/index.js.map +1 -0
  106. package/flp/FolderLevelPermissions/useCases/CanUseTeams/CanUseTeams.d.ts +7 -0
  107. package/flp/FolderLevelPermissions/useCases/CanUseTeams/CanUseTeams.js +17 -0
  108. package/flp/FolderLevelPermissions/useCases/CanUseTeams/CanUseTeams.js.map +1 -0
  109. package/flp/FolderLevelPermissions/useCases/CanUseTeams/ICanUseTeams.d.ts +3 -0
  110. package/flp/FolderLevelPermissions/useCases/CanUseTeams/ICanUseTeams.js +7 -0
  111. package/flp/FolderLevelPermissions/useCases/CanUseTeams/ICanUseTeams.js.map +1 -0
  112. package/flp/FolderLevelPermissions/useCases/CanUseTeams/index.d.ts +2 -0
  113. package/flp/FolderLevelPermissions/useCases/CanUseTeams/index.js +29 -0
  114. package/flp/FolderLevelPermissions/useCases/CanUseTeams/index.js.map +1 -0
  115. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.d.ts +5 -0
  116. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js +14 -0
  117. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js.map +1 -0
  118. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.d.ts +4 -0
  119. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js +7 -0
  120. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js.map +1 -0
  121. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.d.ts +2 -0
  122. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js +29 -0
  123. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js.map +1 -0
  124. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.d.ts +10 -0
  125. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js +53 -0
  126. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js.map +1 -0
  127. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.d.ts +10 -0
  128. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js +40 -0
  129. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js.map +1 -0
  130. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.d.ts +4 -0
  131. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js +7 -0
  132. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js.map +1 -0
  133. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.d.ts +3 -0
  134. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js +40 -0
  135. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js.map +1 -0
  136. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/GetFolderPermission.d.ts +7 -0
  137. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/GetFolderPermission.js +17 -0
  138. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/GetFolderPermission.js.map +1 -0
  139. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/IGetFolderPermission.d.ts +4 -0
  140. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/IGetFolderPermission.js +7 -0
  141. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/IGetFolderPermission.js.map +1 -0
  142. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/index.d.ts +2 -0
  143. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/index.js +29 -0
  144. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/index.js.map +1 -0
  145. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/IListFolderPermissions.d.ts +4 -0
  146. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/IListFolderPermissions.js +7 -0
  147. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/IListFolderPermissions.js.map +1 -0
  148. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/ListFolderPermissions.d.ts +7 -0
  149. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/ListFolderPermissions.js +17 -0
  150. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/ListFolderPermissions.js.map +1 -0
  151. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/index.d.ts +2 -0
  152. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/index.js +18 -0
  153. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/index.js.map +1 -0
  154. package/flp/FolderLevelPermissions/useCases/index.d.ts +9 -0
  155. package/flp/FolderLevelPermissions/useCases/index.js +106 -0
  156. package/flp/FolderLevelPermissions/useCases/index.js.map +1 -0
  157. package/flp/flp.crud.d.ts +9 -0
  158. package/flp/flp.crud.js +172 -0
  159. package/flp/flp.crud.js.map +1 -0
  160. package/flp/flp.so.d.ts +26 -0
  161. package/flp/flp.so.js +304 -0
  162. package/flp/flp.so.js.map +1 -0
  163. package/flp/flp.types.d.ts +159 -0
  164. package/flp/flp.types.js +7 -0
  165. package/flp/flp.types.js.map +1 -0
  166. package/flp/hooks/index.d.ts +2 -0
  167. package/flp/hooks/index.js +17 -0
  168. package/flp/hooks/index.js.map +1 -0
  169. package/flp/hooks/onFolderAfterCreateFlp.hook.d.ts +2 -0
  170. package/flp/hooks/onFolderAfterCreateFlp.hook.js +37 -0
  171. package/flp/hooks/onFolderAfterCreateFlp.hook.js.map +1 -0
  172. package/flp/hooks/onFolderAfterDeleteFlp.hook.d.ts +2 -0
  173. package/flp/hooks/onFolderAfterDeleteFlp.hook.js +37 -0
  174. package/flp/hooks/onFolderAfterDeleteFlp.hook.js.map +1 -0
  175. package/flp/hooks/onFolderAfterUpdateFlp.hook.d.ts +2 -0
  176. package/flp/hooks/onFolderAfterUpdateFlp.hook.js +39 -0
  177. package/flp/hooks/onFolderAfterUpdateFlp.hook.js.map +1 -0
  178. package/flp/index.d.ts +5 -0
  179. package/flp/index.js +62 -0
  180. package/flp/index.js.map +1 -0
  181. package/flp/tasks/createFlp.task.d.ts +2 -0
  182. package/flp/tasks/createFlp.task.js +49 -0
  183. package/flp/tasks/createFlp.task.js.map +1 -0
  184. package/flp/tasks/deleteFlp.task.d.ts +2 -0
  185. package/flp/tasks/deleteFlp.task.js +49 -0
  186. package/flp/tasks/deleteFlp.task.js.map +1 -0
  187. package/flp/tasks/index.d.ts +5 -0
  188. package/flp/tasks/index.js +20 -0
  189. package/flp/tasks/index.js.map +1 -0
  190. package/flp/tasks/syncFlp.task.d.ts +2 -0
  191. package/flp/tasks/syncFlp.task.js +126 -0
  192. package/flp/tasks/syncFlp.task.js.map +1 -0
  193. package/flp/tasks/updateFlp.task.d.ts +2 -0
  194. package/flp/tasks/updateFlp.task.js +55 -0
  195. package/flp/tasks/updateFlp.task.js.map +1 -0
  196. package/flp/useCases/CreateFlp.d.ts +7 -0
  197. package/flp/useCases/CreateFlp.js +52 -0
  198. package/flp/useCases/CreateFlp.js.map +1 -0
  199. package/flp/useCases/DeleteFlp.d.ts +6 -0
  200. package/flp/useCases/DeleteFlp.js +30 -0
  201. package/flp/useCases/DeleteFlp.js.map +1 -0
  202. package/flp/useCases/Path.d.ts +3 -0
  203. package/flp/useCases/Path.js +18 -0
  204. package/flp/useCases/Path.js.map +1 -0
  205. package/flp/useCases/Permissions.d.ts +4 -0
  206. package/flp/useCases/Permissions.js +38 -0
  207. package/flp/useCases/Permissions.js.map +1 -0
  208. package/flp/useCases/UpdateFlp.d.ts +25 -0
  209. package/flp/useCases/UpdateFlp.js +182 -0
  210. package/flp/useCases/UpdateFlp.js.map +1 -0
  211. package/flp/useCases/index.d.ts +3 -0
  212. package/flp/useCases/index.js +40 -0
  213. package/flp/useCases/index.js.map +1 -0
  214. package/folder/createFolderTypeDefs.js +13 -2
  215. package/folder/createFolderTypeDefs.js.map +1 -1
  216. package/folder/folder.crud.d.ts +3 -6
  217. package/folder/folder.crud.js +90 -231
  218. package/folder/folder.crud.js.map +1 -1
  219. package/folder/folder.gql.js +30 -8
  220. package/folder/folder.gql.js.map +1 -1
  221. package/folder/folder.model.js +3 -0
  222. package/folder/folder.model.js.map +1 -1
  223. package/folder/folder.so.js +4 -1
  224. package/folder/folder.so.js.map +1 -1
  225. package/folder/folder.types.d.ts +17 -3
  226. package/folder/folder.types.js.map +1 -1
  227. package/folder/useCases/CreateFolder/CreateFolder.d.ts +7 -0
  228. package/folder/useCases/CreateFolder/CreateFolder.js +19 -0
  229. package/folder/useCases/CreateFolder/CreateFolder.js.map +1 -0
  230. package/folder/useCases/CreateFolder/CreateFolderWithEvents.d.ts +9 -0
  231. package/folder/useCases/CreateFolder/CreateFolderWithEvents.js +25 -0
  232. package/folder/useCases/CreateFolder/CreateFolderWithEvents.js.map +1 -0
  233. package/folder/useCases/CreateFolder/CreateFolderWithFolderLevelPermissions.d.ts +24 -0
  234. package/folder/useCases/CreateFolder/CreateFolderWithFolderLevelPermissions.js +39 -0
  235. package/folder/useCases/CreateFolder/CreateFolderWithFolderLevelPermissions.js.map +1 -0
  236. package/folder/useCases/CreateFolder/ICreateFolder.d.ts +4 -0
  237. package/folder/useCases/CreateFolder/ICreateFolder.js +7 -0
  238. package/folder/useCases/CreateFolder/ICreateFolder.js.map +1 -0
  239. package/folder/useCases/CreateFolder/index.d.ts +17 -0
  240. package/folder/useCases/CreateFolder/index.js +20 -0
  241. package/folder/useCases/CreateFolder/index.js.map +1 -0
  242. package/folder/useCases/DeleteFolder/DeleteFolder.d.ts +7 -0
  243. package/folder/useCases/DeleteFolder/DeleteFolder.js +18 -0
  244. package/folder/useCases/DeleteFolder/DeleteFolder.js.map +1 -0
  245. package/folder/useCases/DeleteFolder/DeleteFolderWithEvents.d.ts +10 -0
  246. package/folder/useCases/DeleteFolder/DeleteFolderWithEvents.js +29 -0
  247. package/folder/useCases/DeleteFolder/DeleteFolderWithEvents.js.map +1 -0
  248. package/folder/useCases/DeleteFolder/DeleteFolderWithFolderLevelPermissions.d.ts +9 -0
  249. package/folder/useCases/DeleteFolder/DeleteFolderWithFolderLevelPermissions.js +24 -0
  250. package/folder/useCases/DeleteFolder/DeleteFolderWithFolderLevelPermissions.js.map +1 -0
  251. package/folder/useCases/DeleteFolder/IDeleteFolder.d.ts +4 -0
  252. package/folder/useCases/DeleteFolder/IDeleteFolder.js +7 -0
  253. package/folder/useCases/DeleteFolder/IDeleteFolder.js.map +1 -0
  254. package/folder/useCases/DeleteFolder/index.d.ts +18 -0
  255. package/folder/useCases/DeleteFolder/index.js +20 -0
  256. package/folder/useCases/DeleteFolder/index.js.map +1 -0
  257. package/folder/useCases/GetAncestors/GetAncestors.d.ts +5 -0
  258. package/folder/useCases/GetAncestors/GetAncestors.js +57 -0
  259. package/folder/useCases/GetAncestors/GetAncestors.js.map +1 -0
  260. package/folder/useCases/GetAncestors/IGetAncestors.d.ts +8 -0
  261. package/folder/useCases/GetAncestors/IGetAncestors.js +7 -0
  262. package/folder/useCases/GetAncestors/IGetAncestors.js.map +1 -0
  263. package/folder/useCases/GetAncestors/index.d.ts +4 -0
  264. package/folder/useCases/GetAncestors/index.js +16 -0
  265. package/folder/useCases/GetAncestors/index.js.map +1 -0
  266. package/folder/useCases/GetFolder/GetFolder.d.ts +7 -0
  267. package/folder/useCases/GetFolder/GetFolder.js +17 -0
  268. package/folder/useCases/GetFolder/GetFolder.js.map +1 -0
  269. package/folder/useCases/GetFolder/GetFolderWithFolderLevelPermissions.d.ts +24 -0
  270. package/folder/useCases/GetFolder/GetFolderWithFolderLevelPermissions.js +33 -0
  271. package/folder/useCases/GetFolder/GetFolderWithFolderLevelPermissions.js.map +1 -0
  272. package/folder/useCases/GetFolder/IGetFolder.d.ts +4 -0
  273. package/folder/useCases/GetFolder/IGetFolder.js +7 -0
  274. package/folder/useCases/GetFolder/IGetFolder.js.map +1 -0
  275. package/folder/useCases/GetFolder/index.d.ts +13 -0
  276. package/folder/useCases/GetFolder/index.js +19 -0
  277. package/folder/useCases/GetFolder/index.js.map +1 -0
  278. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchy.d.ts +11 -0
  279. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchy.js +63 -0
  280. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchy.js.map +1 -0
  281. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchyWithFolderLevelPermissions.d.ts +17 -0
  282. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchyWithFolderLevelPermissions.js +59 -0
  283. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchyWithFolderLevelPermissions.js.map +1 -0
  284. package/folder/useCases/GetFolderHierarchy/IGetFolderHierarchy.d.ts +4 -0
  285. package/folder/useCases/GetFolderHierarchy/IGetFolderHierarchy.js +7 -0
  286. package/folder/useCases/GetFolderHierarchy/IGetFolderHierarchy.js.map +1 -0
  287. package/folder/useCases/GetFolderHierarchy/index.d.ts +12 -0
  288. package/folder/useCases/GetFolderHierarchy/index.js +18 -0
  289. package/folder/useCases/GetFolderHierarchy/index.js.map +1 -0
  290. package/folder/useCases/ListFolderLevelPermissionsTargets/IListAdminUsersGateway.d.ts +4 -0
  291. package/folder/useCases/ListFolderLevelPermissionsTargets/IListAdminUsersGateway.js +7 -0
  292. package/folder/useCases/ListFolderLevelPermissionsTargets/IListAdminUsersGateway.js.map +1 -0
  293. package/folder/useCases/ListFolderLevelPermissionsTargets/IListFolderLevelPermissionsTargets.d.ts +4 -0
  294. package/folder/useCases/ListFolderLevelPermissionsTargets/IListFolderLevelPermissionsTargets.js +7 -0
  295. package/folder/useCases/ListFolderLevelPermissionsTargets/IListFolderLevelPermissionsTargets.js.map +1 -0
  296. package/folder/useCases/ListFolderLevelPermissionsTargets/IListTeamsGateway.d.ts +4 -0
  297. package/folder/useCases/ListFolderLevelPermissionsTargets/IListTeamsGateway.js +7 -0
  298. package/folder/useCases/ListFolderLevelPermissionsTargets/IListTeamsGateway.js.map +1 -0
  299. package/folder/useCases/ListFolderLevelPermissionsTargets/ListAdminUsersGatewayFromContext.d.ts +7 -0
  300. package/folder/useCases/ListFolderLevelPermissionsTargets/ListAdminUsersGatewayFromContext.js +23 -0
  301. package/folder/useCases/ListFolderLevelPermissionsTargets/ListAdminUsersGatewayFromContext.js.map +1 -0
  302. package/folder/useCases/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargets.d.ts +13 -0
  303. package/folder/useCases/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargets.js +60 -0
  304. package/folder/useCases/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargets.js.map +1 -0
  305. package/folder/useCases/ListFolderLevelPermissionsTargets/ListTeamsGatewayFromContext.d.ts +7 -0
  306. package/folder/useCases/ListFolderLevelPermissionsTargets/ListTeamsGatewayFromContext.js +22 -0
  307. package/folder/useCases/ListFolderLevelPermissionsTargets/ListTeamsGatewayFromContext.js.map +1 -0
  308. package/folder/useCases/ListFolderLevelPermissionsTargets/index.d.ts +9 -0
  309. package/folder/useCases/ListFolderLevelPermissionsTargets/index.js +20 -0
  310. package/folder/useCases/ListFolderLevelPermissionsTargets/index.js.map +1 -0
  311. package/folder/useCases/ListFolders/IListFolders.d.ts +5 -0
  312. package/folder/useCases/ListFolders/IListFolders.js +7 -0
  313. package/folder/useCases/ListFolders/IListFolders.js.map +1 -0
  314. package/folder/useCases/ListFolders/ListFolders.d.ts +8 -0
  315. package/folder/useCases/ListFolders/ListFolders.js +17 -0
  316. package/folder/useCases/ListFolders/ListFolders.js.map +1 -0
  317. package/folder/useCases/ListFolders/ListFoldersWithFolderLevelPermissions.d.ts +14 -0
  318. package/folder/useCases/ListFolders/ListFoldersWithFolderLevelPermissions.js +67 -0
  319. package/folder/useCases/ListFolders/ListFoldersWithFolderLevelPermissions.js.map +1 -0
  320. package/folder/useCases/ListFolders/index.d.ts +13 -0
  321. package/folder/useCases/ListFolders/index.js +19 -0
  322. package/folder/useCases/ListFolders/index.js.map +1 -0
  323. package/folder/useCases/UpdateFolder/IUpdateFolder.d.ts +4 -0
  324. package/folder/useCases/UpdateFolder/IUpdateFolder.js +7 -0
  325. package/folder/useCases/UpdateFolder/IUpdateFolder.js.map +1 -0
  326. package/folder/useCases/UpdateFolder/UpdateFolder.d.ts +7 -0
  327. package/folder/useCases/UpdateFolder/UpdateFolder.js +20 -0
  328. package/folder/useCases/UpdateFolder/UpdateFolder.js.map +1 -0
  329. package/folder/useCases/UpdateFolder/UpdateFolderWithEvents.d.ts +10 -0
  330. package/folder/useCases/UpdateFolder/UpdateFolderWithEvents.js +38 -0
  331. package/folder/useCases/UpdateFolder/UpdateFolderWithEvents.js.map +1 -0
  332. package/folder/useCases/UpdateFolder/UpdateFolderWithFolderLevelPermissions.d.ts +25 -0
  333. package/folder/useCases/UpdateFolder/UpdateFolderWithFolderLevelPermissions.js +78 -0
  334. package/folder/useCases/UpdateFolder/UpdateFolderWithFolderLevelPermissions.js.map +1 -0
  335. package/folder/useCases/UpdateFolder/index.d.ts +18 -0
  336. package/folder/useCases/UpdateFolder/index.js +20 -0
  337. package/folder/useCases/UpdateFolder/index.js.map +1 -0
  338. package/folder/useCases/index.d.ts +8 -0
  339. package/folder/useCases/index.js +95 -0
  340. package/folder/useCases/index.js.map +1 -0
  341. package/index.d.ts +3 -1
  342. package/index.js +3 -2
  343. package/index.js.map +1 -1
  344. package/package.json +28 -26
  345. package/record/record.crud.js +10 -10
  346. package/record/record.crud.js.map +1 -1
  347. package/record/record.so.js +2 -1
  348. package/record/record.so.js.map +1 -1
  349. package/types.d.ts +17 -8
  350. package/types.js +12 -0
  351. package/types.js.map +1 -1
  352. package/utils/decorators/CmsEntriesCrudDecorators.js +41 -65
  353. package/utils/decorators/CmsEntriesCrudDecorators.js.map +1 -1
  354. package/utils/decorators/FilterEntriesByFolderFactory.d.ts +7 -0
  355. package/utils/decorators/FilterEntriesByFolderFactory.js +30 -0
  356. package/utils/decorators/FilterEntriesByFolderFactory.js.map +1 -0
  357. package/utils/decorators/ListEntriesFactory.d.ts +15 -0
  358. package/utils/decorators/ListEntriesFactory.js +107 -0
  359. package/utils/decorators/ListEntriesFactory.js.map +1 -0
  360. package/utils/decorators/decorateIfModelAuthorizationEnabled.js +7 -0
  361. package/utils/decorators/decorateIfModelAuthorizationEnabled.js.map +1 -1
  362. package/utils/decorators/hasRootFolderId.d.ts +7 -0
  363. package/utils/decorators/hasRootFolderId.js +27 -0
  364. package/utils/decorators/hasRootFolderId.js.map +1 -0
  365. package/utils/pickEntryFieldValues.js +1 -1
  366. package/utils/pickEntryFieldValues.js.map +1 -1
  367. package/utils/FolderLevelPermissions.d.ts +0 -75
  368. package/utils/FolderLevelPermissions.js +0 -390
  369. package/utils/FolderLevelPermissions.js.map +0 -1
  370. package/utils/decorators/constants.d.ts +0 -1
  371. package/utils/decorators/constants.js +0 -9
  372. package/utils/decorators/constants.js.map +0 -1
  373. package/utils/decorators/createFolderType.d.ts +0 -2
  374. package/utils/decorators/createFolderType.js +0 -18
  375. package/utils/decorators/createFolderType.js.map +0 -1
  376. package/utils/decorators/filterEntriesByFolderFactory.d.ts +0 -6
  377. package/utils/decorators/filterEntriesByFolderFactory.js +0 -37
  378. package/utils/decorators/filterEntriesByFolderFactory.js.map +0 -1
  379. package/utils/decorators/where.d.ts +0 -15
  380. package/utils/decorators/where.js +0 -60
  381. package/utils/decorators/where.js.map +0 -1
  382. package/utils/getFolderAndItsAncestors.d.ts +0 -7
  383. package/utils/getFolderAndItsAncestors.js +0 -53
  384. package/utils/getFolderAndItsAncestors.js.map +0 -1
@@ -0,0 +1,172 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createFlpCrudMethods = void 0;
7
+ var _pubsub = require("@webiny/pubsub");
8
+ var _error = require("@webiny/error");
9
+ const createFlpCrudMethods = ({
10
+ storageOperations,
11
+ getTenant,
12
+ getLocale
13
+ }) => {
14
+ // create
15
+ const onFlpBeforeCreate = (0, _pubsub.createTopic)("aco.onFlpBeforeCreate");
16
+ const onFlpAfterCreate = (0, _pubsub.createTopic)("aco.onFlpAfterCreate");
17
+ // update
18
+ const onFlpBeforeUpdate = (0, _pubsub.createTopic)("aco.onFlpBeforeUpdate");
19
+ const onFlpAfterUpdate = (0, _pubsub.createTopic)("aco.onFlpAfterUpdate");
20
+ // delete
21
+ const onFlpBeforeDelete = (0, _pubsub.createTopic)("aco.onFlpBeforeDelete");
22
+ const onFlpAfterDelete = (0, _pubsub.createTopic)("aco.onFlpAfterDelete");
23
+ // batch update
24
+ const onFlpBatchBeforeUpdate = (0, _pubsub.createTopic)("aco.onFlpBatchBeforeUpdate");
25
+ const onFlpBatchAfterUpdate = (0, _pubsub.createTopic)("aco.onFlpBatchAfterUpdate");
26
+ return {
27
+ onFlpBeforeCreate,
28
+ onFlpAfterCreate,
29
+ onFlpBeforeUpdate,
30
+ onFlpAfterUpdate,
31
+ onFlpBeforeDelete,
32
+ onFlpAfterDelete,
33
+ onFlpBatchBeforeUpdate,
34
+ onFlpBatchAfterUpdate,
35
+ async create(params) {
36
+ await onFlpBeforeCreate.publish({
37
+ input: params
38
+ });
39
+ const flp = await storageOperations.flp.create({
40
+ data: {
41
+ ...params,
42
+ tenant: getTenant().id,
43
+ locale: getLocale().code
44
+ }
45
+ });
46
+ await onFlpAfterCreate.publish({
47
+ flp
48
+ });
49
+ return flp;
50
+ },
51
+ async update(id, data) {
52
+ const original = await this.get(id);
53
+ if (!original) {
54
+ throw new _error.WebinyError(`Folder level permission with id "${id}" not found.`, "GET_ITEM_UPDATE_FLP_ERROR", {
55
+ id,
56
+ data
57
+ });
58
+ }
59
+ await onFlpBeforeUpdate.publish({
60
+ original,
61
+ input: {
62
+ id,
63
+ data
64
+ }
65
+ });
66
+ const flp = await storageOperations.flp.update({
67
+ original,
68
+ data: {
69
+ ...data,
70
+ tenant: getTenant().id,
71
+ locale: getLocale().code
72
+ }
73
+ });
74
+ await onFlpAfterUpdate.publish({
75
+ original,
76
+ input: {
77
+ id,
78
+ data
79
+ },
80
+ flp
81
+ });
82
+ return flp;
83
+ },
84
+ async batchUpdate(items) {
85
+ const batchItems = (await Promise.all(items.map(async ({
86
+ id,
87
+ data
88
+ }) => {
89
+ const original = await this.get(id);
90
+ if (!original) {
91
+ return null;
92
+ }
93
+ return {
94
+ original,
95
+ data: {
96
+ ...data,
97
+ tenant: getTenant().id,
98
+ locale: getLocale().code
99
+ }
100
+ };
101
+ }))).filter(item => item !== null);
102
+ if (batchItems.length === 0) {
103
+ return [];
104
+ }
105
+ await onFlpBatchBeforeUpdate.publish({
106
+ items: batchItems.map(({
107
+ original,
108
+ data
109
+ }) => ({
110
+ original,
111
+ input: data
112
+ }))
113
+ });
114
+ const updatedItems = await storageOperations.flp.batchUpdate({
115
+ items: batchItems
116
+ });
117
+ await onFlpBatchAfterUpdate.publish({
118
+ items: batchItems.map(({
119
+ original
120
+ }, index) => ({
121
+ original,
122
+ flp: updatedItems[index],
123
+ input: items[index].data
124
+ }))
125
+ });
126
+ return updatedItems;
127
+ },
128
+ async delete(id) {
129
+ const flp = await this.get(id);
130
+ if (!flp) {
131
+ throw new _error.WebinyError(`Folder level permission with id "${id}" not found.`, "GET_ITEM_DELETE_FLP_ERROR", {
132
+ id
133
+ });
134
+ }
135
+ await onFlpBeforeDelete.publish({
136
+ flp
137
+ });
138
+ await storageOperations.flp.delete({
139
+ flp: {
140
+ ...flp,
141
+ tenant: getTenant().id,
142
+ locale: getLocale().code
143
+ }
144
+ });
145
+ await onFlpAfterDelete.publish({
146
+ flp
147
+ });
148
+ return true;
149
+ },
150
+ async get(id) {
151
+ return await storageOperations.flp.get({
152
+ id,
153
+ tenant: getTenant().id,
154
+ locale: getLocale().code
155
+ });
156
+ },
157
+ async list({
158
+ where
159
+ }) {
160
+ return await storageOperations.flp.list({
161
+ where: {
162
+ ...where,
163
+ tenant: getTenant().id,
164
+ locale: getLocale().code
165
+ }
166
+ });
167
+ }
168
+ };
169
+ };
170
+ exports.createFlpCrudMethods = createFlpCrudMethods;
171
+
172
+ //# sourceMappingURL=flp.crud.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_pubsub","require","_error","createFlpCrudMethods","storageOperations","getTenant","getLocale","onFlpBeforeCreate","createTopic","onFlpAfterCreate","onFlpBeforeUpdate","onFlpAfterUpdate","onFlpBeforeDelete","onFlpAfterDelete","onFlpBatchBeforeUpdate","onFlpBatchAfterUpdate","create","params","publish","input","flp","data","tenant","id","locale","code","update","original","get","WebinyError","batchUpdate","items","batchItems","Promise","all","map","filter","item","length","updatedItems","index","delete","list","where","exports"],"sources":["flp.crud.ts"],"sourcesContent":["import { I18NLocale } from \"@webiny/api-i18n/types\";\nimport { Tenant } from \"@webiny/api-tenancy/types\";\nimport { createTopic } from \"@webiny/pubsub\";\nimport {\n type AcoFolderLevelPermissionsCrud,\n type AcoStorageOperations,\n type CreateFlpParams,\n type OnFlpAfterCreateTopicParams,\n type OnFlpAfterDeleteTopicParams,\n type OnFlpAfterUpdateTopicParams,\n type OnFlpBeforeCreateTopicParams,\n type OnFlpBeforeDeleteTopicParams,\n type OnFlpBeforeUpdateTopicParams,\n type OnFlpBatchBeforeUpdateTopicParams,\n type OnFlpBatchAfterUpdateTopicParams,\n type UpdateFlpParams\n} from \"~/types\";\nimport { WebinyError } from \"@webiny/error\";\n\nexport interface CreateFlpCrudMethodsParams {\n getLocale: () => I18NLocale;\n getTenant: () => Tenant;\n storageOperations: AcoStorageOperations;\n}\n\nexport const createFlpCrudMethods = ({\n storageOperations,\n getTenant,\n getLocale\n}: CreateFlpCrudMethodsParams): AcoFolderLevelPermissionsCrud => {\n // create\n const onFlpBeforeCreate = createTopic<OnFlpBeforeCreateTopicParams>(\"aco.onFlpBeforeCreate\");\n const onFlpAfterCreate = createTopic<OnFlpAfterCreateTopicParams>(\"aco.onFlpAfterCreate\");\n // update\n const onFlpBeforeUpdate = createTopic<OnFlpBeforeUpdateTopicParams>(\"aco.onFlpBeforeUpdate\");\n const onFlpAfterUpdate = createTopic<OnFlpAfterUpdateTopicParams>(\"aco.onFlpAfterUpdate\");\n // delete\n const onFlpBeforeDelete = createTopic<OnFlpBeforeDeleteTopicParams>(\"aco.onFlpBeforeDelete\");\n const onFlpAfterDelete = createTopic<OnFlpAfterDeleteTopicParams>(\"aco.onFlpAfterDelete\");\n // batch update\n const onFlpBatchBeforeUpdate = createTopic<OnFlpBatchBeforeUpdateTopicParams>(\n \"aco.onFlpBatchBeforeUpdate\"\n );\n const onFlpBatchAfterUpdate = createTopic<OnFlpBatchAfterUpdateTopicParams>(\n \"aco.onFlpBatchAfterUpdate\"\n );\n\n return {\n onFlpBeforeCreate,\n onFlpAfterCreate,\n onFlpBeforeUpdate,\n onFlpAfterUpdate,\n onFlpBeforeDelete,\n onFlpAfterDelete,\n onFlpBatchBeforeUpdate,\n onFlpBatchAfterUpdate,\n async create(params: CreateFlpParams) {\n await onFlpBeforeCreate.publish({ input: params });\n const flp = await storageOperations.flp.create({\n data: { ...params, tenant: getTenant().id, locale: getLocale().code }\n });\n await onFlpAfterCreate.publish({ flp });\n return flp;\n },\n async update(id: string, data: UpdateFlpParams) {\n const original = await this.get(id);\n if (!original) {\n throw new WebinyError(\n `Folder level permission with id \"${id}\" not found.`,\n \"GET_ITEM_UPDATE_FLP_ERROR\",\n {\n id,\n data\n }\n );\n }\n await onFlpBeforeUpdate.publish({ original, input: { id, data } });\n const flp = await storageOperations.flp.update({\n original,\n data: {\n ...data,\n tenant: getTenant().id,\n locale: getLocale().code\n }\n });\n await onFlpAfterUpdate.publish({ original, input: { id, data }, flp });\n return flp;\n },\n async batchUpdate(items: Array<{ id: string; data: UpdateFlpParams }>) {\n const batchItems = (\n await Promise.all(\n items.map(async ({ id, data }) => {\n const original = await this.get(id);\n if (!original) {\n return null;\n }\n return {\n original,\n data: {\n ...data,\n tenant: getTenant().id,\n locale: getLocale().code\n }\n };\n })\n )\n ).filter((item): item is NonNullable<typeof item> => item !== null);\n\n if (batchItems.length === 0) {\n return [];\n }\n\n await onFlpBatchBeforeUpdate.publish({\n items: batchItems.map(({ original, data }) => ({\n original,\n input: data\n }))\n });\n\n const updatedItems = await storageOperations.flp.batchUpdate({\n items: batchItems\n });\n\n await onFlpBatchAfterUpdate.publish({\n items: batchItems.map(({ original }, index) => ({\n original,\n flp: updatedItems[index],\n input: items[index].data\n }))\n });\n\n return updatedItems;\n },\n async delete(id: string) {\n const flp = await this.get(id);\n if (!flp) {\n throw new WebinyError(\n `Folder level permission with id \"${id}\" not found.`,\n \"GET_ITEM_DELETE_FLP_ERROR\",\n {\n id\n }\n );\n }\n await onFlpBeforeDelete.publish({ flp });\n await storageOperations.flp.delete({\n flp: {\n ...flp,\n tenant: getTenant().id,\n locale: getLocale().code\n }\n });\n await onFlpAfterDelete.publish({ flp });\n return true;\n },\n async get(id: string) {\n return await storageOperations.flp.get({\n id,\n tenant: getTenant().id,\n locale: getLocale().code\n });\n },\n async list({ where }) {\n return await storageOperations.flp.list({\n where: {\n ...where,\n tenant: getTenant().id,\n locale: getLocale().code\n }\n });\n }\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,26 @@
1
+ import { DynamoDBDocument } from "@webiny/aws-sdk/client-dynamodb";
2
+ import type { AcoFolderLevelPermissionsStorageOperations as IAcoFolderLevelPermissionsStorageOperations, FolderLevelPermission, StorageOperationsCreateFlpParams, StorageOperationsDeleteFlpParams, StorageOperationsGetFlpParams, StorageOperationsListFlpsParams, StorageOperationsUpdateFlpParams, StorageOperationsBatchUpdateFlpParams } from "./flp.types";
3
+ interface StorageOperationsConfig {
4
+ documentClient: DynamoDBDocument;
5
+ }
6
+ export interface CreateTableParams {
7
+ name?: string;
8
+ documentClient: DynamoDBDocument;
9
+ }
10
+ declare class FolderLevelPermissionsStorageOperations implements IAcoFolderLevelPermissionsStorageOperations {
11
+ private readonly entity;
12
+ private readonly table;
13
+ constructor({ documentClient }: StorageOperationsConfig);
14
+ list({ where: { tenant, locale, type, path_startsWith, parentId } }: StorageOperationsListFlpsParams): Promise<FolderLevelPermission[]>;
15
+ get({ tenant, locale, id }: StorageOperationsGetFlpParams): Promise<FolderLevelPermission | null>;
16
+ create({ data }: StorageOperationsCreateFlpParams): Promise<FolderLevelPermission>;
17
+ update({ data: inputData, original }: StorageOperationsUpdateFlpParams): Promise<FolderLevelPermission>;
18
+ delete({ flp }: StorageOperationsDeleteFlpParams): Promise<void>;
19
+ batchUpdate({ items }: StorageOperationsBatchUpdateFlpParams): Promise<FolderLevelPermission[]>;
20
+ private createEntity;
21
+ private createTable;
22
+ private createKeys;
23
+ private createGsiKeys;
24
+ }
25
+ export declare const createFlpOperations: (params: StorageOperationsConfig) => FolderLevelPermissionsStorageOperations;
26
+ export {};
package/flp/flp.so.js ADDED
@@ -0,0 +1,304 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createFlpOperations = void 0;
7
+ var _toolbox = require("@webiny/db-dynamodb/toolbox");
8
+ var _dbDynamodb = require("@webiny/db-dynamodb");
9
+ var _EntityWriteBatch = require("@webiny/db-dynamodb/utils/entity/EntityWriteBatch");
10
+ var _error = require("@webiny/error");
11
+ var _utils = require("@webiny/utils");
12
+ class FolderLevelPermissionsStorageOperations {
13
+ constructor({
14
+ documentClient
15
+ }) {
16
+ this.table = this.createTable({
17
+ documentClient
18
+ });
19
+ this.entity = this.createEntity({
20
+ table: this.table,
21
+ name: "ACO.flp"
22
+ });
23
+ }
24
+ async list({
25
+ where: {
26
+ tenant,
27
+ locale,
28
+ type,
29
+ path_startsWith,
30
+ parentId
31
+ }
32
+ }) {
33
+ try {
34
+ if (parentId) {
35
+ const entries = await (0, _dbDynamodb.queryAllClean)({
36
+ entity: this.entity,
37
+ partitionKey: `T#${tenant}#L#${locale}#FLP`,
38
+ options: {
39
+ index: "GSI2",
40
+ eq: parentId
41
+ }
42
+ });
43
+ return entries.map(entry => entry.data);
44
+ }
45
+ if (path_startsWith) {
46
+ const entries = await (0, _dbDynamodb.queryAllClean)({
47
+ entity: this.entity,
48
+ partitionKey: `T#${tenant}#L#${locale}#AT#${type}#FLP`,
49
+ options: {
50
+ index: "GSI1",
51
+ beginsWith: path_startsWith
52
+ }
53
+ });
54
+ return entries.map(entry => entry.data);
55
+ }
56
+ throw new _error.WebinyError("Missing required parameters.", "LIST_FLP_MISSING_PARAMETERS", {
57
+ tenant,
58
+ locale,
59
+ type,
60
+ path_startsWith,
61
+ parentId
62
+ });
63
+ } catch (err) {
64
+ throw _error.WebinyError.from(err, {
65
+ message: "Could not list folder level permissions.",
66
+ code: "LIST_FLP_ERROR"
67
+ });
68
+ }
69
+ }
70
+ async get({
71
+ tenant,
72
+ locale,
73
+ id
74
+ }) {
75
+ try {
76
+ const entry = await (0, _dbDynamodb.getClean)({
77
+ entity: this.entity,
78
+ keys: this.createKeys({
79
+ tenant,
80
+ locale,
81
+ id
82
+ })
83
+ });
84
+ if (!entry) {
85
+ return null;
86
+ }
87
+ return entry.data;
88
+ } catch (err) {
89
+ throw _error.WebinyError.from(err, {
90
+ message: "Could not load folder level permission.",
91
+ code: "GET_FLP_ERROR",
92
+ data: {
93
+ tenant,
94
+ locale,
95
+ id
96
+ }
97
+ });
98
+ }
99
+ }
100
+ async create({
101
+ data
102
+ }) {
103
+ const keys = {
104
+ ...this.createKeys(data),
105
+ ...this.createGsiKeys(data)
106
+ };
107
+ try {
108
+ await (0, _dbDynamodb.put)({
109
+ entity: this.entity,
110
+ item: {
111
+ ...keys,
112
+ data
113
+ }
114
+ });
115
+ return data;
116
+ } catch (err) {
117
+ throw _error.WebinyError.from(err, {
118
+ message: "Could not create folder level permission.",
119
+ code: "CREATE_FLP_ERROR",
120
+ data: {
121
+ keys,
122
+ data
123
+ }
124
+ });
125
+ }
126
+ }
127
+ async update({
128
+ data: inputData,
129
+ original
130
+ }) {
131
+ try {
132
+ const data = {
133
+ ...original,
134
+ ...inputData
135
+ };
136
+ const keys = {
137
+ ...this.createKeys(data),
138
+ ...this.createGsiKeys(data)
139
+ };
140
+ await (0, _dbDynamodb.put)({
141
+ entity: this.entity,
142
+ item: {
143
+ ...keys,
144
+ data
145
+ }
146
+ });
147
+ return data;
148
+ } catch (err) {
149
+ throw _error.WebinyError.from(err, {
150
+ message: "Could not update folder level permission.",
151
+ code: "UPDATE_FLP_ERROR",
152
+ data: {
153
+ inputData,
154
+ original
155
+ }
156
+ });
157
+ }
158
+ }
159
+ async delete({
160
+ flp
161
+ }) {
162
+ const keys = this.createKeys(flp);
163
+ try {
164
+ await (0, _dbDynamodb.deleteItem)({
165
+ entity: this.entity,
166
+ keys
167
+ });
168
+ } catch (err) {
169
+ throw _error.WebinyError.from(err, {
170
+ message: "Could not delete folder level permission.",
171
+ code: "DELETE_FLP_ERROR",
172
+ data: {
173
+ keys,
174
+ flp
175
+ }
176
+ });
177
+ }
178
+ }
179
+ async batchUpdate({
180
+ items
181
+ }) {
182
+ try {
183
+ const batch = (0, _EntityWriteBatch.createEntityWriteBatch)({
184
+ entity: this.entity
185
+ });
186
+ const updatedItems = [];
187
+ for (const {
188
+ original,
189
+ data: inputData
190
+ } of items) {
191
+ const data = {
192
+ ...original,
193
+ ...inputData
194
+ };
195
+ const keys = {
196
+ ...this.createKeys(data),
197
+ ...this.createGsiKeys(data)
198
+ };
199
+ batch.put({
200
+ ...keys,
201
+ data
202
+ });
203
+ updatedItems.push(data);
204
+ }
205
+ await (0, _utils.executeWithRetry)(async () => {
206
+ return await batch.execute();
207
+ });
208
+ return updatedItems;
209
+ } catch (err) {
210
+ throw _error.WebinyError.from(err, {
211
+ message: "Could not batch update folder level permissions.",
212
+ code: "BATCH_UPDATE_FLP_ERROR",
213
+ data: {
214
+ items
215
+ }
216
+ });
217
+ }
218
+ }
219
+ createEntity = params => {
220
+ return new _toolbox.Entity({
221
+ name: params.name,
222
+ table: params.table,
223
+ attributes: {
224
+ PK: {
225
+ partitionKey: true
226
+ },
227
+ SK: {
228
+ sortKey: true
229
+ },
230
+ GSI1_PK: {
231
+ type: "string",
232
+ required: true
233
+ },
234
+ GSI1_SK: {
235
+ type: "string",
236
+ required: true
237
+ },
238
+ GSI2_PK: {
239
+ type: "string",
240
+ required: true
241
+ },
242
+ GSI2_SK: {
243
+ type: "string",
244
+ required: true
245
+ },
246
+ TYPE: {
247
+ type: "string"
248
+ },
249
+ data: {
250
+ type: "map"
251
+ }
252
+ }
253
+ });
254
+ };
255
+ createTable = ({
256
+ name,
257
+ documentClient
258
+ }) => {
259
+ return new _toolbox.Table({
260
+ name: name || String(process.env.DB_TABLE),
261
+ partitionKey: "PK",
262
+ sortKey: "SK",
263
+ DocumentClient: documentClient,
264
+ indexes: {
265
+ GSI1: {
266
+ partitionKey: "GSI1_PK",
267
+ sortKey: "GSI1_SK"
268
+ },
269
+ GSI2: {
270
+ partitionKey: "GSI2_PK",
271
+ sortKey: "GSI2_SK"
272
+ }
273
+ },
274
+ autoExecute: true,
275
+ autoParse: true
276
+ });
277
+ };
278
+ createKeys = ({
279
+ id,
280
+ tenant,
281
+ locale
282
+ }) => ({
283
+ PK: `T#${tenant}#L#${locale}#FLP#${id}`,
284
+ SK: `A`
285
+ });
286
+ createGsiKeys = ({
287
+ tenant,
288
+ locale,
289
+ type,
290
+ path,
291
+ parentId
292
+ }) => ({
293
+ GSI1_PK: `T#${tenant}#L#${locale}#AT#${type}#FLP`,
294
+ GSI1_SK: path,
295
+ GSI2_PK: `T#${tenant}#L#${locale}#FLP`,
296
+ GSI2_SK: parentId
297
+ });
298
+ }
299
+ const createFlpOperations = params => {
300
+ return new FolderLevelPermissionsStorageOperations(params);
301
+ };
302
+ exports.createFlpOperations = createFlpOperations;
303
+
304
+ //# sourceMappingURL=flp.so.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_toolbox","require","_dbDynamodb","_EntityWriteBatch","_error","_utils","FolderLevelPermissionsStorageOperations","constructor","documentClient","table","createTable","entity","createEntity","name","list","where","tenant","locale","type","path_startsWith","parentId","entries","queryAllClean","partitionKey","options","index","eq","map","entry","data","beginsWith","WebinyError","err","from","message","code","get","id","getClean","keys","createKeys","create","createGsiKeys","put","item","update","inputData","original","delete","flp","deleteItem","batchUpdate","items","batch","createEntityWriteBatch","updatedItems","push","executeWithRetry","execute","params","Entity","attributes","PK","SK","sortKey","GSI1_PK","required","GSI1_SK","GSI2_PK","GSI2_SK","TYPE","Table","String","process","env","DB_TABLE","DocumentClient","indexes","GSI1","GSI2","autoExecute","autoParse","path","createFlpOperations","exports"],"sources":["flp.so.ts"],"sourcesContent":["import { Entity, Table } from \"@webiny/db-dynamodb/toolbox\";\nimport { DynamoDBDocument } from \"@webiny/aws-sdk/client-dynamodb\";\nimport { deleteItem, getClean, put, queryAllClean } from \"@webiny/db-dynamodb\";\nimport { createEntityWriteBatch } from \"@webiny/db-dynamodb/utils/entity/EntityWriteBatch\";\n\nimport { WebinyError } from \"@webiny/error\";\nimport type {\n AcoFolderLevelPermissionsStorageOperations as IAcoFolderLevelPermissionsStorageOperations,\n FolderLevelPermission,\n StorageOperationsCreateFlpParams,\n StorageOperationsDeleteFlpParams,\n StorageOperationsGetFlpParams,\n StorageOperationsListFlpsParams,\n StorageOperationsUpdateFlpParams,\n StorageOperationsBatchUpdateFlpParams\n} from \"~/flp/flp.types\";\nimport { executeWithRetry } from \"@webiny/utils\";\n\ninterface StorageOperationsConfig {\n documentClient: DynamoDBDocument;\n}\n\nexport interface CreateTableParams {\n name?: string;\n documentClient: DynamoDBDocument;\n}\n\ninterface CreateEntityParams {\n table: Table<string, string, string>;\n name: string;\n}\n\ninterface CreateKeysParams {\n tenant: string;\n locale: string;\n id: string;\n}\n\ninterface CreateGsiKeysParams {\n tenant: string;\n locale: string;\n id: string;\n type: string;\n path: string;\n parentId: string;\n}\n\nclass FolderLevelPermissionsStorageOperations\n implements IAcoFolderLevelPermissionsStorageOperations\n{\n private readonly entity: Entity<any>;\n private readonly table: Table<string, string, string>;\n\n constructor({ documentClient }: StorageOperationsConfig) {\n this.table = this.createTable({ documentClient });\n\n this.entity = this.createEntity({\n table: this.table,\n name: \"ACO.flp\"\n });\n }\n\n async list({\n where: { tenant, locale, type, path_startsWith, parentId }\n }: StorageOperationsListFlpsParams): Promise<FolderLevelPermission[]> {\n try {\n if (parentId) {\n const entries = await queryAllClean<{ data: FolderLevelPermission }>({\n entity: this.entity,\n partitionKey: `T#${tenant}#L#${locale}#FLP`,\n options: {\n index: \"GSI2\",\n eq: parentId\n }\n });\n return entries.map(entry => entry.data);\n }\n\n if (path_startsWith) {\n const entries = await queryAllClean<{ data: FolderLevelPermission }>({\n entity: this.entity,\n partitionKey: `T#${tenant}#L#${locale}#AT#${type}#FLP`,\n options: {\n index: \"GSI1\",\n beginsWith: path_startsWith\n }\n });\n return entries.map(entry => entry.data);\n }\n\n throw new WebinyError(\"Missing required parameters.\", \"LIST_FLP_MISSING_PARAMETERS\", {\n tenant,\n locale,\n type,\n path_startsWith,\n parentId\n });\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not list folder level permissions.\",\n code: \"LIST_FLP_ERROR\"\n });\n }\n }\n\n async get({\n tenant,\n locale,\n id\n }: StorageOperationsGetFlpParams): Promise<FolderLevelPermission | null> {\n try {\n const entry = await getClean<{ data: FolderLevelPermission }>({\n entity: this.entity,\n keys: this.createKeys({ tenant, locale, id })\n });\n\n if (!entry) {\n return null;\n }\n\n return entry.data;\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not load folder level permission.\",\n code: \"GET_FLP_ERROR\",\n data: { tenant, locale, id }\n });\n }\n }\n\n async create({ data }: StorageOperationsCreateFlpParams): Promise<FolderLevelPermission> {\n const keys = {\n ...this.createKeys(data),\n ...this.createGsiKeys(data)\n };\n\n try {\n await put({\n entity: this.entity,\n item: {\n ...keys,\n data\n }\n });\n\n return data;\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not create folder level permission.\",\n code: \"CREATE_FLP_ERROR\",\n data: { keys, data }\n });\n }\n }\n\n async update({\n data: inputData,\n original\n }: StorageOperationsUpdateFlpParams): Promise<FolderLevelPermission> {\n try {\n const data = {\n ...original,\n ...inputData\n };\n\n const keys = {\n ...this.createKeys(data),\n ...this.createGsiKeys(data)\n };\n\n await put({\n entity: this.entity,\n item: {\n ...keys,\n data\n }\n });\n\n return data;\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not update folder level permission.\",\n code: \"UPDATE_FLP_ERROR\",\n data: { inputData, original }\n });\n }\n }\n\n async delete({ flp }: StorageOperationsDeleteFlpParams): Promise<void> {\n const keys = this.createKeys(flp);\n\n try {\n await deleteItem({\n entity: this.entity,\n keys\n });\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not delete folder level permission.\",\n code: \"DELETE_FLP_ERROR\",\n data: { keys, flp }\n });\n }\n }\n\n async batchUpdate({\n items\n }: StorageOperationsBatchUpdateFlpParams): Promise<FolderLevelPermission[]> {\n try {\n const batch = createEntityWriteBatch({\n entity: this.entity\n });\n\n const updatedItems: FolderLevelPermission[] = [];\n\n for (const { original, data: inputData } of items) {\n const data = {\n ...original,\n ...inputData\n };\n\n const keys = {\n ...this.createKeys(data),\n ...this.createGsiKeys(data)\n };\n\n batch.put({\n ...keys,\n data\n });\n\n updatedItems.push(data);\n }\n\n await executeWithRetry(async () => {\n return await batch.execute();\n });\n\n return updatedItems;\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not batch update folder level permissions.\",\n code: \"BATCH_UPDATE_FLP_ERROR\",\n data: { items }\n });\n }\n }\n\n private createEntity = (params: CreateEntityParams): Entity<any> => {\n return new Entity({\n name: params.name,\n table: params.table,\n attributes: {\n PK: {\n partitionKey: true\n },\n SK: {\n sortKey: true\n },\n GSI1_PK: {\n type: \"string\",\n required: true\n },\n GSI1_SK: {\n type: \"string\",\n required: true\n },\n GSI2_PK: {\n type: \"string\",\n required: true\n },\n GSI2_SK: {\n type: \"string\",\n required: true\n },\n TYPE: {\n type: \"string\"\n },\n data: {\n type: \"map\"\n }\n }\n });\n };\n\n private createTable = ({ name, documentClient }: CreateTableParams) => {\n return new Table({\n name: name || String(process.env.DB_TABLE),\n partitionKey: \"PK\",\n sortKey: \"SK\",\n DocumentClient: documentClient,\n indexes: {\n GSI1: {\n partitionKey: \"GSI1_PK\",\n sortKey: \"GSI1_SK\"\n },\n GSI2: {\n partitionKey: \"GSI2_PK\",\n sortKey: \"GSI2_SK\"\n }\n },\n autoExecute: true,\n autoParse: true\n });\n };\n\n private createKeys = ({ id, tenant, locale }: CreateKeysParams) => ({\n PK: `T#${tenant}#L#${locale}#FLP#${id}`,\n SK: `A`\n });\n\n private createGsiKeys = ({ tenant, locale, type, path, parentId }: CreateGsiKeysParams) => ({\n GSI1_PK: `T#${tenant}#L#${locale}#AT#${type}#FLP`,\n GSI1_SK: path,\n GSI2_PK: `T#${tenant}#L#${locale}#FLP`,\n GSI2_SK: parentId\n });\n}\n\nexport const createFlpOperations = (params: StorageOperationsConfig) => {\n return new FolderLevelPermissionsStorageOperations(params);\n};\n"],"mappings":"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","ignoreList":[]}