@webiny/api-aco 0.0.0-unstable.2af142b57e → 0.0.0-unstable.3bc8100a7f
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/README.md +6 -6
- package/apps/AcoApp.d.ts +21 -0
- package/apps/AcoApp.js +143 -0
- package/apps/AcoApp.js.map +1 -0
- package/apps/AcoApps.d.ts +10 -0
- package/apps/AcoApps.js +75 -0
- package/apps/AcoApps.js.map +1 -0
- package/apps/app.gql.d.ts +3 -0
- package/apps/app.gql.js +59 -0
- package/apps/app.gql.js.map +1 -0
- package/apps/index.d.ts +2 -0
- package/apps/index.js +29 -0
- package/apps/index.js.map +1 -0
- 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 +97 -30
- package/createAcoContext.js.map +1 -1
- package/createAcoGraphQL.d.ts +3 -2
- package/createAcoGraphQL.js +86 -14
- 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 +13 -45
- 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 +114 -49
- package/folder/folder.crud.js.map +1 -1
- package/folder/folder.gql.d.ts +3 -2
- package/folder/folder.gql.js +121 -89
- package/folder/folder.gql.js.map +1 -1
- package/folder/folder.model.d.ts +2 -4
- package/folder/folder.model.js +81 -34
- package/folder/folder.model.js.map +1 -1
- package/folder/folder.so.d.ts +2 -7
- package/folder/folder.so.js +151 -110
- package/folder/folder.so.js.map +1 -1
- package/folder/folder.types.d.ts +74 -9
- 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 +12 -1
- package/index.js +70 -6
- package/index.js.map +1 -1
- package/package.json +36 -33
- package/plugins/AcoAppModifierPlugin.d.ts +43 -0
- package/plugins/AcoAppModifierPlugin.js +58 -0
- package/plugins/AcoAppModifierPlugin.js.map +1 -0
- package/plugins/AcoAppRegisterPlugin.d.ts +8 -0
- package/plugins/AcoAppRegisterPlugin.js +21 -0
- package/plugins/AcoAppRegisterPlugin.js.map +1 -0
- package/plugins/index.d.ts +2 -0
- package/plugins/index.js +29 -0
- package/plugins/index.js.map +1 -0
- package/record/graphql/createAppResolvers.d.ts +14 -0
- package/record/graphql/createAppResolvers.js +115 -0
- package/record/graphql/createAppResolvers.js.map +1 -0
- package/record/graphql/createAppSchema.d.ts +9 -0
- package/record/graphql/createAppSchema.js +146 -0
- package/record/graphql/createAppSchema.js.map +1 -0
- package/record/record.crud.d.ts +2 -2
- package/record/record.crud.js +49 -13
- package/record/record.crud.js.map +1 -1
- package/record/record.gql.d.ts +8 -3
- package/record/record.gql.js +38 -113
- package/record/record.gql.js.map +1 -1
- package/record/record.model.d.ts +8 -4
- package/record/record.model.js +50 -34
- package/record/record.model.js.map +1 -1
- package/record/record.so.d.ts +2 -7
- package/record/record.so.js +136 -65
- package/record/record.so.js.map +1 -1
- package/record/record.types.d.ts +75 -23
- package/record/record.types.js +3 -1
- package/record/record.types.js.map +1 -1
- package/types.d.ts +90 -11
- package/types.js +67 -1
- 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.d.ts +6 -0
- package/utils/acoRecordId.js +35 -0
- package/utils/acoRecordId.js.map +1 -0
- 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 -0
- package/utils/createListSort.js +17 -0
- package/utils/createListSort.js.map +1 -0
- package/utils/createModelField.d.ts +1 -2
- package/utils/createModelField.js +5 -5
- package/utils/createModelField.js.map +1 -1
- package/utils/createOperationsWrapper.d.ts +9 -0
- package/utils/createOperationsWrapper.js +27 -0
- package/utils/createOperationsWrapper.js.map +1 -0
- 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/ensureAuthentication.js +16 -0
- package/utils/ensureAuthentication.js.map +1 -0
- package/utils/modelFactory.d.ts +2 -4
- package/utils/modelFactory.js +7 -8
- 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.d.ts +2 -1
- package/utils/resolve.js +13 -2
- package/utils/resolve.js.map +1 -1
- package/createAcoCrud.d.ts +0 -2
- package/createAcoCrud.js +0 -17
- package/createAcoCrud.js.map +0 -1
- package/createAcoFields.d.ts +0 -2
- package/createAcoFields.js +0 -40
- package/createAcoFields.js.map +0 -1
- package/folder/onFolderBeforeDelete.hook.d.ts +0 -2
- package/folder/onFolderBeforeDelete.hook.js +0 -53
- package/folder/onFolderBeforeDelete.hook.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 -2
- package/utils/getFieldValues.js +0 -12
- package/utils/getFieldValues.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,36 @@
|
|
|
1
|
+
import { Plugin } from "@webiny/plugins";
|
|
2
|
+
import type { CmsPrivateModelFull } from "@webiny/api-headless-cms";
|
|
3
|
+
import type { CmsModelField as BaseModelField } from "@webiny/api-headless-cms/types";
|
|
4
|
+
export type CmsModelField = Omit<BaseModelField, "storageId"> & {
|
|
5
|
+
modelIds?: string[];
|
|
6
|
+
};
|
|
7
|
+
export interface IFolderModelFieldsModifier {
|
|
8
|
+
setFields: (fields: BaseModelField[]) => void;
|
|
9
|
+
addField: (field: CmsModelField) => void;
|
|
10
|
+
}
|
|
11
|
+
export declare class FolderModelFieldsModifier implements IFolderModelFieldsModifier {
|
|
12
|
+
private fields;
|
|
13
|
+
private readonly namespace;
|
|
14
|
+
constructor(namespace: string);
|
|
15
|
+
setFields(fields: BaseModelField[]): void;
|
|
16
|
+
addField(field: CmsModelField): void;
|
|
17
|
+
}
|
|
18
|
+
interface CmsModelModifierCallableParams {
|
|
19
|
+
modifier: IFolderModelFieldsModifier;
|
|
20
|
+
}
|
|
21
|
+
export interface CmsModelModifierCallable {
|
|
22
|
+
(params: CmsModelModifierCallableParams): Promise<void> | void;
|
|
23
|
+
}
|
|
24
|
+
interface FolderCmsModelModifierPluginParams {
|
|
25
|
+
modifier: IFolderModelFieldsModifier;
|
|
26
|
+
callback: CmsModelModifierCallable;
|
|
27
|
+
}
|
|
28
|
+
export declare class FolderCmsModelModifierPlugin extends Plugin {
|
|
29
|
+
static type: string;
|
|
30
|
+
private readonly modifier;
|
|
31
|
+
private readonly callback;
|
|
32
|
+
constructor(params: FolderCmsModelModifierPluginParams);
|
|
33
|
+
modifyModel(model: CmsPrivateModelFull): Promise<void>;
|
|
34
|
+
}
|
|
35
|
+
export declare const createFolderModelModifier: (callback: CmsModelModifierCallable) => FolderCmsModelModifierPlugin;
|
|
36
|
+
export {};
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createFolderModelModifier = exports.FolderModelFieldsModifier = exports.FolderCmsModelModifierPlugin = void 0;
|
|
7
|
+
var _plugins = require("@webiny/plugins");
|
|
8
|
+
var _apiHeadlessCms = require("@webiny/api-headless-cms");
|
|
9
|
+
var _folder = require("./folder.model");
|
|
10
|
+
class FolderModelFieldsModifier {
|
|
11
|
+
fields = [];
|
|
12
|
+
constructor(namespace) {
|
|
13
|
+
this.namespace = namespace;
|
|
14
|
+
}
|
|
15
|
+
setFields(fields) {
|
|
16
|
+
this.fields = fields;
|
|
17
|
+
}
|
|
18
|
+
addField(field) {
|
|
19
|
+
const {
|
|
20
|
+
tags,
|
|
21
|
+
...rest
|
|
22
|
+
} = field;
|
|
23
|
+
this.fields.push({
|
|
24
|
+
...rest,
|
|
25
|
+
storageId: `${field.type}@${this.namespace}_${field.id}`,
|
|
26
|
+
tags: (tags ?? []).concat([`$namespace:${this.namespace}`])
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.FolderModelFieldsModifier = FolderModelFieldsModifier;
|
|
31
|
+
class FolderCmsModelModifierPlugin extends _plugins.Plugin {
|
|
32
|
+
static type = "aco.folder.cms-model-modifier";
|
|
33
|
+
constructor(params) {
|
|
34
|
+
super();
|
|
35
|
+
this.modifier = params.modifier;
|
|
36
|
+
this.callback = params.callback;
|
|
37
|
+
}
|
|
38
|
+
async modifyModel(model) {
|
|
39
|
+
if (model.modelId !== _folder.FOLDER_MODEL_ID) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
let extensionsField = model.fields.find(field => field.fieldId === "extensions");
|
|
43
|
+
if (!extensionsField) {
|
|
44
|
+
extensionsField = (0, _apiHeadlessCms.createModelField)({
|
|
45
|
+
label: "Extensions",
|
|
46
|
+
type: "object",
|
|
47
|
+
settings: {
|
|
48
|
+
layout: [],
|
|
49
|
+
fields: []
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
model.fields.push(extensionsField);
|
|
53
|
+
}
|
|
54
|
+
this.modifier.setFields(extensionsField.settings.fields);
|
|
55
|
+
await this.callback({
|
|
56
|
+
modifier: this.modifier
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
exports.FolderCmsModelModifierPlugin = FolderCmsModelModifierPlugin;
|
|
61
|
+
const createFolderModelModifier = callback => {
|
|
62
|
+
const modifier = new FolderModelFieldsModifier("global");
|
|
63
|
+
return new FolderCmsModelModifierPlugin({
|
|
64
|
+
callback,
|
|
65
|
+
modifier
|
|
66
|
+
});
|
|
67
|
+
};
|
|
68
|
+
exports.createFolderModelModifier = createFolderModelModifier;
|
|
69
|
+
|
|
70
|
+
//# sourceMappingURL=createFolderModelModifier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_plugins","require","_apiHeadlessCms","_folder","FolderModelFieldsModifier","fields","constructor","namespace","setFields","addField","field","tags","rest","push","storageId","type","id","concat","exports","FolderCmsModelModifierPlugin","Plugin","params","modifier","callback","modifyModel","model","modelId","FOLDER_MODEL_ID","extensionsField","find","fieldId","createModelField","label","settings","layout","createFolderModelModifier"],"sources":["createFolderModelModifier.ts"],"sourcesContent":["import { Plugin } from \"@webiny/plugins\";\nimport type { CmsPrivateModelFull } from \"@webiny/api-headless-cms\";\nimport { createModelField } from \"@webiny/api-headless-cms\";\nimport type { CmsModelField as BaseModelField } from \"@webiny/api-headless-cms/types\";\nimport { FOLDER_MODEL_ID } from \"~/folder/folder.model\";\n\nexport type CmsModelField = Omit<BaseModelField, \"storageId\"> & { modelIds?: string[] };\n\nexport interface IFolderModelFieldsModifier {\n setFields: (fields: BaseModelField[]) => void;\n addField: (field: CmsModelField) => void;\n}\n\nexport class FolderModelFieldsModifier implements IFolderModelFieldsModifier {\n private fields: BaseModelField[] = [];\n private readonly namespace: string;\n\n constructor(namespace: string) {\n this.namespace = namespace;\n }\n\n setFields(fields: BaseModelField[]) {\n this.fields = fields;\n }\n\n addField(field: CmsModelField) {\n const { tags, ...rest } = field;\n\n this.fields.push({\n ...rest,\n storageId: `${field.type}@${this.namespace}_${field.id}`,\n tags: (tags ?? []).concat([`$namespace:${this.namespace}`])\n });\n }\n}\n\ninterface CmsModelModifierCallableParams {\n modifier: IFolderModelFieldsModifier;\n}\n\nexport interface CmsModelModifierCallable {\n (params: CmsModelModifierCallableParams): Promise<void> | void;\n}\n\ninterface FolderCmsModelModifierPluginParams {\n modifier: IFolderModelFieldsModifier;\n callback: CmsModelModifierCallable;\n}\n\nexport class FolderCmsModelModifierPlugin extends Plugin {\n public static override type = \"aco.folder.cms-model-modifier\";\n private readonly modifier: IFolderModelFieldsModifier;\n private readonly callback: CmsModelModifierCallable;\n\n constructor(params: FolderCmsModelModifierPluginParams) {\n super();\n this.modifier = params.modifier;\n this.callback = params.callback;\n }\n\n async modifyModel(model: CmsPrivateModelFull): Promise<void> {\n if (model.modelId !== FOLDER_MODEL_ID) {\n return;\n }\n\n let extensionsField = model.fields.find(field => field.fieldId === \"extensions\");\n if (!extensionsField) {\n extensionsField = createModelField({\n label: \"Extensions\",\n type: \"object\",\n settings: {\n layout: [],\n fields: []\n }\n });\n model.fields.push(extensionsField);\n }\n\n this.modifier.setFields(extensionsField.settings!.fields!);\n\n await this.callback({ modifier: this.modifier });\n }\n}\n\nexport const createFolderModelModifier = (callback: CmsModelModifierCallable) => {\n const modifier = new FolderModelFieldsModifier(\"global\");\n\n return new FolderCmsModelModifierPlugin({\n callback,\n modifier\n });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAEA,IAAAC,eAAA,GAAAD,OAAA;AAEA,IAAAE,OAAA,GAAAF,OAAA;AASO,MAAMG,yBAAyB,CAAuC;EACjEC,MAAM,GAAqB,EAAE;EAGrCC,WAAWA,CAACC,SAAiB,EAAE;IAC3B,IAAI,CAACA,SAAS,GAAGA,SAAS;EAC9B;EAEAC,SAASA,CAACH,MAAwB,EAAE;IAChC,IAAI,CAACA,MAAM,GAAGA,MAAM;EACxB;EAEAI,QAAQA,CAACC,KAAoB,EAAE;IAC3B,MAAM;MAAEC,IAAI;MAAE,GAAGC;IAAK,CAAC,GAAGF,KAAK;IAE/B,IAAI,CAACL,MAAM,CAACQ,IAAI,CAAC;MACb,GAAGD,IAAI;MACPE,SAAS,EAAE,GAAGJ,KAAK,CAACK,IAAI,IAAI,IAAI,CAACR,SAAS,IAAIG,KAAK,CAACM,EAAE,EAAE;MACxDL,IAAI,EAAE,CAACA,IAAI,IAAI,EAAE,EAAEM,MAAM,CAAC,CAAC,cAAc,IAAI,CAACV,SAAS,EAAE,CAAC;IAC9D,CAAC,CAAC;EACN;AACJ;AAACW,OAAA,CAAAd,yBAAA,GAAAA,yBAAA;AAeM,MAAMe,4BAA4B,SAASC,eAAM,CAAC;EACrD,OAAuBL,IAAI,GAAG,+BAA+B;EAI7DT,WAAWA,CAACe,MAA0C,EAAE;IACpD,KAAK,CAAC,CAAC;IACP,IAAI,CAACC,QAAQ,GAAGD,MAAM,CAACC,QAAQ;IAC/B,IAAI,CAACC,QAAQ,GAAGF,MAAM,CAACE,QAAQ;EACnC;EAEA,MAAMC,WAAWA,CAACC,KAA0B,EAAiB;IACzD,IAAIA,KAAK,CAACC,OAAO,KAAKC,uBAAe,EAAE;MACnC;IACJ;IAEA,IAAIC,eAAe,GAAGH,KAAK,CAACpB,MAAM,CAACwB,IAAI,CAACnB,KAAK,IAAIA,KAAK,CAACoB,OAAO,KAAK,YAAY,CAAC;IAChF,IAAI,CAACF,eAAe,EAAE;MAClBA,eAAe,GAAG,IAAAG,gCAAgB,EAAC;QAC/BC,KAAK,EAAE,YAAY;QACnBjB,IAAI,EAAE,QAAQ;QACdkB,QAAQ,EAAE;UACNC,MAAM,EAAE,EAAE;UACV7B,MAAM,EAAE;QACZ;MACJ,CAAC,CAAC;MACFoB,KAAK,CAACpB,MAAM,CAACQ,IAAI,CAACe,eAAe,CAAC;IACtC;IAEA,IAAI,CAACN,QAAQ,CAACd,SAAS,CAACoB,eAAe,CAACK,QAAQ,CAAE5B,MAAO,CAAC;IAE1D,MAAM,IAAI,CAACkB,QAAQ,CAAC;MAAED,QAAQ,EAAE,IAAI,CAACA;IAAS,CAAC,CAAC;EACpD;AACJ;AAACJ,OAAA,CAAAC,4BAAA,GAAAA,4BAAA;AAEM,MAAMgB,yBAAyB,GAAIZ,QAAkC,IAAK;EAC7E,MAAMD,QAAQ,GAAG,IAAIlB,yBAAyB,CAAC,QAAQ,CAAC;EAExD,OAAO,IAAIe,4BAA4B,CAAC;IACpCI,QAAQ;IACRD;EACJ,CAAC,CAAC;AACN,CAAC;AAACJ,OAAA,CAAAiB,yBAAA,GAAAA,yBAAA","ignoreList":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { CmsFieldTypePlugins, CmsModel } from "@webiny/api-headless-cms/types";
|
|
2
|
+
export interface CreateFolderTypeDefsParams {
|
|
3
|
+
model: CmsModel;
|
|
4
|
+
models: CmsModel[];
|
|
5
|
+
plugins: CmsFieldTypePlugins;
|
|
6
|
+
}
|
|
7
|
+
export declare const createFolderTypeDefs: (params: CreateFolderTypeDefsParams) => string;
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createFolderTypeDefs = void 0;
|
|
7
|
+
var _renderFields = require("@webiny/api-headless-cms/utils/renderFields");
|
|
8
|
+
var _renderInputFields = require("@webiny/api-headless-cms/utils/renderInputFields");
|
|
9
|
+
const removeFieldRequiredValidation = field => {
|
|
10
|
+
if (field.validation) {
|
|
11
|
+
field.validation = field.validation.filter(validation => validation.name !== "required");
|
|
12
|
+
}
|
|
13
|
+
if (field.listValidation) {
|
|
14
|
+
field.listValidation = field.listValidation.filter(v => v.name !== "required");
|
|
15
|
+
}
|
|
16
|
+
return field;
|
|
17
|
+
};
|
|
18
|
+
const createUpdateFields = fields => {
|
|
19
|
+
return fields.reduce((collection, field) => {
|
|
20
|
+
collection.push(removeFieldRequiredValidation({
|
|
21
|
+
...field
|
|
22
|
+
}));
|
|
23
|
+
return collection;
|
|
24
|
+
}, []);
|
|
25
|
+
};
|
|
26
|
+
const createFolderTypeDefs = params => {
|
|
27
|
+
const {
|
|
28
|
+
model,
|
|
29
|
+
models,
|
|
30
|
+
plugins: fieldTypePlugins
|
|
31
|
+
} = params;
|
|
32
|
+
const {
|
|
33
|
+
fields
|
|
34
|
+
} = model;
|
|
35
|
+
const fieldTypes = (0, _renderFields.renderFields)({
|
|
36
|
+
models,
|
|
37
|
+
model,
|
|
38
|
+
fields,
|
|
39
|
+
type: "manage",
|
|
40
|
+
fieldTypePlugins
|
|
41
|
+
});
|
|
42
|
+
const inputCreateFields = (0, _renderInputFields.renderInputFields)({
|
|
43
|
+
models,
|
|
44
|
+
model,
|
|
45
|
+
fields,
|
|
46
|
+
fieldTypePlugins
|
|
47
|
+
});
|
|
48
|
+
const inputUpdateFields = (0, _renderInputFields.renderInputFields)({
|
|
49
|
+
models,
|
|
50
|
+
model,
|
|
51
|
+
fields: createUpdateFields(fields),
|
|
52
|
+
fieldTypePlugins
|
|
53
|
+
});
|
|
54
|
+
return /* GraphQL */`
|
|
55
|
+
${fieldTypes.map(f => f.typeDefs).join("\n")}
|
|
56
|
+
|
|
57
|
+
type CompressedResponse {
|
|
58
|
+
compression: String
|
|
59
|
+
value: String
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
type Folder {
|
|
63
|
+
id: ID!
|
|
64
|
+
# Tells us if the current user can manage folder structure.
|
|
65
|
+
canManageStructure: Boolean
|
|
66
|
+
|
|
67
|
+
# Tells us if the current user can manage folder permissions.
|
|
68
|
+
canManagePermissions: Boolean
|
|
69
|
+
|
|
70
|
+
# Tells us if the current user can manage folder content.
|
|
71
|
+
canManageContent: Boolean
|
|
72
|
+
|
|
73
|
+
# Tells us if the folder contains non-inherited permissions.
|
|
74
|
+
hasNonInheritedPermissions: Boolean
|
|
75
|
+
|
|
76
|
+
createdOn: DateTime
|
|
77
|
+
modifiedOn: DateTime
|
|
78
|
+
savedOn: DateTime
|
|
79
|
+
createdBy: AcoUser
|
|
80
|
+
modifiedBy: AcoUser
|
|
81
|
+
savedBy: AcoUser
|
|
82
|
+
|
|
83
|
+
${fieldTypes.map(f => f.fields).join("\n")}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
${inputCreateFields.map(f => f.typeDefs).join("\n")}
|
|
87
|
+
|
|
88
|
+
input FolderCreateInput {
|
|
89
|
+
# Pass an ID if you want to create a folder with a specific ID.
|
|
90
|
+
id: ID
|
|
91
|
+
|
|
92
|
+
${inputCreateFields.map(f => f.fields).join("\n")}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
input FolderUpdateInput {
|
|
96
|
+
${inputUpdateFields.map(f => f.fields).join("\n")}
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
input FoldersListWhereInput {
|
|
100
|
+
type: String!
|
|
101
|
+
parentId: ID
|
|
102
|
+
parentId_in: [ID]
|
|
103
|
+
slug: String
|
|
104
|
+
slug_not: String
|
|
105
|
+
slug_contains: String
|
|
106
|
+
slug_not_contains: String
|
|
107
|
+
slug_in: [String]
|
|
108
|
+
slug_not_in: [String]
|
|
109
|
+
slug_startsWith: String
|
|
110
|
+
slug_not_startsWith: String
|
|
111
|
+
path: String
|
|
112
|
+
path_not: String
|
|
113
|
+
path_contains: String
|
|
114
|
+
path_not_contains: String
|
|
115
|
+
path_in: [String]
|
|
116
|
+
path_not_in: [String]
|
|
117
|
+
path_startsWith: String
|
|
118
|
+
path_not_startsWith: String
|
|
119
|
+
createdBy: ID
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
type FolderResponse {
|
|
123
|
+
data: Folder
|
|
124
|
+
error: AcoError
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
type FoldersListResponse {
|
|
128
|
+
data: [Folder]
|
|
129
|
+
error: AcoError
|
|
130
|
+
meta: AcoMeta
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
type FoldersListCompressedResponse {
|
|
134
|
+
data: CompressedResponse
|
|
135
|
+
error: AcoError
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
type FoldersHierarchyData {
|
|
139
|
+
parents: [Folder]
|
|
140
|
+
siblings: [Folder]
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
type FoldersHierarchyResponse {
|
|
144
|
+
data: FoldersHierarchyData
|
|
145
|
+
error: AcoError
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
type FolderLevelPermissionsTarget {
|
|
149
|
+
id: ID!
|
|
150
|
+
type: String!
|
|
151
|
+
target: ID!
|
|
152
|
+
name: String!
|
|
153
|
+
meta: JSON
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
type FolderLevelPermissionsTargetsListMeta {
|
|
157
|
+
totalCount: Int!
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
type FolderLevelPermissionsTargetsListResponse {
|
|
161
|
+
data: [FolderLevelPermissionsTarget]
|
|
162
|
+
meta: FolderLevelPermissionsTargetsListMeta
|
|
163
|
+
error: AcoError
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
type FolderModelResponse {
|
|
167
|
+
data: JSON
|
|
168
|
+
error: AcoError
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
extend type AcoQuery {
|
|
172
|
+
getFolderModel: FolderModelResponse!
|
|
173
|
+
getFolder(id: ID!): FolderResponse
|
|
174
|
+
listFolders(
|
|
175
|
+
where: FoldersListWhereInput!
|
|
176
|
+
limit: Int
|
|
177
|
+
after: String
|
|
178
|
+
sort: AcoSort
|
|
179
|
+
): FoldersListResponse
|
|
180
|
+
listFoldersCompressed(
|
|
181
|
+
where: FoldersListWhereInput!
|
|
182
|
+
limit: Int
|
|
183
|
+
after: String
|
|
184
|
+
sort: AcoSort
|
|
185
|
+
): FoldersListCompressedResponse
|
|
186
|
+
getFolderHierarchy(type: String!, id: ID!): FoldersHierarchyResponse
|
|
187
|
+
listFolderLevelPermissionsTargets: FolderLevelPermissionsTargetsListResponse
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
extend type AcoMutation {
|
|
191
|
+
createFolder(data: FolderCreateInput!): FolderResponse
|
|
192
|
+
updateFolder(id: ID!, data: FolderUpdateInput!): FolderResponse
|
|
193
|
+
deleteFolder(id: ID!): AcoBooleanResponse
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
extend type AcoFolder_Permissions {
|
|
197
|
+
inheritedFrom: ID
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
extend input AcoFolder_PermissionsInput {
|
|
201
|
+
inheritedFrom: ID
|
|
202
|
+
}
|
|
203
|
+
`;
|
|
204
|
+
};
|
|
205
|
+
exports.createFolderTypeDefs = createFolderTypeDefs;
|
|
206
|
+
|
|
207
|
+
//# sourceMappingURL=createFolderTypeDefs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_renderFields","require","_renderInputFields","removeFieldRequiredValidation","field","validation","filter","name","listValidation","v","createUpdateFields","fields","reduce","collection","push","createFolderTypeDefs","params","model","models","plugins","fieldTypePlugins","fieldTypes","renderFields","type","inputCreateFields","renderInputFields","inputUpdateFields","map","f","typeDefs","join","exports"],"sources":["createFolderTypeDefs.ts"],"sourcesContent":["import type { CmsFieldTypePlugins, CmsModel, CmsModelField } from \"@webiny/api-headless-cms/types\";\nimport { renderFields } from \"@webiny/api-headless-cms/utils/renderFields\";\nimport { renderInputFields } from \"@webiny/api-headless-cms/utils/renderInputFields\";\n\nexport interface CreateFolderTypeDefsParams {\n model: CmsModel;\n models: CmsModel[];\n plugins: CmsFieldTypePlugins;\n}\n\nconst removeFieldRequiredValidation = (field: CmsModelField) => {\n if (field.validation) {\n field.validation = field.validation.filter(validation => validation.name !== \"required\");\n }\n if (field.listValidation) {\n field.listValidation = field.listValidation.filter(v => v.name !== \"required\");\n }\n return field;\n};\n\nconst createUpdateFields = (fields: CmsModelField[]): CmsModelField[] => {\n return fields.reduce<CmsModelField[]>((collection, field) => {\n collection.push(removeFieldRequiredValidation({ ...field }));\n return collection;\n }, []);\n};\n\nexport const createFolderTypeDefs = (params: CreateFolderTypeDefsParams): string => {\n const { model, models, plugins: fieldTypePlugins } = params;\n const { fields } = model;\n\n const fieldTypes = renderFields({\n models,\n model,\n fields,\n type: \"manage\",\n fieldTypePlugins\n });\n const inputCreateFields = renderInputFields({\n models,\n model,\n fields,\n fieldTypePlugins\n });\n const inputUpdateFields = renderInputFields({\n models,\n model,\n fields: createUpdateFields(fields),\n fieldTypePlugins\n });\n\n return /* GraphQL */ `\n ${fieldTypes.map(f => f.typeDefs).join(\"\\n\")}\n \n type CompressedResponse {\n compression: String\n value: String\n }\n\n type Folder {\n id: ID!\n # Tells us if the current user can manage folder structure.\n canManageStructure: Boolean\n\n # Tells us if the current user can manage folder permissions.\n canManagePermissions: Boolean\n\n # Tells us if the current user can manage folder content.\n canManageContent: Boolean\n\n # Tells us if the folder contains non-inherited permissions.\n hasNonInheritedPermissions: Boolean\n\n createdOn: DateTime\n modifiedOn: DateTime\n savedOn: DateTime\n createdBy: AcoUser\n modifiedBy: AcoUser\n savedBy: AcoUser\n \n ${fieldTypes.map(f => f.fields).join(\"\\n\")}\n }\n\n ${inputCreateFields.map(f => f.typeDefs).join(\"\\n\")}\n \n input FolderCreateInput {\n # Pass an ID if you want to create a folder with a specific ID.\n id: ID \n \n ${inputCreateFields.map(f => f.fields).join(\"\\n\")}\n }\n \n input FolderUpdateInput {\n ${inputUpdateFields.map(f => f.fields).join(\"\\n\")}\n }\n \n input FoldersListWhereInput {\n type: String!\n parentId: ID\n parentId_in: [ID]\n slug: String\n slug_not: String\n slug_contains: String\n slug_not_contains: String\n slug_in: [String]\n slug_not_in: [String]\n slug_startsWith: String\n slug_not_startsWith: String\n path: String\n path_not: String\n path_contains: String\n path_not_contains: String\n path_in: [String]\n path_not_in: [String]\n path_startsWith: String\n path_not_startsWith: String\n createdBy: ID\n }\n \n type FolderResponse {\n data: Folder\n error: AcoError\n }\n\n type FoldersListResponse {\n data: [Folder]\n error: AcoError\n meta: AcoMeta\n }\n\n type FoldersListCompressedResponse {\n data: CompressedResponse\n error: AcoError\n }\n \n type FoldersHierarchyData {\n parents: [Folder]\n siblings: [Folder]\n }\n\n type FoldersHierarchyResponse {\n data: FoldersHierarchyData\n error: AcoError\n }\n\n type FolderLevelPermissionsTarget {\n id: ID!\n type: String!\n target: ID!\n name: String!\n meta: JSON\n }\n\n type FolderLevelPermissionsTargetsListMeta {\n totalCount: Int!\n }\n\n type FolderLevelPermissionsTargetsListResponse {\n data: [FolderLevelPermissionsTarget]\n meta: FolderLevelPermissionsTargetsListMeta\n error: AcoError\n }\n \n type FolderModelResponse {\n data: JSON\n error: AcoError\n }\n\n extend type AcoQuery {\n getFolderModel: FolderModelResponse!\n getFolder(id: ID!): FolderResponse\n listFolders(\n where: FoldersListWhereInput!\n limit: Int\n after: String\n sort: AcoSort\n ): FoldersListResponse\n listFoldersCompressed(\n where: FoldersListWhereInput!\n limit: Int\n after: String\n sort: AcoSort\n ): FoldersListCompressedResponse\n getFolderHierarchy(type: String!, id: ID!): FoldersHierarchyResponse\n listFolderLevelPermissionsTargets: FolderLevelPermissionsTargetsListResponse\n }\n\n extend type AcoMutation {\n createFolder(data: FolderCreateInput!): FolderResponse\n updateFolder(id: ID!, data: FolderUpdateInput!): FolderResponse\n deleteFolder(id: ID!): AcoBooleanResponse\n }\n \n extend type AcoFolder_Permissions {\n inheritedFrom: ID\n }\n \n extend input AcoFolder_PermissionsInput {\n inheritedFrom: ID\n }\n `;\n};\n"],"mappings":";;;;;;AACA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAD,OAAA;AAQA,MAAME,6BAA6B,GAAIC,KAAoB,IAAK;EAC5D,IAAIA,KAAK,CAACC,UAAU,EAAE;IAClBD,KAAK,CAACC,UAAU,GAAGD,KAAK,CAACC,UAAU,CAACC,MAAM,CAACD,UAAU,IAAIA,UAAU,CAACE,IAAI,KAAK,UAAU,CAAC;EAC5F;EACA,IAAIH,KAAK,CAACI,cAAc,EAAE;IACtBJ,KAAK,CAACI,cAAc,GAAGJ,KAAK,CAACI,cAAc,CAACF,MAAM,CAACG,CAAC,IAAIA,CAAC,CAACF,IAAI,KAAK,UAAU,CAAC;EAClF;EACA,OAAOH,KAAK;AAChB,CAAC;AAED,MAAMM,kBAAkB,GAAIC,MAAuB,IAAsB;EACrE,OAAOA,MAAM,CAACC,MAAM,CAAkB,CAACC,UAAU,EAAET,KAAK,KAAK;IACzDS,UAAU,CAACC,IAAI,CAACX,6BAA6B,CAAC;MAAE,GAAGC;IAAM,CAAC,CAAC,CAAC;IAC5D,OAAOS,UAAU;EACrB,CAAC,EAAE,EAAE,CAAC;AACV,CAAC;AAEM,MAAME,oBAAoB,GAAIC,MAAkC,IAAa;EAChF,MAAM;IAAEC,KAAK;IAAEC,MAAM;IAAEC,OAAO,EAAEC;EAAiB,CAAC,GAAGJ,MAAM;EAC3D,MAAM;IAAEL;EAAO,CAAC,GAAGM,KAAK;EAExB,MAAMI,UAAU,GAAG,IAAAC,0BAAY,EAAC;IAC5BJ,MAAM;IACND,KAAK;IACLN,MAAM;IACNY,IAAI,EAAE,QAAQ;IACdH;EACJ,CAAC,CAAC;EACF,MAAMI,iBAAiB,GAAG,IAAAC,oCAAiB,EAAC;IACxCP,MAAM;IACND,KAAK;IACLN,MAAM;IACNS;EACJ,CAAC,CAAC;EACF,MAAMM,iBAAiB,GAAG,IAAAD,oCAAiB,EAAC;IACxCP,MAAM;IACND,KAAK;IACLN,MAAM,EAAED,kBAAkB,CAACC,MAAM,CAAC;IAClCS;EACJ,CAAC,CAAC;EAEF,OAAO,aAAc;AACzB,UAAUC,UAAU,CAACM,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACC,QAAQ,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAcT,UAAU,CAACM,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACjB,MAAM,CAAC,CAACmB,IAAI,CAAC,IAAI,CAAC;AACtD;AACA;AACA,UAAUN,iBAAiB,CAACG,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACC,QAAQ,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;AAC3D;AACA;AACA;AACA;AACA;AACA,eAAeN,iBAAiB,CAACG,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACjB,MAAM,CAAC,CAACmB,IAAI,CAAC,IAAI,CAAC;AAC9D;AACA;AACA;AACA,cAAcJ,iBAAiB,CAACC,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACjB,MAAM,CAAC,CAACmB,IAAI,CAAC,IAAI,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;AAACC,OAAA,CAAAhB,oBAAA,GAAAA,oBAAA","ignoreList":[]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { AcoContext, Folder } from "../types";
|
|
2
|
+
interface EnsureFolderIsEmptyParams {
|
|
3
|
+
context: AcoContext;
|
|
4
|
+
folder: Pick<Folder, "id" | "type">;
|
|
5
|
+
hasContentCallback: () => boolean | Promise<boolean>;
|
|
6
|
+
}
|
|
7
|
+
export declare const ensureFolderIsEmpty: ({ context, folder, hasContentCallback }: EnsureFolderIsEmptyParams) => Promise<void>;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.ensureFolderIsEmpty = void 0;
|
|
8
|
+
var _error = _interopRequireDefault(require("@webiny/error"));
|
|
9
|
+
var _apiSecurity = require("@webiny/api-security");
|
|
10
|
+
const ensureFolderIsEmpty = async ({
|
|
11
|
+
context,
|
|
12
|
+
folder,
|
|
13
|
+
hasContentCallback
|
|
14
|
+
}) => {
|
|
15
|
+
const hasFoldersCallback = async () => {
|
|
16
|
+
const {
|
|
17
|
+
id,
|
|
18
|
+
type
|
|
19
|
+
} = folder;
|
|
20
|
+
const [folders] = await context.aco.folder.list({
|
|
21
|
+
where: {
|
|
22
|
+
type,
|
|
23
|
+
parentId: id
|
|
24
|
+
},
|
|
25
|
+
limit: 1
|
|
26
|
+
});
|
|
27
|
+
return folders.length > 0;
|
|
28
|
+
};
|
|
29
|
+
const [hasFolders, hasContent] = await Promise.all([hasFoldersCallback(), hasContentCallback()]);
|
|
30
|
+
if (hasFolders || hasContent) {
|
|
31
|
+
throw new _error.default("Delete all child folders and entries before proceeding.", "DELETE_FOLDER_WITH_CHILDREN", {
|
|
32
|
+
folder,
|
|
33
|
+
hasFolders,
|
|
34
|
+
hasContent
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// Let's also check if there are folders / content that are not visible because of folder permissions.
|
|
39
|
+
if (!context.aco.folderLevelPermissions.canUseFolderLevelPermissions()) {
|
|
40
|
+
// If folder level permissions are not enabled, we can skip this check. This is because
|
|
41
|
+
// in that case, all folders and content are visible to the user.
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
const [hasInvisibleFolders, hasInvisibleContent] = await context.security.withoutAuthorization(async () => {
|
|
45
|
+
const [hasFolders, hasContent] = await Promise.all([hasFoldersCallback(), hasContentCallback()]);
|
|
46
|
+
return [hasFolders, hasContent];
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
// In case there are invisible folders or content, we'll throw a different error.
|
|
50
|
+
// This is to prevent users from deleting folders that contain content they can't see.
|
|
51
|
+
if (hasInvisibleFolders || hasInvisibleContent) {
|
|
52
|
+
throw new _apiSecurity.NotAuthorizedError({
|
|
53
|
+
data: {
|
|
54
|
+
folder,
|
|
55
|
+
hasFolders: hasInvisibleFolders,
|
|
56
|
+
hasContent: hasInvisibleContent
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
exports.ensureFolderIsEmpty = ensureFolderIsEmpty;
|
|
62
|
+
|
|
63
|
+
//# sourceMappingURL=ensureFolderIsEmpty.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_error","_interopRequireDefault","require","_apiSecurity","ensureFolderIsEmpty","context","folder","hasContentCallback","hasFoldersCallback","id","type","folders","aco","list","where","parentId","limit","length","hasFolders","hasContent","Promise","all","WebinyError","folderLevelPermissions","canUseFolderLevelPermissions","hasInvisibleFolders","hasInvisibleContent","security","withoutAuthorization","NotAuthorizedError","data","exports"],"sources":["ensureFolderIsEmpty.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport type { AcoContext, Folder } from \"~/types\";\nimport { NotAuthorizedError } from \"@webiny/api-security\";\n\ninterface EnsureFolderIsEmptyParams {\n context: AcoContext;\n folder: Pick<Folder, \"id\" | \"type\">;\n hasContentCallback: () => boolean | Promise<boolean>;\n}\n\nexport const ensureFolderIsEmpty = async ({\n context,\n folder,\n hasContentCallback\n}: EnsureFolderIsEmptyParams) => {\n const hasFoldersCallback = async () => {\n const { id, type } = folder;\n const [folders] = await context.aco.folder.list({\n where: {\n type,\n parentId: id\n },\n limit: 1\n });\n\n return folders.length > 0;\n };\n\n const [hasFolders, hasContent] = await Promise.all([\n hasFoldersCallback(),\n hasContentCallback()\n ]);\n\n if (hasFolders || hasContent) {\n throw new WebinyError(\n \"Delete all child folders and entries before proceeding.\",\n \"DELETE_FOLDER_WITH_CHILDREN\",\n {\n folder,\n hasFolders,\n hasContent\n }\n );\n }\n\n // Let's also check if there are folders / content that are not visible because of folder permissions.\n if (!context.aco.folderLevelPermissions.canUseFolderLevelPermissions()) {\n // If folder level permissions are not enabled, we can skip this check. This is because\n // in that case, all folders and content are visible to the user.\n return;\n }\n\n const [hasInvisibleFolders, hasInvisibleContent] = await context.security.withoutAuthorization(\n async () => {\n const [hasFolders, hasContent] = await Promise.all([\n hasFoldersCallback(),\n hasContentCallback()\n ]);\n return [hasFolders, hasContent];\n }\n );\n\n // In case there are invisible folders or content, we'll throw a different error.\n // This is to prevent users from deleting folders that contain content they can't see.\n if (hasInvisibleFolders || hasInvisibleContent) {\n throw new NotAuthorizedError({\n data: {\n folder,\n hasFolders: hasInvisibleFolders,\n hasContent: hasInvisibleContent\n }\n });\n }\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AAQO,MAAME,mBAAmB,GAAG,MAAAA,CAAO;EACtCC,OAAO;EACPC,MAAM;EACNC;AACuB,CAAC,KAAK;EAC7B,MAAMC,kBAAkB,GAAG,MAAAA,CAAA,KAAY;IACnC,MAAM;MAAEC,EAAE;MAAEC;IAAK,CAAC,GAAGJ,MAAM;IAC3B,MAAM,CAACK,OAAO,CAAC,GAAG,MAAMN,OAAO,CAACO,GAAG,CAACN,MAAM,CAACO,IAAI,CAAC;MAC5CC,KAAK,EAAE;QACHJ,IAAI;QACJK,QAAQ,EAAEN;MACd,CAAC;MACDO,KAAK,EAAE;IACX,CAAC,CAAC;IAEF,OAAOL,OAAO,CAACM,MAAM,GAAG,CAAC;EAC7B,CAAC;EAED,MAAM,CAACC,UAAU,EAAEC,UAAU,CAAC,GAAG,MAAMC,OAAO,CAACC,GAAG,CAAC,CAC/Cb,kBAAkB,CAAC,CAAC,EACpBD,kBAAkB,CAAC,CAAC,CACvB,CAAC;EAEF,IAAIW,UAAU,IAAIC,UAAU,EAAE;IAC1B,MAAM,IAAIG,cAAW,CACjB,yDAAyD,EACzD,6BAA6B,EAC7B;MACIhB,MAAM;MACNY,UAAU;MACVC;IACJ,CACJ,CAAC;EACL;;EAEA;EACA,IAAI,CAACd,OAAO,CAACO,GAAG,CAACW,sBAAsB,CAACC,4BAA4B,CAAC,CAAC,EAAE;IACpE;IACA;IACA;EACJ;EAEA,MAAM,CAACC,mBAAmB,EAAEC,mBAAmB,CAAC,GAAG,MAAMrB,OAAO,CAACsB,QAAQ,CAACC,oBAAoB,CAC1F,YAAY;IACR,MAAM,CAACV,UAAU,EAAEC,UAAU,CAAC,GAAG,MAAMC,OAAO,CAACC,GAAG,CAAC,CAC/Cb,kBAAkB,CAAC,CAAC,EACpBD,kBAAkB,CAAC,CAAC,CACvB,CAAC;IACF,OAAO,CAACW,UAAU,EAAEC,UAAU,CAAC;EACnC,CACJ,CAAC;;EAED;EACA;EACA,IAAIM,mBAAmB,IAAIC,mBAAmB,EAAE;IAC5C,MAAM,IAAIG,+BAAkB,CAAC;MACzBC,IAAI,EAAE;QACFxB,MAAM;QACNY,UAAU,EAAEO,mBAAmB;QAC/BN,UAAU,EAAEO;MAChB;IACJ,CAAC,CAAC;EACN;AACJ,CAAC;AAACK,OAAA,CAAA3B,mBAAA,GAAAA,mBAAA","ignoreList":[]}
|
package/folder/folder.crud.d.ts
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import type { AcoFolderCrud } from "./folder.types";
|
|
2
|
+
import type { CreateAcoParams } from "../types";
|
|
3
|
+
import { type AcoContext } from "../types";
|
|
4
|
+
interface CreateFolderCrudMethodsParams extends CreateAcoParams {
|
|
5
|
+
context: AcoContext;
|
|
6
|
+
}
|
|
7
|
+
export declare const createFolderCrudMethods: ({ storageOperations, folderLevelPermissions, context }: CreateFolderCrudMethodsParams) => AcoFolderCrud;
|
|
8
|
+
export {};
|
package/folder/folder.crud.js
CHANGED
|
@@ -5,8 +5,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.createFolderCrudMethods = void 0;
|
|
7
7
|
var _pubsub = require("@webiny/pubsub");
|
|
8
|
+
var _useCases = require("./useCases");
|
|
9
|
+
const FIXED_FOLDER_LISTING_LIMIT = 10_000;
|
|
8
10
|
const createFolderCrudMethods = ({
|
|
9
|
-
storageOperations
|
|
11
|
+
storageOperations,
|
|
12
|
+
folderLevelPermissions,
|
|
13
|
+
context
|
|
10
14
|
}) => {
|
|
11
15
|
// create
|
|
12
16
|
const onFolderBeforeCreate = (0, _pubsub.createTopic)("aco.onFolderBeforeCreate");
|
|
@@ -17,6 +21,69 @@ const createFolderCrudMethods = ({
|
|
|
17
21
|
// delete
|
|
18
22
|
const onFolderBeforeDelete = (0, _pubsub.createTopic)("aco.onFolderBeforeDelete");
|
|
19
23
|
const onFolderAfterDelete = (0, _pubsub.createTopic)("aco.onFolderAfterDelete");
|
|
24
|
+
const {
|
|
25
|
+
getFolderUseCase,
|
|
26
|
+
getFolderUseCaseWithoutPermissions
|
|
27
|
+
} = (0, _useCases.getGetFolderUseCase)({
|
|
28
|
+
getOperation: storageOperations.folder.getFolder,
|
|
29
|
+
folderLevelPermissions
|
|
30
|
+
});
|
|
31
|
+
const {
|
|
32
|
+
listFoldersUseCase,
|
|
33
|
+
listFoldersUseCaseWithoutPermissions
|
|
34
|
+
} = (0, _useCases.getListFoldersUseCases)({
|
|
35
|
+
listOperation: storageOperations.folder.listFolders,
|
|
36
|
+
folderLevelPermissions
|
|
37
|
+
});
|
|
38
|
+
const {
|
|
39
|
+
getFolderHierarchyUseCase
|
|
40
|
+
} = (0, _useCases.getGetFolderHierarchyUseCases)({
|
|
41
|
+
listOperation: storageOperations.folder.listFolders,
|
|
42
|
+
getOperation: storageOperations.folder.getFolder,
|
|
43
|
+
folderLevelPermissions
|
|
44
|
+
});
|
|
45
|
+
const {
|
|
46
|
+
createFolderUseCase
|
|
47
|
+
} = (0, _useCases.getCreateFolderUseCases)({
|
|
48
|
+
createOperation: storageOperations.folder.createFolder,
|
|
49
|
+
folderLevelPermissions,
|
|
50
|
+
topics: {
|
|
51
|
+
onFolderAfterCreate,
|
|
52
|
+
onFolderBeforeCreate
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
const {
|
|
56
|
+
updateFolderUseCase
|
|
57
|
+
} = (0, _useCases.getUpdateFolderUseCase)({
|
|
58
|
+
updateOperation: storageOperations.folder.updateFolder,
|
|
59
|
+
getOperation: storageOperations.folder.getFolder,
|
|
60
|
+
folderLevelPermissions,
|
|
61
|
+
topics: {
|
|
62
|
+
onFolderAfterUpdate,
|
|
63
|
+
onFolderBeforeUpdate
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
const {
|
|
67
|
+
deleteFolderUseCase
|
|
68
|
+
} = (0, _useCases.getDeleteFolderUseCases)({
|
|
69
|
+
deleteOperation: storageOperations.folder.deleteFolder,
|
|
70
|
+
getOperation: storageOperations.folder.getFolder,
|
|
71
|
+
folderLevelPermissions,
|
|
72
|
+
topics: {
|
|
73
|
+
onFolderBeforeDelete,
|
|
74
|
+
onFolderAfterDelete
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
const {
|
|
78
|
+
getAncestorsUseCase
|
|
79
|
+
} = (0, _useCases.getGetAncestors)({
|
|
80
|
+
listFoldersUseCase: listFoldersUseCase
|
|
81
|
+
});
|
|
82
|
+
const {
|
|
83
|
+
listFolderLevelPermissionsTargetsUseCase
|
|
84
|
+
} = (0, _useCases.getListFolderLevelPermissionsTargets)({
|
|
85
|
+
context
|
|
86
|
+
});
|
|
20
87
|
return {
|
|
21
88
|
/**
|
|
22
89
|
* Lifecycle events
|
|
@@ -27,66 +94,64 @@ const createFolderCrudMethods = ({
|
|
|
27
94
|
onFolderAfterUpdate,
|
|
28
95
|
onFolderBeforeDelete,
|
|
29
96
|
onFolderAfterDelete,
|
|
30
|
-
async get(id) {
|
|
31
|
-
|
|
97
|
+
async get(id, disablePermissions) {
|
|
98
|
+
// If permissions are disabled, execute the use case without applying folder-level permissions logic, returning the raw folder data from the database.
|
|
99
|
+
if (disablePermissions) {
|
|
100
|
+
return await getFolderUseCaseWithoutPermissions.execute({
|
|
101
|
+
id
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
return await getFolderUseCase.execute({
|
|
32
105
|
id
|
|
33
106
|
});
|
|
34
107
|
},
|
|
35
|
-
async list(
|
|
36
|
-
|
|
108
|
+
async list({
|
|
109
|
+
disablePermissions,
|
|
110
|
+
...params
|
|
111
|
+
}) {
|
|
112
|
+
// If permissions are disabled, execute the use case without applying folder-level permissions logic, returning the raw folder data from the database.
|
|
113
|
+
if (disablePermissions) {
|
|
114
|
+
return await listFoldersUseCaseWithoutPermissions.execute(params);
|
|
115
|
+
}
|
|
116
|
+
return await listFoldersUseCase.execute(params);
|
|
37
117
|
},
|
|
38
|
-
async
|
|
39
|
-
await
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
const folder = await storageOperations.createFolder({
|
|
43
|
-
data
|
|
44
|
-
});
|
|
45
|
-
await onFolderAfterCreate.publish({
|
|
46
|
-
folder
|
|
118
|
+
async listAll(params) {
|
|
119
|
+
return await this.list({
|
|
120
|
+
...params,
|
|
121
|
+
limit: FIXED_FOLDER_LISTING_LIMIT
|
|
47
122
|
});
|
|
48
|
-
return folder;
|
|
49
123
|
},
|
|
50
|
-
async
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
await
|
|
55
|
-
original,
|
|
56
|
-
input: {
|
|
57
|
-
id,
|
|
58
|
-
data
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
|
-
const folder = await storageOperations.updateFolder({
|
|
62
|
-
id,
|
|
63
|
-
data
|
|
64
|
-
});
|
|
65
|
-
await onFolderAfterUpdate.publish({
|
|
66
|
-
original,
|
|
67
|
-
input: {
|
|
68
|
-
id,
|
|
69
|
-
data
|
|
70
|
-
},
|
|
71
|
-
folder
|
|
72
|
-
});
|
|
73
|
-
return folder;
|
|
124
|
+
async getFolderHierarchy(params) {
|
|
125
|
+
return await getFolderHierarchyUseCase.execute(params);
|
|
126
|
+
},
|
|
127
|
+
async create(data) {
|
|
128
|
+
return await createFolderUseCase.execute(data);
|
|
74
129
|
},
|
|
75
130
|
async delete(id) {
|
|
76
|
-
|
|
131
|
+
return await deleteFolderUseCase.execute({
|
|
77
132
|
id
|
|
78
133
|
});
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
await onFolderAfterDelete.publish({
|
|
134
|
+
},
|
|
135
|
+
async update(id, data) {
|
|
136
|
+
return await updateFolderUseCase.execute(id, data);
|
|
137
|
+
},
|
|
138
|
+
async getAncestors(folder) {
|
|
139
|
+
return getAncestorsUseCase.execute({
|
|
86
140
|
folder
|
|
87
141
|
});
|
|
88
|
-
|
|
142
|
+
},
|
|
143
|
+
/**
|
|
144
|
+
* @deprecated use `getAncestors` instead
|
|
145
|
+
*/
|
|
146
|
+
async getFolderWithAncestors(id) {
|
|
147
|
+
const folder = await this.get(id);
|
|
148
|
+
return this.getAncestors(folder);
|
|
149
|
+
},
|
|
150
|
+
async listFolderLevelPermissionsTargets() {
|
|
151
|
+
return await listFolderLevelPermissionsTargetsUseCase.execute();
|
|
89
152
|
}
|
|
90
153
|
};
|
|
91
154
|
};
|
|
92
|
-
exports.createFolderCrudMethods = createFolderCrudMethods;
|
|
155
|
+
exports.createFolderCrudMethods = createFolderCrudMethods;
|
|
156
|
+
|
|
157
|
+
//# sourceMappingURL=folder.crud.js.map
|