@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.
- package/apps/AcoApp.js +4 -4
- package/apps/AcoApp.js.map +1 -1
- package/constants.d.ts +3 -0
- package/constants.js +11 -0
- package/constants.js.map +1 -0
- package/createAcoContext.d.ts +3 -1
- package/createAcoContext.js +13 -99
- package/createAcoContext.js.map +1 -1
- package/createAcoHooks.js +2 -0
- package/createAcoHooks.js.map +1 -1
- package/createAcoStorageOperations.d.ts +2 -0
- package/createAcoStorageOperations.js +5 -3
- package/createAcoStorageOperations.js.map +1 -1
- package/createAcoTasks.d.ts +1 -0
- package/createAcoTasks.js +13 -0
- package/createAcoTasks.js.map +1 -0
- package/filter/filter.crud.js +7 -7
- package/filter/filter.crud.js.map +1 -1
- package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/GetIdentityGatewayFromContext.d.ts +7 -0
- package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/GetIdentityGatewayFromContext.js +17 -0
- package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/GetIdentityGatewayFromContext.js.map +1 -0
- package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/IGetIdentityGateway.d.ts +4 -0
- package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/IGetIdentityGateway.js +7 -0
- package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/IGetIdentityGateway.js.map +1 -0
- package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/index.d.ts +2 -0
- package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/index.js +29 -0
- package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/index.js.map +1 -0
- package/flp/FolderLevelPermissions/gateways/GetWcpGateway/GetWcpGatewayFromContext.d.ts +7 -0
- package/flp/FolderLevelPermissions/gateways/GetWcpGateway/GetWcpGatewayFromContext.js +17 -0
- package/flp/FolderLevelPermissions/gateways/GetWcpGateway/GetWcpGatewayFromContext.js.map +1 -0
- package/flp/FolderLevelPermissions/gateways/GetWcpGateway/IGetWcpGateway.d.ts +4 -0
- package/flp/FolderLevelPermissions/gateways/GetWcpGateway/IGetWcpGateway.js +7 -0
- package/flp/FolderLevelPermissions/gateways/GetWcpGateway/IGetWcpGateway.js.map +1 -0
- package/flp/FolderLevelPermissions/gateways/GetWcpGateway/index.d.ts +2 -0
- package/flp/FolderLevelPermissions/gateways/GetWcpGateway/index.js +29 -0
- package/flp/FolderLevelPermissions/gateways/GetWcpGateway/index.js.map +1 -0
- package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IIsAuthorizationEnabledGateway.d.ts +3 -0
- package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IIsAuthorizationEnabledGateway.js +7 -0
- package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IIsAuthorizationEnabledGateway.js.map +1 -0
- package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IsAuthorizationEnabledGatewayFromContext.d.ts +7 -0
- package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IsAuthorizationEnabledGatewayFromContext.js +17 -0
- package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IsAuthorizationEnabledGatewayFromContext.js.map +1 -0
- package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/index.d.ts +2 -0
- package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/index.js +29 -0
- package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/index.js.map +1 -0
- package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/IListIdentityTeamsGateway.d.ts +4 -0
- package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/IListIdentityTeamsGateway.js +7 -0
- package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/IListIdentityTeamsGateway.js.map +1 -0
- package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/ListIdentityTeamsGatewayFromContext.d.ts +7 -0
- package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/ListIdentityTeamsGatewayFromContext.js +39 -0
- package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/ListIdentityTeamsGatewayFromContext.js.map +1 -0
- package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/index.d.ts +2 -0
- package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/index.js +29 -0
- package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/index.js.map +1 -0
- package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/IListPermissionsGateway.d.ts +4 -0
- package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/IListPermissionsGateway.js +7 -0
- package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/IListPermissionsGateway.js.map +1 -0
- package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/ListPermissionsGatewayFromContext.d.ts +7 -0
- package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/ListPermissionsGatewayFromContext.js +17 -0
- package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/ListPermissionsGatewayFromContext.js.map +1 -0
- package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/index.d.ts +2 -0
- package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/index.js +29 -0
- package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/index.js.map +1 -0
- package/flp/FolderLevelPermissions/gateways/index.d.ts +5 -0
- package/flp/FolderLevelPermissions/gateways/index.js +62 -0
- package/flp/FolderLevelPermissions/gateways/index.js.map +1 -0
- package/flp/FolderLevelPermissions/index.d.ts +33 -0
- package/flp/FolderLevelPermissions/index.js +116 -0
- package/flp/FolderLevelPermissions/index.js.map +1 -0
- package/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.d.ts +7 -0
- package/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js +48 -0
- package/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js.map +1 -0
- package/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.d.ts +9 -0
- package/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js +7 -0
- package/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js.map +1 -0
- package/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.d.ts +2 -0
- package/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js +29 -0
- package/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js.map +1 -0
- package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.d.ts +7 -0
- package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js +41 -0
- package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js.map +1 -0
- package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.d.ts +8 -0
- package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js +7 -0
- package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js.map +1 -0
- package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.d.ts +2 -0
- package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js +29 -0
- package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js.map +1 -0
- package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.d.ts +4 -0
- package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js +14 -0
- package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js.map +1 -0
- package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.d.ts +3 -0
- package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js +7 -0
- package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js.map +1 -0
- package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.d.ts +2 -0
- package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js +29 -0
- package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js.map +1 -0
- package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/CanUseFolderLevelPermissions.d.ts +9 -0
- package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/CanUseFolderLevelPermissions.js +34 -0
- package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/CanUseFolderLevelPermissions.js.map +1 -0
- package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/ICanUseFolderPermissions.d.ts +3 -0
- package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/ICanUseFolderPermissions.js +7 -0
- package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/ICanUseFolderPermissions.js.map +1 -0
- package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/index.d.ts +2 -0
- package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/index.js +29 -0
- package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/index.js.map +1 -0
- package/flp/FolderLevelPermissions/useCases/CanUseTeams/CanUseTeams.d.ts +7 -0
- package/flp/FolderLevelPermissions/useCases/CanUseTeams/CanUseTeams.js +17 -0
- package/flp/FolderLevelPermissions/useCases/CanUseTeams/CanUseTeams.js.map +1 -0
- package/flp/FolderLevelPermissions/useCases/CanUseTeams/ICanUseTeams.d.ts +3 -0
- package/flp/FolderLevelPermissions/useCases/CanUseTeams/ICanUseTeams.js +7 -0
- package/flp/FolderLevelPermissions/useCases/CanUseTeams/ICanUseTeams.js.map +1 -0
- package/flp/FolderLevelPermissions/useCases/CanUseTeams/index.d.ts +2 -0
- package/flp/FolderLevelPermissions/useCases/CanUseTeams/index.js +29 -0
- package/flp/FolderLevelPermissions/useCases/CanUseTeams/index.js.map +1 -0
- package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.d.ts +5 -0
- package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js +14 -0
- package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js.map +1 -0
- package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.d.ts +4 -0
- package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js +7 -0
- package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js.map +1 -0
- package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.d.ts +2 -0
- package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js +29 -0
- package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js.map +1 -0
- package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.d.ts +10 -0
- package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js +53 -0
- package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js.map +1 -0
- package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.d.ts +10 -0
- package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js +40 -0
- package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js.map +1 -0
- package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.d.ts +4 -0
- package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js +7 -0
- package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js.map +1 -0
- package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.d.ts +3 -0
- package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js +40 -0
- package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js.map +1 -0
- package/flp/FolderLevelPermissions/useCases/GetFolderPermission/GetFolderPermission.d.ts +7 -0
- package/flp/FolderLevelPermissions/useCases/GetFolderPermission/GetFolderPermission.js +17 -0
- package/flp/FolderLevelPermissions/useCases/GetFolderPermission/GetFolderPermission.js.map +1 -0
- package/flp/FolderLevelPermissions/useCases/GetFolderPermission/IGetFolderPermission.d.ts +4 -0
- package/flp/FolderLevelPermissions/useCases/GetFolderPermission/IGetFolderPermission.js +7 -0
- package/flp/FolderLevelPermissions/useCases/GetFolderPermission/IGetFolderPermission.js.map +1 -0
- package/flp/FolderLevelPermissions/useCases/GetFolderPermission/index.d.ts +2 -0
- package/flp/FolderLevelPermissions/useCases/GetFolderPermission/index.js +29 -0
- package/flp/FolderLevelPermissions/useCases/GetFolderPermission/index.js.map +1 -0
- package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/IListFolderPermissions.d.ts +4 -0
- package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/IListFolderPermissions.js +7 -0
- package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/IListFolderPermissions.js.map +1 -0
- package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/ListFolderPermissions.d.ts +7 -0
- package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/ListFolderPermissions.js +17 -0
- package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/ListFolderPermissions.js.map +1 -0
- package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/index.d.ts +2 -0
- package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/index.js +18 -0
- package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/index.js.map +1 -0
- package/flp/FolderLevelPermissions/useCases/index.d.ts +9 -0
- package/flp/FolderLevelPermissions/useCases/index.js +106 -0
- package/flp/FolderLevelPermissions/useCases/index.js.map +1 -0
- package/flp/flp.crud.d.ts +9 -0
- package/flp/flp.crud.js +172 -0
- package/flp/flp.crud.js.map +1 -0
- package/flp/flp.so.d.ts +26 -0
- package/flp/flp.so.js +304 -0
- package/flp/flp.so.js.map +1 -0
- package/flp/flp.types.d.ts +159 -0
- package/flp/flp.types.js +7 -0
- package/flp/flp.types.js.map +1 -0
- package/flp/hooks/index.d.ts +2 -0
- package/flp/hooks/index.js +17 -0
- package/flp/hooks/index.js.map +1 -0
- package/flp/hooks/onFolderAfterCreateFlp.hook.d.ts +2 -0
- package/flp/hooks/onFolderAfterCreateFlp.hook.js +37 -0
- package/flp/hooks/onFolderAfterCreateFlp.hook.js.map +1 -0
- package/flp/hooks/onFolderAfterDeleteFlp.hook.d.ts +2 -0
- package/flp/hooks/onFolderAfterDeleteFlp.hook.js +37 -0
- package/flp/hooks/onFolderAfterDeleteFlp.hook.js.map +1 -0
- package/flp/hooks/onFolderAfterUpdateFlp.hook.d.ts +2 -0
- package/flp/hooks/onFolderAfterUpdateFlp.hook.js +39 -0
- package/flp/hooks/onFolderAfterUpdateFlp.hook.js.map +1 -0
- package/flp/index.d.ts +5 -0
- package/flp/index.js +62 -0
- package/flp/index.js.map +1 -0
- package/flp/tasks/createFlp.task.d.ts +2 -0
- package/flp/tasks/createFlp.task.js +49 -0
- package/flp/tasks/createFlp.task.js.map +1 -0
- package/flp/tasks/deleteFlp.task.d.ts +2 -0
- package/flp/tasks/deleteFlp.task.js +49 -0
- package/flp/tasks/deleteFlp.task.js.map +1 -0
- package/flp/tasks/index.d.ts +5 -0
- package/flp/tasks/index.js +20 -0
- package/flp/tasks/index.js.map +1 -0
- package/flp/tasks/syncFlp.task.d.ts +2 -0
- package/flp/tasks/syncFlp.task.js +126 -0
- package/flp/tasks/syncFlp.task.js.map +1 -0
- package/flp/tasks/updateFlp.task.d.ts +2 -0
- package/flp/tasks/updateFlp.task.js +55 -0
- package/flp/tasks/updateFlp.task.js.map +1 -0
- package/flp/useCases/CreateFlp.d.ts +7 -0
- package/flp/useCases/CreateFlp.js +52 -0
- package/flp/useCases/CreateFlp.js.map +1 -0
- package/flp/useCases/DeleteFlp.d.ts +6 -0
- package/flp/useCases/DeleteFlp.js +30 -0
- package/flp/useCases/DeleteFlp.js.map +1 -0
- package/flp/useCases/Path.d.ts +3 -0
- package/flp/useCases/Path.js +18 -0
- package/flp/useCases/Path.js.map +1 -0
- package/flp/useCases/Permissions.d.ts +4 -0
- package/flp/useCases/Permissions.js +38 -0
- package/flp/useCases/Permissions.js.map +1 -0
- package/flp/useCases/UpdateFlp.d.ts +25 -0
- package/flp/useCases/UpdateFlp.js +182 -0
- package/flp/useCases/UpdateFlp.js.map +1 -0
- package/flp/useCases/index.d.ts +3 -0
- package/flp/useCases/index.js +40 -0
- package/flp/useCases/index.js.map +1 -0
- package/folder/createFolderTypeDefs.js +13 -2
- package/folder/createFolderTypeDefs.js.map +1 -1
- package/folder/folder.crud.d.ts +3 -6
- package/folder/folder.crud.js +90 -231
- package/folder/folder.crud.js.map +1 -1
- package/folder/folder.gql.js +30 -8
- package/folder/folder.gql.js.map +1 -1
- package/folder/folder.model.js +3 -0
- package/folder/folder.model.js.map +1 -1
- package/folder/folder.so.js +4 -1
- package/folder/folder.so.js.map +1 -1
- package/folder/folder.types.d.ts +17 -3
- package/folder/folder.types.js.map +1 -1
- package/folder/useCases/CreateFolder/CreateFolder.d.ts +7 -0
- package/folder/useCases/CreateFolder/CreateFolder.js +19 -0
- package/folder/useCases/CreateFolder/CreateFolder.js.map +1 -0
- package/folder/useCases/CreateFolder/CreateFolderWithEvents.d.ts +9 -0
- package/folder/useCases/CreateFolder/CreateFolderWithEvents.js +25 -0
- package/folder/useCases/CreateFolder/CreateFolderWithEvents.js.map +1 -0
- package/folder/useCases/CreateFolder/CreateFolderWithFolderLevelPermissions.d.ts +24 -0
- package/folder/useCases/CreateFolder/CreateFolderWithFolderLevelPermissions.js +39 -0
- package/folder/useCases/CreateFolder/CreateFolderWithFolderLevelPermissions.js.map +1 -0
- package/folder/useCases/CreateFolder/ICreateFolder.d.ts +4 -0
- package/folder/useCases/CreateFolder/ICreateFolder.js +7 -0
- package/folder/useCases/CreateFolder/ICreateFolder.js.map +1 -0
- package/folder/useCases/CreateFolder/index.d.ts +17 -0
- package/folder/useCases/CreateFolder/index.js +20 -0
- package/folder/useCases/CreateFolder/index.js.map +1 -0
- package/folder/useCases/DeleteFolder/DeleteFolder.d.ts +7 -0
- package/folder/useCases/DeleteFolder/DeleteFolder.js +18 -0
- package/folder/useCases/DeleteFolder/DeleteFolder.js.map +1 -0
- package/folder/useCases/DeleteFolder/DeleteFolderWithEvents.d.ts +10 -0
- package/folder/useCases/DeleteFolder/DeleteFolderWithEvents.js +29 -0
- package/folder/useCases/DeleteFolder/DeleteFolderWithEvents.js.map +1 -0
- package/folder/useCases/DeleteFolder/DeleteFolderWithFolderLevelPermissions.d.ts +9 -0
- package/folder/useCases/DeleteFolder/DeleteFolderWithFolderLevelPermissions.js +24 -0
- package/folder/useCases/DeleteFolder/DeleteFolderWithFolderLevelPermissions.js.map +1 -0
- package/folder/useCases/DeleteFolder/IDeleteFolder.d.ts +4 -0
- package/folder/useCases/DeleteFolder/IDeleteFolder.js +7 -0
- package/folder/useCases/DeleteFolder/IDeleteFolder.js.map +1 -0
- package/folder/useCases/DeleteFolder/index.d.ts +18 -0
- package/folder/useCases/DeleteFolder/index.js +20 -0
- package/folder/useCases/DeleteFolder/index.js.map +1 -0
- package/folder/useCases/GetAncestors/GetAncestors.d.ts +5 -0
- package/folder/useCases/GetAncestors/GetAncestors.js +57 -0
- package/folder/useCases/GetAncestors/GetAncestors.js.map +1 -0
- package/folder/useCases/GetAncestors/IGetAncestors.d.ts +8 -0
- package/folder/useCases/GetAncestors/IGetAncestors.js +7 -0
- package/folder/useCases/GetAncestors/IGetAncestors.js.map +1 -0
- package/folder/useCases/GetAncestors/index.d.ts +4 -0
- package/folder/useCases/GetAncestors/index.js +16 -0
- package/folder/useCases/GetAncestors/index.js.map +1 -0
- package/folder/useCases/GetFolder/GetFolder.d.ts +7 -0
- package/folder/useCases/GetFolder/GetFolder.js +17 -0
- package/folder/useCases/GetFolder/GetFolder.js.map +1 -0
- package/folder/useCases/GetFolder/GetFolderWithFolderLevelPermissions.d.ts +24 -0
- package/folder/useCases/GetFolder/GetFolderWithFolderLevelPermissions.js +33 -0
- package/folder/useCases/GetFolder/GetFolderWithFolderLevelPermissions.js.map +1 -0
- package/folder/useCases/GetFolder/IGetFolder.d.ts +4 -0
- package/folder/useCases/GetFolder/IGetFolder.js +7 -0
- package/folder/useCases/GetFolder/IGetFolder.js.map +1 -0
- package/folder/useCases/GetFolder/index.d.ts +13 -0
- package/folder/useCases/GetFolder/index.js +19 -0
- package/folder/useCases/GetFolder/index.js.map +1 -0
- package/folder/useCases/GetFolderHierarchy/GetFolderHierarchy.d.ts +11 -0
- package/folder/useCases/GetFolderHierarchy/GetFolderHierarchy.js +63 -0
- package/folder/useCases/GetFolderHierarchy/GetFolderHierarchy.js.map +1 -0
- package/folder/useCases/GetFolderHierarchy/GetFolderHierarchyWithFolderLevelPermissions.d.ts +17 -0
- package/folder/useCases/GetFolderHierarchy/GetFolderHierarchyWithFolderLevelPermissions.js +59 -0
- package/folder/useCases/GetFolderHierarchy/GetFolderHierarchyWithFolderLevelPermissions.js.map +1 -0
- package/folder/useCases/GetFolderHierarchy/IGetFolderHierarchy.d.ts +4 -0
- package/folder/useCases/GetFolderHierarchy/IGetFolderHierarchy.js +7 -0
- package/folder/useCases/GetFolderHierarchy/IGetFolderHierarchy.js.map +1 -0
- package/folder/useCases/GetFolderHierarchy/index.d.ts +12 -0
- package/folder/useCases/GetFolderHierarchy/index.js +18 -0
- package/folder/useCases/GetFolderHierarchy/index.js.map +1 -0
- package/folder/useCases/ListFolderLevelPermissionsTargets/IListAdminUsersGateway.d.ts +4 -0
- package/folder/useCases/ListFolderLevelPermissionsTargets/IListAdminUsersGateway.js +7 -0
- package/folder/useCases/ListFolderLevelPermissionsTargets/IListAdminUsersGateway.js.map +1 -0
- package/folder/useCases/ListFolderLevelPermissionsTargets/IListFolderLevelPermissionsTargets.d.ts +4 -0
- package/folder/useCases/ListFolderLevelPermissionsTargets/IListFolderLevelPermissionsTargets.js +7 -0
- package/folder/useCases/ListFolderLevelPermissionsTargets/IListFolderLevelPermissionsTargets.js.map +1 -0
- package/folder/useCases/ListFolderLevelPermissionsTargets/IListTeamsGateway.d.ts +4 -0
- package/folder/useCases/ListFolderLevelPermissionsTargets/IListTeamsGateway.js +7 -0
- package/folder/useCases/ListFolderLevelPermissionsTargets/IListTeamsGateway.js.map +1 -0
- package/folder/useCases/ListFolderLevelPermissionsTargets/ListAdminUsersGatewayFromContext.d.ts +7 -0
- package/folder/useCases/ListFolderLevelPermissionsTargets/ListAdminUsersGatewayFromContext.js +23 -0
- package/folder/useCases/ListFolderLevelPermissionsTargets/ListAdminUsersGatewayFromContext.js.map +1 -0
- package/folder/useCases/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargets.d.ts +13 -0
- package/folder/useCases/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargets.js +60 -0
- package/folder/useCases/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargets.js.map +1 -0
- package/folder/useCases/ListFolderLevelPermissionsTargets/ListTeamsGatewayFromContext.d.ts +7 -0
- package/folder/useCases/ListFolderLevelPermissionsTargets/ListTeamsGatewayFromContext.js +22 -0
- package/folder/useCases/ListFolderLevelPermissionsTargets/ListTeamsGatewayFromContext.js.map +1 -0
- package/folder/useCases/ListFolderLevelPermissionsTargets/index.d.ts +9 -0
- package/folder/useCases/ListFolderLevelPermissionsTargets/index.js +20 -0
- package/folder/useCases/ListFolderLevelPermissionsTargets/index.js.map +1 -0
- package/folder/useCases/ListFolders/IListFolders.d.ts +5 -0
- package/folder/useCases/ListFolders/IListFolders.js +7 -0
- package/folder/useCases/ListFolders/IListFolders.js.map +1 -0
- package/folder/useCases/ListFolders/ListFolders.d.ts +8 -0
- package/folder/useCases/ListFolders/ListFolders.js +17 -0
- package/folder/useCases/ListFolders/ListFolders.js.map +1 -0
- package/folder/useCases/ListFolders/ListFoldersWithFolderLevelPermissions.d.ts +14 -0
- package/folder/useCases/ListFolders/ListFoldersWithFolderLevelPermissions.js +67 -0
- package/folder/useCases/ListFolders/ListFoldersWithFolderLevelPermissions.js.map +1 -0
- package/folder/useCases/ListFolders/index.d.ts +13 -0
- package/folder/useCases/ListFolders/index.js +19 -0
- package/folder/useCases/ListFolders/index.js.map +1 -0
- package/folder/useCases/UpdateFolder/IUpdateFolder.d.ts +4 -0
- package/folder/useCases/UpdateFolder/IUpdateFolder.js +7 -0
- package/folder/useCases/UpdateFolder/IUpdateFolder.js.map +1 -0
- package/folder/useCases/UpdateFolder/UpdateFolder.d.ts +7 -0
- package/folder/useCases/UpdateFolder/UpdateFolder.js +20 -0
- package/folder/useCases/UpdateFolder/UpdateFolder.js.map +1 -0
- package/folder/useCases/UpdateFolder/UpdateFolderWithEvents.d.ts +10 -0
- package/folder/useCases/UpdateFolder/UpdateFolderWithEvents.js +38 -0
- package/folder/useCases/UpdateFolder/UpdateFolderWithEvents.js.map +1 -0
- package/folder/useCases/UpdateFolder/UpdateFolderWithFolderLevelPermissions.d.ts +25 -0
- package/folder/useCases/UpdateFolder/UpdateFolderWithFolderLevelPermissions.js +78 -0
- package/folder/useCases/UpdateFolder/UpdateFolderWithFolderLevelPermissions.js.map +1 -0
- package/folder/useCases/UpdateFolder/index.d.ts +18 -0
- package/folder/useCases/UpdateFolder/index.js +20 -0
- package/folder/useCases/UpdateFolder/index.js.map +1 -0
- package/folder/useCases/index.d.ts +8 -0
- package/folder/useCases/index.js +95 -0
- package/folder/useCases/index.js.map +1 -0
- package/index.d.ts +3 -1
- package/index.js +3 -2
- package/index.js.map +1 -1
- package/package.json +28 -26
- package/record/record.crud.js +10 -10
- package/record/record.crud.js.map +1 -1
- package/record/record.so.js +2 -1
- package/record/record.so.js.map +1 -1
- package/types.d.ts +17 -8
- package/types.js +12 -0
- package/types.js.map +1 -1
- package/utils/decorators/CmsEntriesCrudDecorators.js +41 -65
- package/utils/decorators/CmsEntriesCrudDecorators.js.map +1 -1
- package/utils/decorators/FilterEntriesByFolderFactory.d.ts +7 -0
- package/utils/decorators/FilterEntriesByFolderFactory.js +30 -0
- package/utils/decorators/FilterEntriesByFolderFactory.js.map +1 -0
- package/utils/decorators/ListEntriesFactory.d.ts +15 -0
- package/utils/decorators/ListEntriesFactory.js +107 -0
- package/utils/decorators/ListEntriesFactory.js.map +1 -0
- package/utils/decorators/decorateIfModelAuthorizationEnabled.js +7 -0
- package/utils/decorators/decorateIfModelAuthorizationEnabled.js.map +1 -1
- package/utils/decorators/hasRootFolderId.d.ts +7 -0
- package/utils/decorators/hasRootFolderId.js +27 -0
- package/utils/decorators/hasRootFolderId.js.map +1 -0
- package/utils/pickEntryFieldValues.js +1 -1
- package/utils/pickEntryFieldValues.js.map +1 -1
- package/utils/FolderLevelPermissions.d.ts +0 -75
- package/utils/FolderLevelPermissions.js +0 -390
- package/utils/FolderLevelPermissions.js.map +0 -1
- package/utils/decorators/constants.d.ts +0 -1
- package/utils/decorators/constants.js +0 -9
- package/utils/decorators/constants.js.map +0 -1
- package/utils/decorators/createFolderType.d.ts +0 -2
- package/utils/decorators/createFolderType.js +0 -18
- package/utils/decorators/createFolderType.js.map +0 -1
- package/utils/decorators/filterEntriesByFolderFactory.d.ts +0 -6
- package/utils/decorators/filterEntriesByFolderFactory.js +0 -37
- package/utils/decorators/filterEntriesByFolderFactory.js.map +0 -1
- package/utils/decorators/where.d.ts +0 -15
- package/utils/decorators/where.js +0 -60
- package/utils/decorators/where.js.map +0 -1
- package/utils/getFolderAndItsAncestors.d.ts +0 -7
- package/utils/getFolderAndItsAncestors.js +0 -53
- package/utils/getFolderAndItsAncestors.js.map +0 -1
package/flp/flp.crud.js
ADDED
|
@@ -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":[]}
|
package/flp/flp.so.d.ts
ADDED
|
@@ -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":[]}
|