@webiny/api-aco 0.0.0-unstable.99666aeb00 → 0.0.0-unstable.9bd236cf5e
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/apps/AcoApp.d.ts +7 -2
- package/apps/AcoApp.js +56 -21
- package/apps/AcoApp.js.map +1 -1
- package/apps/AcoApps.d.ts +1 -1
- package/apps/AcoApps.js +7 -8
- package/apps/AcoApps.js.map +1 -1
- package/apps/app.gql.d.ts +1 -1
- package/apps/app.gql.js +6 -5
- package/apps/app.gql.js.map +1 -1
- package/apps/index.js +3 -1
- package/apps/index.js.map +1 -1
- package/constants.d.ts +3 -0
- package/constants.js +26 -0
- package/constants.js.map +1 -0
- package/createAcoContext.d.ts +8 -2
- package/createAcoContext.js +57 -27
- package/createAcoContext.js.map +1 -1
- package/createAcoGraphQL.d.ts +3 -2
- package/createAcoGraphQL.js +44 -2
- package/createAcoGraphQL.js.map +1 -1
- package/createAcoHooks.d.ts +1 -1
- package/createAcoHooks.js +11 -3
- package/createAcoHooks.js.map +1 -1
- package/createAcoModels.d.ts +2 -2
- package/createAcoModels.js +14 -21
- package/createAcoModels.js.map +1 -1
- package/createAcoStorageOperations.d.ts +6 -5
- package/createAcoStorageOperations.js +14 -9
- 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.d.ts +3 -0
- package/filter/filter.crud.js +94 -0
- package/filter/filter.crud.js.map +1 -0
- package/filter/filter.gql.d.ts +3 -0
- package/filter/filter.gql.js +152 -0
- package/filter/filter.gql.js.map +1 -0
- package/filter/filter.model.d.ts +2 -0
- package/filter/filter.model.js +124 -0
- package/filter/filter.model.js.map +1 -0
- package/filter/filter.so.d.ts +3 -0
- package/filter/filter.so.js +98 -0
- package/filter/filter.so.js.map +1 -0
- package/filter/filter.types.d.ts +95 -0
- package/filter/filter.types.js +13 -0
- package/filter/filter.types.js.map +1 -0
- 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/DefaultPermissionsMerger.d.ts +6 -0
- package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js +77 -0
- package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js.map +1 -0
- package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.d.ts +9 -0
- package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js +21 -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 +42 -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 +147 -0
- package/flp/flp.types.js +18 -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 +51 -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/UpdateFlp.d.ts +26 -0
- package/flp/useCases/UpdateFlp.js +198 -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/createFolderModelModifier.d.ts +36 -0
- package/folder/createFolderModelModifier.js +70 -0
- package/folder/createFolderModelModifier.js.map +1 -0
- package/folder/createFolderTypeDefs.d.ts +7 -0
- package/folder/createFolderTypeDefs.js +207 -0
- package/folder/createFolderTypeDefs.js.map +1 -0
- package/folder/ensureFolderIsEmpty.d.ts +8 -0
- package/folder/ensureFolderIsEmpty.js +63 -0
- package/folder/ensureFolderIsEmpty.js.map +1 -0
- package/folder/folder.crud.d.ts +8 -3
- package/folder/folder.crud.js +112 -65
- package/folder/folder.crud.js.map +1 -1
- package/folder/folder.gql.d.ts +3 -2
- package/folder/folder.gql.js +121 -104
- package/folder/folder.gql.js.map +1 -1
- package/folder/folder.model.d.ts +1 -3
- package/folder/folder.model.js +80 -11
- package/folder/folder.model.js.map +1 -1
- package/folder/folder.so.d.ts +2 -2
- package/folder/folder.so.js +68 -22
- package/folder/folder.so.js.map +1 -1
- package/folder/folder.types.d.ts +67 -8
- package/folder/folder.types.js +3 -1
- package/folder/folder.types.js.map +1 -1
- package/folder/onFolderBeforeDeleteAco.hook.d.ts +2 -0
- package/folder/onFolderBeforeDeleteAco.hook.js +54 -0
- package/folder/onFolderBeforeDeleteAco.hook.js.map +1 -0
- package/folder/onFolderBeforeDeleteFm.hook.d.ts +2 -0
- package/folder/onFolderBeforeDeleteFm.hook.js +51 -0
- package/folder/onFolderBeforeDeleteFm.hook.js.map +1 -0
- package/folder/onFolderBeforeDeleteHcms.hook.d.ts +2 -0
- package/folder/onFolderBeforeDeleteHcms.hook.js +58 -0
- package/folder/onFolderBeforeDeleteHcms.hook.js.map +1 -0
- 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 +25 -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 +9 -0
- package/folder/useCases/GetAncestors/GetAncestors.js +77 -0
- package/folder/useCases/GetAncestors/GetAncestors.js.map +1 -0
- package/folder/useCases/GetAncestors/IGetAncestors.d.ts +7 -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 +9 -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 +25 -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 +26 -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 +8 -1
- package/index.js +27 -5
- package/index.js.map +1 -1
- package/package.json +33 -33
- package/plugins/AcoAppModifierPlugin.d.ts +3 -3
- package/plugins/AcoAppModifierPlugin.js +4 -5
- package/plugins/AcoAppModifierPlugin.js.map +1 -1
- package/plugins/AcoAppRegisterPlugin.d.ts +1 -1
- package/plugins/AcoAppRegisterPlugin.js +4 -5
- package/plugins/AcoAppRegisterPlugin.js.map +1 -1
- package/plugins/index.js +3 -1
- package/plugins/index.js.map +1 -1
- package/record/graphql/createAppResolvers.d.ts +2 -2
- package/record/graphql/createAppResolvers.js +26 -19
- package/record/graphql/createAppResolvers.js.map +1 -1
- package/record/graphql/createAppSchema.d.ts +2 -2
- package/record/graphql/createAppSchema.js +13 -9
- package/record/graphql/createAppSchema.js.map +1 -1
- package/record/record.crud.d.ts +2 -2
- package/record/record.crud.js +13 -11
- package/record/record.crud.js.map +1 -1
- package/record/record.gql.d.ts +1 -1
- package/record/record.gql.js +3 -1
- package/record/record.gql.js.map +1 -1
- package/record/record.model.d.ts +3 -5
- package/record/record.model.js +18 -13
- package/record/record.model.js.map +1 -1
- package/record/record.so.d.ts +2 -2
- package/record/record.so.js +114 -93
- package/record/record.so.js.map +1 -1
- package/record/record.types.d.ts +17 -16
- package/record/record.types.js +3 -1
- package/record/record.types.js.map +1 -1
- package/types.d.ts +41 -15
- package/types.js +36 -4
- package/types.js.map +1 -1
- package/utils/FoldersCacheFactory.d.ts +10 -0
- package/utils/FoldersCacheFactory.js +31 -0
- package/utils/FoldersCacheFactory.js.map +1 -0
- package/utils/ListCache.d.ts +23 -0
- package/utils/ListCache.js +31 -0
- package/utils/ListCache.js.map +1 -0
- package/utils/ListFoldersRepository.d.ts +10 -0
- package/utils/ListFoldersRepository.js +35 -0
- package/utils/ListFoldersRepository.js.map +1 -0
- package/utils/Path.d.ts +3 -0
- package/utils/Path.js +18 -0
- package/utils/Path.js.map +1 -0
- package/utils/acoRecordId.js +3 -1
- package/utils/acoRecordId.js.map +1 -1
- package/utils/compress.d.ts +4 -0
- package/utils/compress.js +19 -0
- package/utils/compress.js.map +1 -0
- package/utils/createListSort.d.ts +3 -2
- package/utils/createListSort.js +6 -2
- package/utils/createListSort.js.map +1 -1
- package/utils/createModelField.d.ts +1 -1
- package/utils/createModelField.js +3 -1
- package/utils/createModelField.js.map +1 -1
- package/utils/createOperationsWrapper.d.ts +2 -2
- package/utils/createOperationsWrapper.js +8 -10
- package/utils/createOperationsWrapper.js.map +1 -1
- package/utils/decorators/CmsEntriesCrudDecorators.d.ts +11 -0
- package/utils/decorators/CmsEntriesCrudDecorators.js +210 -0
- package/utils/decorators/CmsEntriesCrudDecorators.js.map +1 -0
- 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 +16 -0
- package/utils/decorators/ListEntriesFactory.js +107 -0
- package/utils/decorators/ListEntriesFactory.js.map +1 -0
- package/utils/decorators/decorateIfModelAuthorizationEnabled.d.ts +23 -0
- package/utils/decorators/decorateIfModelAuthorizationEnabled.js +54 -0
- package/utils/decorators/decorateIfModelAuthorizationEnabled.js.map +1 -0
- 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/decorators/isPageModel.d.ts +5 -0
- package/utils/decorators/isPageModel.js +20 -0
- package/utils/decorators/isPageModel.js.map +1 -0
- package/utils/ensureAuthentication.d.ts +2 -0
- package/utils/{checkPermissions.js → ensureAuthentication.js} +5 -3
- package/utils/ensureAuthentication.js.map +1 -0
- package/utils/modelFactory.d.ts +2 -4
- package/utils/modelFactory.js +7 -10
- package/utils/modelFactory.js.map +1 -1
- package/utils/pickEntryFieldValues.d.ts +3 -0
- package/utils/pickEntryFieldValues.js +30 -0
- package/utils/pickEntryFieldValues.js.map +1 -0
- package/utils/resolve.js +3 -1
- package/utils/resolve.js.map +1 -1
- package/fields/index.d.ts +0 -2
- package/fields/index.js +0 -12
- package/fields/index.js.map +0 -1
- package/fields/location.d.ts +0 -2
- package/fields/location.js +0 -44
- package/fields/location.js.map +0 -1
- package/folder/onFolderBeforeDelete.hook.d.ts +0 -2
- package/folder/onFolderBeforeDelete.hook.js +0 -66
- package/folder/onFolderBeforeDelete.hook.js.map +0 -1
- package/utils/checkPermissions.d.ts +0 -2
- package/utils/checkPermissions.js.map +0 -1
- package/utils/fieldResolver.d.ts +0 -16
- package/utils/fieldResolver.js +0 -44
- package/utils/fieldResolver.js.map +0 -1
- package/utils/getFieldValues.d.ts +0 -5
- package/utils/getFieldValues.js +0 -16
- package/utils/getFieldValues.js.map +0 -1
- package/utils/getFolderAndItsAncestors.d.ts +0 -7
- package/utils/getFolderAndItsAncestors.js +0 -48
- package/utils/getFolderAndItsAncestors.js.map +0 -1
- package/utils/isInstallationPending.d.ts +0 -4
- package/utils/isInstallationPending.js +0 -21
- package/utils/isInstallationPending.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_IsAuthorizationEnabledGatewayFromContext","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_IIsAuthorizationEnabledGateway"],"sources":["index.ts"],"sourcesContent":["export * from \"./IsAuthorizationEnabledGatewayFromContext\";\nexport * from \"./IIsAuthorizationEnabledGateway\";\n"],"mappings":";;;;;AAAA,IAAAA,yCAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,yCAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,yCAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,yCAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,+BAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,+BAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,+BAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,+BAAA,CAAAL,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["IListIdentityTeamsGateway.ts"],"sourcesContent":["import type { Team } from \"@webiny/api-security/types\";\n\nexport interface IListIdentityTeamsGateway {\n execute: () => Promise<Team[]>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { AcoContext } from "../../../../types";
|
|
2
|
+
import type { IListIdentityTeamsGateway } from "./IListIdentityTeamsGateway";
|
|
3
|
+
export declare class ListIdentityTeamsGatewayFromContext implements IListIdentityTeamsGateway {
|
|
4
|
+
private context;
|
|
5
|
+
constructor(context: AcoContext);
|
|
6
|
+
execute(): Promise<import("@webiny/api-security/types").Team[]>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ListIdentityTeamsGatewayFromContext = void 0;
|
|
7
|
+
class ListIdentityTeamsGatewayFromContext {
|
|
8
|
+
constructor(context) {
|
|
9
|
+
this.context = context;
|
|
10
|
+
}
|
|
11
|
+
async execute() {
|
|
12
|
+
return this.context.security.withoutAuthorization(async () => {
|
|
13
|
+
const identity = this.context.security.getIdentity();
|
|
14
|
+
if (!identity) {
|
|
15
|
+
return [];
|
|
16
|
+
}
|
|
17
|
+
const adminUser = await this.context.adminUsers.getUser({
|
|
18
|
+
where: {
|
|
19
|
+
id: identity.id
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
if (!adminUser) {
|
|
23
|
+
return [];
|
|
24
|
+
}
|
|
25
|
+
const hasTeams = adminUser.teams && adminUser.teams.length > 0;
|
|
26
|
+
if (hasTeams) {
|
|
27
|
+
return this.context.security.listTeams({
|
|
28
|
+
where: {
|
|
29
|
+
id_in: adminUser.teams
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
return [];
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
exports.ListIdentityTeamsGatewayFromContext = ListIdentityTeamsGatewayFromContext;
|
|
38
|
+
|
|
39
|
+
//# sourceMappingURL=ListIdentityTeamsGatewayFromContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ListIdentityTeamsGatewayFromContext","constructor","context","execute","security","withoutAuthorization","identity","getIdentity","adminUser","adminUsers","getUser","where","id","hasTeams","teams","length","listTeams","id_in","exports"],"sources":["ListIdentityTeamsGatewayFromContext.ts"],"sourcesContent":["import type { AcoContext } from \"~/types\";\nimport type { IListIdentityTeamsGateway } from \"./IListIdentityTeamsGateway\";\n\nexport class ListIdentityTeamsGatewayFromContext implements IListIdentityTeamsGateway {\n private context: AcoContext;\n\n constructor(context: AcoContext) {\n this.context = context;\n }\n\n async execute() {\n return this.context.security.withoutAuthorization(async () => {\n const identity = this.context.security.getIdentity();\n if (!identity) {\n return [];\n }\n\n const adminUser = await this.context.adminUsers.getUser({\n where: { id: identity.id }\n });\n if (!adminUser) {\n return [];\n }\n\n const hasTeams = adminUser.teams && adminUser.teams.length > 0;\n if (hasTeams) {\n return this.context.security.listTeams({\n where: { id_in: adminUser.teams }\n });\n }\n\n return [];\n });\n }\n}\n"],"mappings":";;;;;;AAGO,MAAMA,mCAAmC,CAAsC;EAGlFC,WAAWA,CAACC,OAAmB,EAAE;IAC7B,IAAI,CAACA,OAAO,GAAGA,OAAO;EAC1B;EAEA,MAAMC,OAAOA,CAAA,EAAG;IACZ,OAAO,IAAI,CAACD,OAAO,CAACE,QAAQ,CAACC,oBAAoB,CAAC,YAAY;MAC1D,MAAMC,QAAQ,GAAG,IAAI,CAACJ,OAAO,CAACE,QAAQ,CAACG,WAAW,CAAC,CAAC;MACpD,IAAI,CAACD,QAAQ,EAAE;QACX,OAAO,EAAE;MACb;MAEA,MAAME,SAAS,GAAG,MAAM,IAAI,CAACN,OAAO,CAACO,UAAU,CAACC,OAAO,CAAC;QACpDC,KAAK,EAAE;UAAEC,EAAE,EAAEN,QAAQ,CAACM;QAAG;MAC7B,CAAC,CAAC;MACF,IAAI,CAACJ,SAAS,EAAE;QACZ,OAAO,EAAE;MACb;MAEA,MAAMK,QAAQ,GAAGL,SAAS,CAACM,KAAK,IAAIN,SAAS,CAACM,KAAK,CAACC,MAAM,GAAG,CAAC;MAC9D,IAAIF,QAAQ,EAAE;QACV,OAAO,IAAI,CAACX,OAAO,CAACE,QAAQ,CAACY,SAAS,CAAC;UACnCL,KAAK,EAAE;YAAEM,KAAK,EAAET,SAAS,CAACM;UAAM;QACpC,CAAC,CAAC;MACN;MAEA,OAAO,EAAE;IACb,CAAC,CAAC;EACN;AACJ;AAACI,OAAA,CAAAlB,mCAAA,GAAAA,mCAAA","ignoreList":[]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _IListIdentityTeamsGateway = require("./IListIdentityTeamsGateway");
|
|
7
|
+
Object.keys(_IListIdentityTeamsGateway).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _IListIdentityTeamsGateway[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _IListIdentityTeamsGateway[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
var _ListIdentityTeamsGatewayFromContext = require("./ListIdentityTeamsGatewayFromContext");
|
|
18
|
+
Object.keys(_ListIdentityTeamsGatewayFromContext).forEach(function (key) {
|
|
19
|
+
if (key === "default" || key === "__esModule") return;
|
|
20
|
+
if (key in exports && exports[key] === _ListIdentityTeamsGatewayFromContext[key]) return;
|
|
21
|
+
Object.defineProperty(exports, key, {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function () {
|
|
24
|
+
return _ListIdentityTeamsGatewayFromContext[key];
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_IListIdentityTeamsGateway","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_ListIdentityTeamsGatewayFromContext"],"sources":["index.ts"],"sourcesContent":["export * from \"./IListIdentityTeamsGateway\";\nexport * from \"./ListIdentityTeamsGatewayFromContext\";\n"],"mappings":";;;;;AAAA,IAAAA,0BAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,0BAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,0BAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,0BAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,oCAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,oCAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,oCAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,oCAAA,CAAAL,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
|
package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/IListPermissionsGateway.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["IListPermissionsGateway.ts"],"sourcesContent":["import type { SecurityPermission } from \"@webiny/api-security/types\";\n\nexport interface IListPermissionsGateway {\n execute: () => Promise<SecurityPermission[]>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { IListPermissionsGateway } from "./IListPermissionsGateway";
|
|
2
|
+
import type { AcoContext } from "../../../../types";
|
|
3
|
+
export declare class ListPermissionsGatewayFromContext implements IListPermissionsGateway {
|
|
4
|
+
private context;
|
|
5
|
+
constructor(context: AcoContext);
|
|
6
|
+
execute(): Promise<import("@webiny/api-security/types").SecurityPermission<Record<string, any>>[]>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ListPermissionsGatewayFromContext = void 0;
|
|
7
|
+
class ListPermissionsGatewayFromContext {
|
|
8
|
+
constructor(context) {
|
|
9
|
+
this.context = context;
|
|
10
|
+
}
|
|
11
|
+
execute() {
|
|
12
|
+
return this.context.security.listPermissions();
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.ListPermissionsGatewayFromContext = ListPermissionsGatewayFromContext;
|
|
16
|
+
|
|
17
|
+
//# sourceMappingURL=ListPermissionsGatewayFromContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ListPermissionsGatewayFromContext","constructor","context","execute","security","listPermissions","exports"],"sources":["ListPermissionsGatewayFromContext.ts"],"sourcesContent":["import type { IListPermissionsGateway } from \"./IListPermissionsGateway\";\nimport type { AcoContext } from \"~/types\";\n\nexport class ListPermissionsGatewayFromContext implements IListPermissionsGateway {\n private context: AcoContext;\n\n constructor(context: AcoContext) {\n this.context = context;\n }\n\n execute() {\n return this.context.security.listPermissions();\n }\n}\n"],"mappings":";;;;;;AAGO,MAAMA,iCAAiC,CAAoC;EAG9EC,WAAWA,CAACC,OAAmB,EAAE;IAC7B,IAAI,CAACA,OAAO,GAAGA,OAAO;EAC1B;EAEAC,OAAOA,CAAA,EAAG;IACN,OAAO,IAAI,CAACD,OAAO,CAACE,QAAQ,CAACC,eAAe,CAAC,CAAC;EAClD;AACJ;AAACC,OAAA,CAAAN,iCAAA,GAAAA,iCAAA","ignoreList":[]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _IListPermissionsGateway = require("./IListPermissionsGateway");
|
|
7
|
+
Object.keys(_IListPermissionsGateway).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _IListPermissionsGateway[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _IListPermissionsGateway[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
var _ListPermissionsGatewayFromContext = require("./ListPermissionsGatewayFromContext");
|
|
18
|
+
Object.keys(_ListPermissionsGatewayFromContext).forEach(function (key) {
|
|
19
|
+
if (key === "default" || key === "__esModule") return;
|
|
20
|
+
if (key in exports && exports[key] === _ListPermissionsGatewayFromContext[key]) return;
|
|
21
|
+
Object.defineProperty(exports, key, {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function () {
|
|
24
|
+
return _ListPermissionsGatewayFromContext[key];
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_IListPermissionsGateway","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_ListPermissionsGatewayFromContext"],"sources":["index.ts"],"sourcesContent":["export * from \"./IListPermissionsGateway\";\nexport * from \"./ListPermissionsGatewayFromContext\";\n"],"mappings":";;;;;AAAA,IAAAA,wBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,wBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,wBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,wBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,kCAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,kCAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,kCAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,kCAAA,CAAAL,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _GetIdentityGateway = require("./GetIdentityGateway");
|
|
7
|
+
Object.keys(_GetIdentityGateway).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _GetIdentityGateway[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _GetIdentityGateway[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
var _GetWcpGateway = require("./GetWcpGateway");
|
|
18
|
+
Object.keys(_GetWcpGateway).forEach(function (key) {
|
|
19
|
+
if (key === "default" || key === "__esModule") return;
|
|
20
|
+
if (key in exports && exports[key] === _GetWcpGateway[key]) return;
|
|
21
|
+
Object.defineProperty(exports, key, {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function () {
|
|
24
|
+
return _GetWcpGateway[key];
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
var _ListIdentityTeamsGateway = require("./ListIdentityTeamsGateway");
|
|
29
|
+
Object.keys(_ListIdentityTeamsGateway).forEach(function (key) {
|
|
30
|
+
if (key === "default" || key === "__esModule") return;
|
|
31
|
+
if (key in exports && exports[key] === _ListIdentityTeamsGateway[key]) return;
|
|
32
|
+
Object.defineProperty(exports, key, {
|
|
33
|
+
enumerable: true,
|
|
34
|
+
get: function () {
|
|
35
|
+
return _ListIdentityTeamsGateway[key];
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
var _ListPermissionsGateway = require("./ListPermissionsGateway");
|
|
40
|
+
Object.keys(_ListPermissionsGateway).forEach(function (key) {
|
|
41
|
+
if (key === "default" || key === "__esModule") return;
|
|
42
|
+
if (key in exports && exports[key] === _ListPermissionsGateway[key]) return;
|
|
43
|
+
Object.defineProperty(exports, key, {
|
|
44
|
+
enumerable: true,
|
|
45
|
+
get: function () {
|
|
46
|
+
return _ListPermissionsGateway[key];
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
var _IsAuthorizationEnabled = require("./IsAuthorizationEnabled");
|
|
51
|
+
Object.keys(_IsAuthorizationEnabled).forEach(function (key) {
|
|
52
|
+
if (key === "default" || key === "__esModule") return;
|
|
53
|
+
if (key in exports && exports[key] === _IsAuthorizationEnabled[key]) return;
|
|
54
|
+
Object.defineProperty(exports, key, {
|
|
55
|
+
enumerable: true,
|
|
56
|
+
get: function () {
|
|
57
|
+
return _IsAuthorizationEnabled[key];
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_GetIdentityGateway","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_GetWcpGateway","_ListIdentityTeamsGateway","_ListPermissionsGateway","_IsAuthorizationEnabled"],"sources":["index.ts"],"sourcesContent":["export * from \"./GetIdentityGateway\";\nexport * from \"./GetWcpGateway\";\nexport * from \"./ListIdentityTeamsGateway\";\nexport * from \"./ListPermissionsGateway\";\nexport * from \"./IsAuthorizationEnabled\";\n"],"mappings":";;;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,mBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,mBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,mBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,cAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,cAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,cAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,cAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,yBAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,yBAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,yBAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,yBAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,uBAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,uBAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,uBAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,uBAAA,CAAAP,GAAA;IAAA;EAAA;AAAA;AACA,IAAAQ,uBAAA,GAAAZ,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAU,uBAAA,EAAAT,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAQ,uBAAA,CAAAR,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAI,uBAAA,CAAAR,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { type CanAccessFolderContentParams, type CanAccessFolderParams } from "./useCases";
|
|
2
|
+
import type { AcoContext, AcoFolderLevelPermissionsCrud, FolderLevelPermission, FolderPermission, ListFlpsParams } from "../../types";
|
|
3
|
+
interface CreateFolderLevelPermissionsParams {
|
|
4
|
+
context: AcoContext;
|
|
5
|
+
crud: AcoFolderLevelPermissionsCrud;
|
|
6
|
+
}
|
|
7
|
+
export declare class FolderLevelPermissions {
|
|
8
|
+
private crud;
|
|
9
|
+
private readonly getWcpGateway;
|
|
10
|
+
private readonly getIdentityGateway;
|
|
11
|
+
private readonly listPermissionsGateway;
|
|
12
|
+
private readonly listIdentityTeamsGateway;
|
|
13
|
+
private readonly isAuthorizationEnabledGateway;
|
|
14
|
+
constructor(params: CreateFolderLevelPermissionsParams);
|
|
15
|
+
canUseFolderLevelPermissions(enabled?: boolean): boolean;
|
|
16
|
+
canUseTeams(): boolean;
|
|
17
|
+
canCreateFolderInRoot(): boolean;
|
|
18
|
+
permissionsIncludeNonInheritedPermissions(permissions?: FolderPermission[]): boolean | undefined;
|
|
19
|
+
canAccessFolder(params: CanAccessFolderParams): Promise<boolean>;
|
|
20
|
+
canAccessFolderContent(params: CanAccessFolderContentParams): Promise<boolean>;
|
|
21
|
+
ensureCanAccessFolder(params: CanAccessFolderParams): Promise<void>;
|
|
22
|
+
ensureCanAccessFolderContent(params: CanAccessFolderContentParams): Promise<void>;
|
|
23
|
+
canManageFolderContent(flp: FolderLevelPermission): Promise<boolean>;
|
|
24
|
+
canManageFolderStructure(flp: FolderLevelPermission): Promise<boolean>;
|
|
25
|
+
canManageFolderPermissions(flp: FolderLevelPermission): Promise<boolean>;
|
|
26
|
+
getDefaultPermissions(permissions: FolderPermission[]): Promise<FolderPermission[]>;
|
|
27
|
+
listFolderLevelPermissions(params: ListFlpsParams): Promise<{
|
|
28
|
+
id: string;
|
|
29
|
+
permissions: FolderPermission[];
|
|
30
|
+
}[]>;
|
|
31
|
+
getFolderLevelPermissions(id: string): Promise<FolderPermission[]>;
|
|
32
|
+
}
|
|
33
|
+
export {};
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.FolderLevelPermissions = void 0;
|
|
7
|
+
var _apiSecurity = require("@webiny/api-security");
|
|
8
|
+
var _useCases = require("./useCases");
|
|
9
|
+
var _gateways = require("./gateways");
|
|
10
|
+
class FolderLevelPermissions {
|
|
11
|
+
constructor(params) {
|
|
12
|
+
this.crud = params.crud;
|
|
13
|
+
this.getWcpGateway = new _gateways.GetWcpGatewayFromContext(params.context);
|
|
14
|
+
this.getIdentityGateway = new _gateways.GetIdentityGatewayFromContext(params.context);
|
|
15
|
+
this.listPermissionsGateway = new _gateways.ListPermissionsGatewayFromContext(params.context);
|
|
16
|
+
this.listIdentityTeamsGateway = new _gateways.ListIdentityTeamsGatewayFromContext(params.context);
|
|
17
|
+
this.isAuthorizationEnabledGateway = new _gateways.IsAuthorizationEnabledGatewayFromContext(params.context);
|
|
18
|
+
}
|
|
19
|
+
canUseFolderLevelPermissions(enabled) {
|
|
20
|
+
const canUseFolderLevelPermissionsUseCase = new _useCases.CanUseFolderLevelPermissions(this.getWcpGateway, this.getIdentityGateway);
|
|
21
|
+
return canUseFolderLevelPermissionsUseCase.execute(enabled);
|
|
22
|
+
}
|
|
23
|
+
canUseTeams() {
|
|
24
|
+
const canUseTeamsUseCase = new _useCases.CanUseTeams(this.getWcpGateway);
|
|
25
|
+
return canUseTeamsUseCase.execute();
|
|
26
|
+
}
|
|
27
|
+
canCreateFolderInRoot() {
|
|
28
|
+
const canCreateFolderInRootUseCase = new _useCases.CanCreateFolderInRoot();
|
|
29
|
+
return canCreateFolderInRootUseCase.execute();
|
|
30
|
+
}
|
|
31
|
+
permissionsIncludeNonInheritedPermissions(permissions) {
|
|
32
|
+
const checkNotInheritedPermissionsUseCase = new _useCases.CheckNotInheritedPermissions();
|
|
33
|
+
return checkNotInheritedPermissionsUseCase.execute(permissions);
|
|
34
|
+
}
|
|
35
|
+
async canAccessFolder(params) {
|
|
36
|
+
if (!this.canUseFolderLevelPermissions() || !this.isAuthorizationEnabledGateway.execute()) {
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
39
|
+
const canAccessFolderUseCase = new _useCases.CanAccessFolder(this.getIdentityGateway);
|
|
40
|
+
return await canAccessFolderUseCase.execute(params);
|
|
41
|
+
}
|
|
42
|
+
async canAccessFolderContent(params) {
|
|
43
|
+
if (!this.canUseFolderLevelPermissions() || !this.isAuthorizationEnabledGateway.execute()) {
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
const canAccessFolderContentUseCase = new _useCases.CanAccessFolderContent(this.getIdentityGateway);
|
|
47
|
+
return await canAccessFolderContentUseCase.execute(params);
|
|
48
|
+
}
|
|
49
|
+
async ensureCanAccessFolder(params) {
|
|
50
|
+
const result = await this.canAccessFolder(params);
|
|
51
|
+
if (!result) {
|
|
52
|
+
throw new _apiSecurity.NotAuthorizedError();
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
async ensureCanAccessFolderContent(params) {
|
|
56
|
+
const result = await this.canAccessFolderContent(params);
|
|
57
|
+
if (!result) {
|
|
58
|
+
throw new _apiSecurity.NotAuthorizedError();
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
async canManageFolderContent(flp) {
|
|
62
|
+
if (!this.canUseFolderLevelPermissions() || !this.isAuthorizationEnabledGateway.execute()) {
|
|
63
|
+
return true;
|
|
64
|
+
}
|
|
65
|
+
return await this.canAccessFolderContent({
|
|
66
|
+
permissions: flp.permissions,
|
|
67
|
+
rwd: "w"
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
async canManageFolderStructure(flp) {
|
|
71
|
+
if (!this.canUseFolderLevelPermissions() || !this.isAuthorizationEnabledGateway.execute()) {
|
|
72
|
+
return true;
|
|
73
|
+
}
|
|
74
|
+
return await this.canAccessFolder({
|
|
75
|
+
permissions: flp.permissions,
|
|
76
|
+
rwd: "w"
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
async canManageFolderPermissions(flp) {
|
|
80
|
+
if (!this.canUseFolderLevelPermissions()) {
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
if (!this.isAuthorizationEnabledGateway.execute()) {
|
|
84
|
+
return true;
|
|
85
|
+
}
|
|
86
|
+
return await this.canAccessFolder({
|
|
87
|
+
permissions: flp.permissions,
|
|
88
|
+
rwd: "w",
|
|
89
|
+
managePermissions: true
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
getDefaultPermissions(permissions) {
|
|
93
|
+
const getDefaultPermissionsUseCase = new _useCases.GetDefaultPermissions(this.getIdentityGateway, this.listPermissionsGateway);
|
|
94
|
+
if (this.canUseTeams()) {
|
|
95
|
+
const getDefaultPermissionsWithTeams = new _useCases.GetDefaultPermissionsWithTeams(this.getIdentityGateway, this.listIdentityTeamsGateway, getDefaultPermissionsUseCase);
|
|
96
|
+
return getDefaultPermissionsWithTeams.execute(permissions);
|
|
97
|
+
}
|
|
98
|
+
return getDefaultPermissionsUseCase.execute(permissions);
|
|
99
|
+
}
|
|
100
|
+
async listFolderLevelPermissions(params) {
|
|
101
|
+
const listFolderLevelPermissionsUseCase = new _useCases.ListFolderPermissions(this.crud.list);
|
|
102
|
+
const flps = await listFolderLevelPermissionsUseCase.execute(params);
|
|
103
|
+
return Promise.all(flps.map(async flp => ({
|
|
104
|
+
id: flp.id,
|
|
105
|
+
permissions: await this.getDefaultPermissions(flp.permissions)
|
|
106
|
+
})));
|
|
107
|
+
}
|
|
108
|
+
async getFolderLevelPermissions(id) {
|
|
109
|
+
const getFolderLevelPermissionUseCase = new _useCases.GetFolderPermission(this.crud.get);
|
|
110
|
+
const flp = await getFolderLevelPermissionUseCase.execute(id);
|
|
111
|
+
return await this.getDefaultPermissions(flp?.permissions ?? []);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
exports.FolderLevelPermissions = FolderLevelPermissions;
|
|
115
|
+
|
|
116
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_apiSecurity","require","_useCases","_gateways","FolderLevelPermissions","constructor","params","crud","getWcpGateway","GetWcpGatewayFromContext","context","getIdentityGateway","GetIdentityGatewayFromContext","listPermissionsGateway","ListPermissionsGatewayFromContext","listIdentityTeamsGateway","ListIdentityTeamsGatewayFromContext","isAuthorizationEnabledGateway","IsAuthorizationEnabledGatewayFromContext","canUseFolderLevelPermissions","enabled","canUseFolderLevelPermissionsUseCase","CanUseFolderLevelPermissions","execute","canUseTeams","canUseTeamsUseCase","CanUseTeams","canCreateFolderInRoot","canCreateFolderInRootUseCase","CanCreateFolderInRoot","permissionsIncludeNonInheritedPermissions","permissions","checkNotInheritedPermissionsUseCase","CheckNotInheritedPermissions","canAccessFolder","canAccessFolderUseCase","CanAccessFolder","canAccessFolderContent","canAccessFolderContentUseCase","CanAccessFolderContent","ensureCanAccessFolder","result","NotAuthorizedError","ensureCanAccessFolderContent","canManageFolderContent","flp","rwd","canManageFolderStructure","canManageFolderPermissions","managePermissions","getDefaultPermissions","getDefaultPermissionsUseCase","GetDefaultPermissions","getDefaultPermissionsWithTeams","GetDefaultPermissionsWithTeams","listFolderLevelPermissions","listFolderLevelPermissionsUseCase","ListFolderPermissions","list","flps","Promise","all","map","id","getFolderLevelPermissions","getFolderLevelPermissionUseCase","GetFolderPermission","get","exports"],"sources":["index.ts"],"sourcesContent":["import { NotAuthorizedError } from \"@webiny/api-security\";\nimport {\n CanAccessFolder,\n CanAccessFolderContent,\n type CanAccessFolderContentParams,\n type CanAccessFolderParams,\n CanCreateFolderInRoot,\n CanUseFolderLevelPermissions,\n CanUseTeams,\n CheckNotInheritedPermissions,\n GetDefaultPermissions,\n GetDefaultPermissionsWithTeams,\n GetFolderPermission,\n ListFolderPermissions\n} from \"./useCases\";\nimport type {\n AcoContext,\n AcoFolderLevelPermissionsCrud,\n FolderLevelPermission,\n FolderPermission,\n ListFlpsParams\n} from \"~/types\";\nimport {\n GetIdentityGatewayFromContext,\n GetWcpGatewayFromContext,\n type IGetIdentityGateway,\n type IGetWcpGateway,\n type IIsAuthorizationEnabledGateway,\n type IListIdentityTeamsGateway,\n type IListPermissionsGateway,\n IsAuthorizationEnabledGatewayFromContext,\n ListIdentityTeamsGatewayFromContext,\n ListPermissionsGatewayFromContext\n} from \"./gateways\";\n\ninterface CreateFolderLevelPermissionsParams {\n context: AcoContext;\n crud: AcoFolderLevelPermissionsCrud;\n}\n\nexport class FolderLevelPermissions {\n private crud: AcoFolderLevelPermissionsCrud;\n\n private readonly getWcpGateway: IGetWcpGateway;\n private readonly getIdentityGateway: IGetIdentityGateway;\n private readonly listPermissionsGateway: IListPermissionsGateway;\n private readonly listIdentityTeamsGateway: IListIdentityTeamsGateway;\n private readonly isAuthorizationEnabledGateway: IIsAuthorizationEnabledGateway;\n\n constructor(params: CreateFolderLevelPermissionsParams) {\n this.crud = params.crud;\n this.getWcpGateway = new GetWcpGatewayFromContext(params.context);\n this.getIdentityGateway = new GetIdentityGatewayFromContext(params.context);\n this.listPermissionsGateway = new ListPermissionsGatewayFromContext(params.context);\n this.listIdentityTeamsGateway = new ListIdentityTeamsGatewayFromContext(params.context);\n this.isAuthorizationEnabledGateway = new IsAuthorizationEnabledGatewayFromContext(\n params.context\n );\n }\n\n public canUseFolderLevelPermissions(enabled?: boolean) {\n const canUseFolderLevelPermissionsUseCase = new CanUseFolderLevelPermissions(\n this.getWcpGateway,\n this.getIdentityGateway\n );\n return canUseFolderLevelPermissionsUseCase.execute(enabled);\n }\n\n public canUseTeams() {\n const canUseTeamsUseCase = new CanUseTeams(this.getWcpGateway);\n return canUseTeamsUseCase.execute();\n }\n\n public canCreateFolderInRoot() {\n const canCreateFolderInRootUseCase = new CanCreateFolderInRoot();\n return canCreateFolderInRootUseCase.execute();\n }\n\n public permissionsIncludeNonInheritedPermissions(permissions?: FolderPermission[]) {\n const checkNotInheritedPermissionsUseCase = new CheckNotInheritedPermissions();\n return checkNotInheritedPermissionsUseCase.execute(permissions);\n }\n\n public async canAccessFolder(params: CanAccessFolderParams) {\n if (!this.canUseFolderLevelPermissions() || !this.isAuthorizationEnabledGateway.execute()) {\n return true;\n }\n\n const canAccessFolderUseCase = new CanAccessFolder(this.getIdentityGateway);\n return await canAccessFolderUseCase.execute(params);\n }\n\n public async canAccessFolderContent(params: CanAccessFolderContentParams) {\n if (!this.canUseFolderLevelPermissions() || !this.isAuthorizationEnabledGateway.execute()) {\n return true;\n }\n\n const canAccessFolderContentUseCase = new CanAccessFolderContent(this.getIdentityGateway);\n return await canAccessFolderContentUseCase.execute(params);\n }\n\n public async ensureCanAccessFolder(params: CanAccessFolderParams) {\n const result = await this.canAccessFolder(params);\n if (!result) {\n throw new NotAuthorizedError();\n }\n }\n\n public async ensureCanAccessFolderContent(params: CanAccessFolderContentParams) {\n const result = await this.canAccessFolderContent(params);\n if (!result) {\n throw new NotAuthorizedError();\n }\n }\n\n public async canManageFolderContent(flp: FolderLevelPermission) {\n if (!this.canUseFolderLevelPermissions() || !this.isAuthorizationEnabledGateway.execute()) {\n return true;\n }\n\n return await this.canAccessFolderContent({ permissions: flp.permissions, rwd: \"w\" });\n }\n\n public async canManageFolderStructure(flp: FolderLevelPermission) {\n if (!this.canUseFolderLevelPermissions() || !this.isAuthorizationEnabledGateway.execute()) {\n return true;\n }\n\n return await this.canAccessFolder({ permissions: flp.permissions, rwd: \"w\" });\n }\n\n public async canManageFolderPermissions(flp: FolderLevelPermission) {\n if (!this.canUseFolderLevelPermissions()) {\n return false;\n }\n\n if (!this.isAuthorizationEnabledGateway.execute()) {\n return true;\n }\n\n return await this.canAccessFolder({\n permissions: flp.permissions,\n rwd: \"w\",\n managePermissions: true\n });\n }\n\n public getDefaultPermissions(permissions: FolderPermission[]) {\n const getDefaultPermissionsUseCase = new GetDefaultPermissions(\n this.getIdentityGateway,\n this.listPermissionsGateway\n );\n\n if (this.canUseTeams()) {\n const getDefaultPermissionsWithTeams = new GetDefaultPermissionsWithTeams(\n this.getIdentityGateway,\n this.listIdentityTeamsGateway,\n getDefaultPermissionsUseCase\n );\n\n return getDefaultPermissionsWithTeams.execute(permissions);\n }\n\n return getDefaultPermissionsUseCase.execute(permissions);\n }\n\n public async listFolderLevelPermissions(params: ListFlpsParams) {\n const listFolderLevelPermissionsUseCase = new ListFolderPermissions(this.crud.list);\n const flps = await listFolderLevelPermissionsUseCase.execute(params);\n\n return Promise.all(\n flps.map(async flp => ({\n id: flp.id,\n permissions: await this.getDefaultPermissions(flp.permissions)\n }))\n );\n }\n\n public async getFolderLevelPermissions(id: string) {\n const getFolderLevelPermissionUseCase = new GetFolderPermission(this.crud.get);\n const flp = await getFolderLevelPermissionUseCase.execute(id);\n return await this.getDefaultPermissions(flp?.permissions ?? []);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { CanAccessFolderParams, ICanAccessFolder } from "./ICanAccessFolder";
|
|
2
|
+
import type { IGetIdentityGateway } from "../../gateways";
|
|
3
|
+
export declare class CanAccessFolder implements ICanAccessFolder {
|
|
4
|
+
private getIdentityGateway;
|
|
5
|
+
constructor(getIdentityGateway: IGetIdentityGateway);
|
|
6
|
+
execute({ permissions, rwd, managePermissions }: CanAccessFolderParams): Promise<boolean>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.CanAccessFolder = void 0;
|
|
7
|
+
class CanAccessFolder {
|
|
8
|
+
constructor(getIdentityGateway) {
|
|
9
|
+
this.getIdentityGateway = getIdentityGateway;
|
|
10
|
+
}
|
|
11
|
+
async execute({
|
|
12
|
+
permissions = [],
|
|
13
|
+
rwd,
|
|
14
|
+
managePermissions
|
|
15
|
+
}) {
|
|
16
|
+
if (!permissions.length) {
|
|
17
|
+
return true;
|
|
18
|
+
}
|
|
19
|
+
const identity = this.getIdentityGateway.execute();
|
|
20
|
+
const currentIdentityPermission = permissions.find(p => {
|
|
21
|
+
return p.target === `admin:${identity.id}`;
|
|
22
|
+
});
|
|
23
|
+
if (!currentIdentityPermission) {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
const {
|
|
27
|
+
level
|
|
28
|
+
} = currentIdentityPermission;
|
|
29
|
+
if (managePermissions) {
|
|
30
|
+
return level === "owner";
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// If the user has a `no-access` level, they are explicitly denied access to the current folder.
|
|
34
|
+
if (level === "no-access") {
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// Checking for "write" or "delete" access. Allow only if the
|
|
39
|
+
// user is has `owner` or `editor` level or the folder is public (no FLP assigned).
|
|
40
|
+
if (rwd !== "r") {
|
|
41
|
+
return level === "owner" || level === "editor" || level === "public";
|
|
42
|
+
}
|
|
43
|
+
return true;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
exports.CanAccessFolder = CanAccessFolder;
|
|
47
|
+
|
|
48
|
+
//# sourceMappingURL=CanAccessFolder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["CanAccessFolder","constructor","getIdentityGateway","execute","permissions","rwd","managePermissions","length","identity","currentIdentityPermission","find","p","target","id","level","exports"],"sources":["CanAccessFolder.ts"],"sourcesContent":["import type { CanAccessFolderParams, ICanAccessFolder } from \"./ICanAccessFolder\";\nimport type { IGetIdentityGateway } from \"../../gateways\";\n\nexport class CanAccessFolder implements ICanAccessFolder {\n private getIdentityGateway: IGetIdentityGateway;\n\n constructor(getIdentityGateway: IGetIdentityGateway) {\n this.getIdentityGateway = getIdentityGateway;\n }\n\n async execute({ permissions = [], rwd, managePermissions }: CanAccessFolderParams) {\n if (!permissions.length) {\n return true;\n }\n\n const identity = this.getIdentityGateway.execute();\n const currentIdentityPermission = permissions.find(p => {\n return p.target === `admin:${identity.id}`;\n });\n\n if (!currentIdentityPermission) {\n return false;\n }\n\n const { level } = currentIdentityPermission;\n\n if (managePermissions) {\n return level === \"owner\";\n }\n\n // If the user has a `no-access` level, they are explicitly denied access to the current folder.\n if (level === \"no-access\") {\n return false;\n }\n\n // Checking for \"write\" or \"delete\" access. Allow only if the\n // user is has `owner` or `editor` level or the folder is public (no FLP assigned).\n if (rwd !== \"r\") {\n return level === \"owner\" || level === \"editor\" || level === \"public\";\n }\n\n return true;\n }\n}\n"],"mappings":";;;;;;AAGO,MAAMA,eAAe,CAA6B;EAGrDC,WAAWA,CAACC,kBAAuC,EAAE;IACjD,IAAI,CAACA,kBAAkB,GAAGA,kBAAkB;EAChD;EAEA,MAAMC,OAAOA,CAAC;IAAEC,WAAW,GAAG,EAAE;IAAEC,GAAG;IAAEC;EAAyC,CAAC,EAAE;IAC/E,IAAI,CAACF,WAAW,CAACG,MAAM,EAAE;MACrB,OAAO,IAAI;IACf;IAEA,MAAMC,QAAQ,GAAG,IAAI,CAACN,kBAAkB,CAACC,OAAO,CAAC,CAAC;IAClD,MAAMM,yBAAyB,GAAGL,WAAW,CAACM,IAAI,CAACC,CAAC,IAAI;MACpD,OAAOA,CAAC,CAACC,MAAM,KAAK,SAASJ,QAAQ,CAACK,EAAE,EAAE;IAC9C,CAAC,CAAC;IAEF,IAAI,CAACJ,yBAAyB,EAAE;MAC5B,OAAO,KAAK;IAChB;IAEA,MAAM;MAAEK;IAAM,CAAC,GAAGL,yBAAyB;IAE3C,IAAIH,iBAAiB,EAAE;MACnB,OAAOQ,KAAK,KAAK,OAAO;IAC5B;;IAEA;IACA,IAAIA,KAAK,KAAK,WAAW,EAAE;MACvB,OAAO,KAAK;IAChB;;IAEA;IACA;IACA,IAAIT,GAAG,KAAK,GAAG,EAAE;MACb,OAAOS,KAAK,KAAK,OAAO,IAAIA,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAK,QAAQ;IACxE;IAEA,OAAO,IAAI;EACf;AACJ;AAACC,OAAA,CAAAf,eAAA,GAAAA,eAAA","ignoreList":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { FolderPermission } from "../../../flp.types";
|
|
2
|
+
export interface CanAccessFolderParams {
|
|
3
|
+
permissions?: FolderPermission[];
|
|
4
|
+
rwd?: "r" | "w" | "d";
|
|
5
|
+
managePermissions?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export interface ICanAccessFolder {
|
|
8
|
+
execute: (params: CanAccessFolderParams) => Promise<boolean>;
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["ICanAccessFolder.ts"],"sourcesContent":["import type { FolderPermission } from \"~/flp/flp.types\";\n\nexport interface CanAccessFolderParams {\n permissions?: FolderPermission[];\n rwd?: \"r\" | \"w\" | \"d\";\n managePermissions?: boolean;\n}\n\nexport interface ICanAccessFolder {\n execute: (params: CanAccessFolderParams) => Promise<boolean>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _CanAccessFolder = require("./CanAccessFolder");
|
|
7
|
+
Object.keys(_CanAccessFolder).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _CanAccessFolder[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _CanAccessFolder[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
var _ICanAccessFolder = require("./ICanAccessFolder");
|
|
18
|
+
Object.keys(_ICanAccessFolder).forEach(function (key) {
|
|
19
|
+
if (key === "default" || key === "__esModule") return;
|
|
20
|
+
if (key in exports && exports[key] === _ICanAccessFolder[key]) return;
|
|
21
|
+
Object.defineProperty(exports, key, {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function () {
|
|
24
|
+
return _ICanAccessFolder[key];
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_CanAccessFolder","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_ICanAccessFolder"],"sources":["index.ts"],"sourcesContent":["export * from \"./CanAccessFolder\";\nexport * from \"./ICanAccessFolder\";\n"],"mappings":";;;;;AAAA,IAAAA,gBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,gBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,gBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,gBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,iBAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,iBAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,iBAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,iBAAA,CAAAL,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
|
package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { CanAccessFolderContentParams, ICanAccessFolderContent } from "./ICanAccessFolderContent";
|
|
2
|
+
import type { IGetIdentityGateway } from "../../gateways";
|
|
3
|
+
export declare class CanAccessFolderContent implements ICanAccessFolderContent {
|
|
4
|
+
private getIdentityGateway;
|
|
5
|
+
constructor(getIdentityGateway: IGetIdentityGateway);
|
|
6
|
+
execute({ permissions, rwd }: CanAccessFolderContentParams): Promise<boolean>;
|
|
7
|
+
}
|