@webiny/api-aco 0.0.0-unstable.e3f4727c56 → 0.0.0-unstable.eb196ccd2f
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 -2
- package/folder/folder.so.js +73 -21
- 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 -34
- 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 -112
- package/record/record.gql.js.map +1 -1
- package/record/record.model.d.ts +8 -4
- package/record/record.model.js +49 -21
- package/record/record.model.js.map +1 -1
- package/record/record.so.d.ts +2 -2
- package/record/record.so.js +126 -47
- package/record/record.so.js.map +1 -1
- package/record/record.types.d.ts +75 -22
- 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 +2 -2
- package/utils/createOperationsWrapper.js +4 -6
- 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/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/context/folders.d.ts +0 -2
- package/context/folders.js +0 -261
- package/context/folders.js.map +0 -1
- package/context/index.d.ts +0 -2
- package/context/index.js +0 -22
- package/context/index.js.map +0 -1
- package/context/links.d.ts +0 -2
- package/context/links.js +0 -270
- package/context/links.js.map +0 -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/graphql/base.gql.d.ts +0 -3
- package/graphql/base.gql.js +0 -63
- package/graphql/base.gql.js.map +0 -1
- package/graphql/folders.gql.d.ts +0 -3
- package/graphql/folders.gql.js +0 -126
- package/graphql/folders.gql.js.map +0 -1
- package/graphql/index.d.ts +0 -1
- package/graphql/index.js +0 -15
- package/graphql/index.js.map +0 -1
- package/graphql/links.gql.d.ts +0 -3
- package/graphql/links.gql.js +0 -123
- package/graphql/links.gql.js.map +0 -1
- package/subscriptions/afterFolderDelete.d.ts +0 -3
- package/subscriptions/afterFolderDelete.js +0 -62
- package/subscriptions/afterFolderDelete.js.map +0 -1
- package/subscriptions/index.d.ts +0 -3
- package/subscriptions/index.js +0 -14
- package/subscriptions/index.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 -19
- 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
package/folder/folder.so.js
CHANGED
|
@@ -5,21 +5,24 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.createFolderOperations = void 0;
|
|
8
|
-
var
|
|
8
|
+
var _omit = _interopRequireDefault(require("lodash/omit"));
|
|
9
9
|
var _error = _interopRequireDefault(require("@webiny/error"));
|
|
10
10
|
var _folder = require("./folder.model");
|
|
11
|
-
var
|
|
11
|
+
var _createListSort = require("../utils/createListSort");
|
|
12
12
|
var _createOperationsWrapper = require("../utils/createOperationsWrapper");
|
|
13
|
-
var
|
|
13
|
+
var _pickEntryFieldValues = require("../utils/pickEntryFieldValues");
|
|
14
|
+
var _Path = require("../utils/Path");
|
|
15
|
+
var _constants = require("@webiny/api-headless-cms/constants");
|
|
14
16
|
const createFolderOperations = params => {
|
|
15
17
|
const {
|
|
16
18
|
cms
|
|
17
19
|
} = params;
|
|
18
20
|
const {
|
|
19
21
|
withModel
|
|
20
|
-
} = (0, _createOperationsWrapper.createOperationsWrapper)(
|
|
22
|
+
} = (0, _createOperationsWrapper.createOperationsWrapper)({
|
|
23
|
+
...params,
|
|
21
24
|
modelName: _folder.FOLDER_MODEL_ID
|
|
22
|
-
})
|
|
25
|
+
});
|
|
23
26
|
const getFolder = ({
|
|
24
27
|
id,
|
|
25
28
|
slug,
|
|
@@ -48,7 +51,7 @@ const createFolderOperations = params => {
|
|
|
48
51
|
parentId
|
|
49
52
|
});
|
|
50
53
|
}
|
|
51
|
-
return (0,
|
|
54
|
+
return (0, _pickEntryFieldValues.pickEntryFieldValues)(entry);
|
|
52
55
|
});
|
|
53
56
|
};
|
|
54
57
|
const checkExistingFolder = ({
|
|
@@ -61,8 +64,14 @@ const createFolderOperations = params => {
|
|
|
61
64
|
slug,
|
|
62
65
|
parentId
|
|
63
66
|
} = params;
|
|
64
|
-
|
|
67
|
+
|
|
68
|
+
// We don't need to perform any kind of authorization or checks here. We just need to check
|
|
69
|
+
// if the folder already exists in the database. Hence the direct storage operations access.
|
|
70
|
+
const listResult = await cms.storageOperations.entries.list(model, {
|
|
71
|
+
...params,
|
|
65
72
|
where: {
|
|
73
|
+
// Folders always work with latest entries. We never publish them.
|
|
74
|
+
latest: true,
|
|
66
75
|
type,
|
|
67
76
|
slug,
|
|
68
77
|
parentId,
|
|
@@ -70,7 +79,7 @@ const createFolderOperations = params => {
|
|
|
70
79
|
},
|
|
71
80
|
limit: 1
|
|
72
81
|
});
|
|
73
|
-
if (
|
|
82
|
+
if (listResult?.items?.length > 0) {
|
|
74
83
|
throw new _error.default(`Folder with slug "${slug}" already exists at this level.`, "FOLDER_ALREADY_EXISTS", {
|
|
75
84
|
id,
|
|
76
85
|
params
|
|
@@ -79,14 +88,40 @@ const createFolderOperations = params => {
|
|
|
79
88
|
return;
|
|
80
89
|
});
|
|
81
90
|
};
|
|
91
|
+
const createFolderPath = async ({
|
|
92
|
+
slug,
|
|
93
|
+
parentId
|
|
94
|
+
}) => {
|
|
95
|
+
let parentFolder = null;
|
|
96
|
+
if (parentId) {
|
|
97
|
+
parentFolder = await getFolder({
|
|
98
|
+
id: parentId
|
|
99
|
+
});
|
|
100
|
+
if (!parentFolder) {
|
|
101
|
+
throw new _error.default("Parent folder not found. Unable to create the folder `path`", "ERROR_CREATE_FOLDER_PATH_PARENT_FOLDER_NOT_FOUND");
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return _Path.Path.create(slug, parentFolder?.path);
|
|
105
|
+
};
|
|
82
106
|
return {
|
|
83
107
|
getFolder,
|
|
84
108
|
listFolders(params) {
|
|
85
109
|
return withModel(async model => {
|
|
86
|
-
const
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
110
|
+
const {
|
|
111
|
+
sort,
|
|
112
|
+
where
|
|
113
|
+
} = params;
|
|
114
|
+
const listSort = sort || {
|
|
115
|
+
title: "ASC"
|
|
116
|
+
};
|
|
117
|
+
const [entries, meta] = await cms.listLatestEntries(model, {
|
|
118
|
+
...params,
|
|
119
|
+
sort: (0, _createListSort.createListSort)(listSort),
|
|
120
|
+
where: {
|
|
121
|
+
...(where || {})
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
return [entries.map(_pickEntryFieldValues.pickEntryFieldValues), meta];
|
|
90
125
|
});
|
|
91
126
|
},
|
|
92
127
|
createFolder({
|
|
@@ -100,10 +135,12 @@ const createFolderOperations = params => {
|
|
|
100
135
|
parentId: data.parentId
|
|
101
136
|
}
|
|
102
137
|
});
|
|
103
|
-
const entry = await cms.createEntry(model,
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
138
|
+
const entry = await cms.createEntry(model, {
|
|
139
|
+
...data,
|
|
140
|
+
parentId: data.parentId || null,
|
|
141
|
+
path: await createFolderPath(data)
|
|
142
|
+
});
|
|
143
|
+
return (0, _pickEntryFieldValues.pickEntryFieldValues)(entry);
|
|
107
144
|
});
|
|
108
145
|
},
|
|
109
146
|
updateFolder({
|
|
@@ -126,20 +163,35 @@ const createFolderOperations = params => {
|
|
|
126
163
|
parentId: parentId !== undefined ? parentId : original.parentId // parentId can be `null`
|
|
127
164
|
}
|
|
128
165
|
});
|
|
129
|
-
|
|
130
|
-
|
|
166
|
+
const input = {
|
|
167
|
+
/**
|
|
168
|
+
* We are omitting the standard entry meta fields:
|
|
169
|
+
* we don't want to override them with the ones coming from the `original` entry.
|
|
170
|
+
*/
|
|
171
|
+
...(0, _omit.default)(original, _constants.ENTRY_META_FIELDS),
|
|
172
|
+
...data,
|
|
173
|
+
path: await createFolderPath({
|
|
174
|
+
slug: slug || original.slug,
|
|
175
|
+
parentId: parentId !== undefined ? parentId : original.parentId // parentId can be `null`
|
|
176
|
+
})
|
|
177
|
+
};
|
|
131
178
|
const entry = await cms.updateEntry(model, id, input);
|
|
132
|
-
return (0,
|
|
179
|
+
return (0, _pickEntryFieldValues.pickEntryFieldValues)(entry);
|
|
133
180
|
});
|
|
134
181
|
},
|
|
135
182
|
deleteFolder({
|
|
136
183
|
id
|
|
137
184
|
}) {
|
|
138
185
|
return withModel(async model => {
|
|
139
|
-
await cms.deleteEntry(model, id
|
|
186
|
+
await cms.deleteEntry(model, id, {
|
|
187
|
+
permanently: true,
|
|
188
|
+
force: true
|
|
189
|
+
});
|
|
140
190
|
return true;
|
|
141
191
|
});
|
|
142
192
|
}
|
|
143
193
|
};
|
|
144
194
|
};
|
|
145
|
-
exports.createFolderOperations = createFolderOperations;
|
|
195
|
+
exports.createFolderOperations = createFolderOperations;
|
|
196
|
+
|
|
197
|
+
//# sourceMappingURL=folder.so.js.map
|
package/folder/folder.so.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createFolderOperations","params","cms","withModel","createOperationsWrapper","modelName","FOLDER_MODEL_ID","getFolder","id","slug","type","parentId","model","entry","getEntryById","getEntry","where","latest","WebinyError","getFieldValues","baseFields","checkExistingFolder","existings","listLatestEntries","id_not","limit","length","listFolders","entries","meta","map","createFolder","data","createEntry","updateFolder","original","undefined","input","updateEntry","deleteFolder","deleteEntry"],"sources":["folder.so.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\n\nimport { FOLDER_MODEL_ID } from \"./folder.model\";\nimport { baseFields, CreateAcoStorageOperationsParams } from \"~/createAcoStorageOperations\";\nimport { createOperationsWrapper } from \"~/utils/createOperationsWrapper\";\nimport { getFieldValues } from \"~/utils/getFieldValues\";\n\nimport { AcoFolderStorageOperations } from \"./folder.types\";\n\ninterface AcoCheckExistingFolderParams {\n params: {\n type: string;\n slug: string;\n parentId?: string | null;\n };\n id?: string;\n}\n\nexport const createFolderOperations = (\n params: CreateAcoStorageOperationsParams\n): AcoFolderStorageOperations => {\n const { cms } = params;\n\n const { withModel } = createOperationsWrapper({\n ...params,\n modelName: FOLDER_MODEL_ID\n });\n\n const getFolder: AcoFolderStorageOperations[\"getFolder\"] = ({ id, slug, type, parentId }) => {\n return withModel(async model => {\n let entry;\n\n if (id) {\n entry = await cms.getEntryById(model, id);\n } else if (slug && type) {\n entry = await cms.getEntry(model, {\n where: { slug, type, parentId, latest: true }\n });\n }\n\n if (!entry) {\n throw new WebinyError(\"Could not load folder.\", \"GET_FOLDER_ERROR\", {\n id,\n slug,\n type,\n parentId\n });\n }\n\n return getFieldValues(entry, baseFields);\n });\n };\n\n const checkExistingFolder = ({ id, params }: AcoCheckExistingFolderParams) => {\n return withModel(async model => {\n const { type, slug, parentId } = params;\n\n const [existings] = await cms.listLatestEntries(model, {\n where: {\n type,\n slug,\n parentId,\n id_not: id\n },\n limit: 1\n });\n\n if (existings.length > 0) {\n throw new WebinyError(\n `Folder with slug \"${slug}\" already exists at this level.`,\n \"FOLDER_ALREADY_EXISTS\",\n {\n id,\n params\n }\n );\n }\n\n return;\n });\n };\n\n return {\n getFolder,\n listFolders(params) {\n return withModel(async model => {\n const [entries, meta] = await cms.listLatestEntries(model, {\n ...params,\n where: {\n ...(params.where || {})\n }\n });\n\n return [entries.map(entry => getFieldValues(entry, baseFields)), meta];\n });\n },\n createFolder({ data }) {\n return withModel(async model => {\n await checkExistingFolder({\n params: {\n type: data.type,\n slug: data.slug,\n parentId: data.parentId\n }\n });\n\n const entry = await cms.createEntry(model, {\n ...data,\n parentId: data.parentId || null\n });\n\n return getFieldValues(entry, baseFields);\n });\n },\n updateFolder({ id, data }) {\n return withModel(async model => {\n const { slug, parentId } = data;\n\n const original = await getFolder({ id });\n\n await checkExistingFolder({\n id,\n params: {\n type: original.type,\n slug: slug || original.slug,\n parentId: parentId !== undefined ? parentId : original.parentId // parentId can be `null`\n }\n });\n\n const input = {\n ...original,\n ...data\n };\n\n const entry = await cms.updateEntry(model, id, input);\n return getFieldValues(entry, baseFields);\n });\n },\n deleteFolder({ id }) {\n return withModel(async model => {\n await cms.deleteEntry(model, id);\n return true;\n });\n }\n };\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_omit","_interopRequireDefault","require","_error","_folder","_createListSort","_createOperationsWrapper","_pickEntryFieldValues","_Path","_constants","createFolderOperations","params","cms","withModel","createOperationsWrapper","modelName","FOLDER_MODEL_ID","getFolder","id","slug","type","parentId","model","entry","getEntryById","getEntry","where","latest","WebinyError","pickEntryFieldValues","checkExistingFolder","listResult","storageOperations","entries","list","id_not","limit","items","length","createFolderPath","parentFolder","Path","create","path","listFolders","sort","listSort","title","meta","listLatestEntries","createListSort","map","createFolder","data","createEntry","updateFolder","original","undefined","input","omit","ENTRY_META_FIELDS","updateEntry","deleteFolder","deleteEntry","permanently","force","exports"],"sources":["folder.so.ts"],"sourcesContent":["import omit from \"lodash/omit\";\nimport WebinyError from \"@webiny/error\";\nimport { FOLDER_MODEL_ID } from \"./folder.model\";\nimport type { CreateAcoStorageOperationsParams } from \"~/createAcoStorageOperations\";\nimport { createListSort } from \"~/utils/createListSort\";\nimport { createOperationsWrapper } from \"~/utils/createOperationsWrapper\";\nimport { pickEntryFieldValues } from \"~/utils/pickEntryFieldValues\";\nimport { Path } from \"~/utils/Path\";\nimport type { AcoFolderStorageOperations, Folder } from \"./folder.types\";\nimport { ENTRY_META_FIELDS } from \"@webiny/api-headless-cms/constants\";\nimport type { ListSort } from \"~/types\";\n\ninterface AcoCheckExistingFolderParams {\n params: {\n type: string;\n slug: string;\n parentId?: string | null;\n };\n id?: string;\n}\n\nexport const createFolderOperations = (\n params: CreateAcoStorageOperationsParams\n): AcoFolderStorageOperations => {\n const { cms } = params;\n\n const { withModel } = createOperationsWrapper({\n ...params,\n modelName: FOLDER_MODEL_ID\n });\n\n const getFolder: AcoFolderStorageOperations[\"getFolder\"] = ({ id, slug, type, parentId }) => {\n return withModel(async model => {\n let entry;\n\n if (id) {\n entry = await cms.getEntryById(model, id);\n } else if (slug && type) {\n entry = await cms.getEntry(model, {\n where: { slug, type, parentId, latest: true }\n });\n }\n\n if (!entry) {\n throw new WebinyError(\"Could not load folder.\", \"GET_FOLDER_ERROR\", {\n id,\n slug,\n type,\n parentId\n });\n }\n\n return pickEntryFieldValues(entry);\n });\n };\n\n const checkExistingFolder = ({ id, params }: AcoCheckExistingFolderParams) => {\n return withModel(async model => {\n const { type, slug, parentId } = params;\n\n // We don't need to perform any kind of authorization or checks here. We just need to check\n // if the folder already exists in the database. Hence the direct storage operations access.\n const listResult = await cms.storageOperations.entries.list(model, {\n ...params,\n where: {\n // Folders always work with latest entries. We never publish them.\n latest: true,\n type,\n slug,\n parentId,\n id_not: id\n },\n limit: 1\n });\n\n if (listResult?.items?.length > 0) {\n throw new WebinyError(\n `Folder with slug \"${slug}\" already exists at this level.`,\n \"FOLDER_ALREADY_EXISTS\",\n {\n id,\n params\n }\n );\n }\n\n return;\n });\n };\n\n const createFolderPath = async ({\n slug,\n parentId\n }: Pick<Folder, \"slug\" | \"parentId\">): Promise<string> => {\n let parentFolder: Folder | null = null;\n\n if (parentId) {\n parentFolder = await getFolder({ id: parentId });\n\n if (!parentFolder) {\n throw new WebinyError(\n \"Parent folder not found. Unable to create the folder `path`\",\n \"ERROR_CREATE_FOLDER_PATH_PARENT_FOLDER_NOT_FOUND\"\n );\n }\n }\n\n return Path.create(slug, parentFolder?.path);\n };\n\n return {\n getFolder,\n listFolders(params) {\n return withModel(async model => {\n const { sort, where } = params;\n\n const listSort =\n sort ||\n ({\n title: \"ASC\"\n } as unknown as ListSort);\n\n const [entries, meta] = await cms.listLatestEntries(model, {\n ...params,\n sort: createListSort(listSort),\n where: {\n ...(where || {})\n }\n });\n\n return [entries.map(pickEntryFieldValues<Folder>), meta];\n });\n },\n createFolder({ data }) {\n return withModel(async model => {\n await checkExistingFolder({\n params: {\n type: data.type,\n slug: data.slug,\n parentId: data.parentId\n }\n });\n\n const entry = await cms.createEntry(model, {\n ...data,\n parentId: data.parentId || null,\n path: await createFolderPath(data)\n });\n\n return pickEntryFieldValues(entry);\n });\n },\n updateFolder({ id, data }) {\n return withModel(async model => {\n const { slug, parentId } = data;\n\n const original = await getFolder({ id });\n\n await checkExistingFolder({\n id,\n params: {\n type: original.type,\n slug: slug || original.slug,\n parentId: parentId !== undefined ? parentId : original.parentId // parentId can be `null`\n }\n });\n\n const input = {\n /**\n * We are omitting the standard entry meta fields:\n * we don't want to override them with the ones coming from the `original` entry.\n */\n ...omit(original, ENTRY_META_FIELDS),\n ...data,\n path: await createFolderPath({\n slug: slug || original.slug,\n parentId: parentId !== undefined ? parentId : original.parentId // parentId can be `null`\n })\n };\n\n const entry = await cms.updateEntry(model, id, input);\n return pickEntryFieldValues(entry);\n });\n },\n deleteFolder({ id }) {\n return withModel(async model => {\n await cms.deleteEntry(model, id, {\n permanently: true,\n force: true\n });\n return true;\n });\n }\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
package/folder/folder.types.d.ts
CHANGED
|
@@ -1,37 +1,91 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import type { ListMeta, ListSort, User } from "../types";
|
|
2
|
+
import { type FolderPermission } from "../types";
|
|
3
|
+
import type { Topic } from "@webiny/pubsub/types";
|
|
4
|
+
export interface Folder {
|
|
5
|
+
id: string;
|
|
6
|
+
entryId: string;
|
|
7
|
+
createdOn: string;
|
|
8
|
+
modifiedOn: string | null;
|
|
9
|
+
savedOn: string;
|
|
10
|
+
createdBy: User;
|
|
11
|
+
modifiedBy: User | null;
|
|
12
|
+
savedBy: User;
|
|
4
13
|
title: string;
|
|
5
14
|
slug: string;
|
|
15
|
+
permissions?: FolderPermission[];
|
|
6
16
|
type: string;
|
|
7
17
|
parentId?: string | null;
|
|
18
|
+
path: string;
|
|
19
|
+
extensions?: Record<string, any>;
|
|
8
20
|
}
|
|
9
21
|
export interface ListFoldersWhere {
|
|
10
22
|
type: string;
|
|
23
|
+
id_not_in?: string[];
|
|
11
24
|
parentId?: string | null;
|
|
25
|
+
parentId_in?: string[];
|
|
26
|
+
slug?: string;
|
|
27
|
+
slug_not?: string;
|
|
28
|
+
slug_contains?: string;
|
|
29
|
+
slug_not_contains?: string;
|
|
30
|
+
slug_in?: string[];
|
|
31
|
+
slug_not_in?: string[];
|
|
32
|
+
slug_startsWith?: string;
|
|
33
|
+
slug_not_startsWith?: string;
|
|
34
|
+
path?: string;
|
|
35
|
+
path_not?: string;
|
|
36
|
+
path_contains?: string;
|
|
37
|
+
path_not_contains?: string;
|
|
38
|
+
path_in?: string[];
|
|
39
|
+
path_not_in?: string[];
|
|
40
|
+
path_startsWith?: string;
|
|
41
|
+
path_not_startsWith?: string;
|
|
12
42
|
}
|
|
13
43
|
export interface ListFoldersParams {
|
|
14
44
|
where: ListFoldersWhere;
|
|
15
|
-
sort?:
|
|
45
|
+
sort?: ListSort;
|
|
16
46
|
limit?: number;
|
|
17
47
|
after?: string | null;
|
|
48
|
+
disablePermissions?: boolean;
|
|
49
|
+
}
|
|
50
|
+
export type ListAllFoldersParams = Omit<ListFoldersParams, "limit" | "after">;
|
|
51
|
+
export interface GetFolderHierarchyParams {
|
|
52
|
+
type: string;
|
|
53
|
+
id: string;
|
|
54
|
+
}
|
|
55
|
+
export interface GetFolderHierarchyResponse {
|
|
56
|
+
parents: Folder[];
|
|
57
|
+
siblings: Folder[];
|
|
18
58
|
}
|
|
19
|
-
export
|
|
59
|
+
export type CreateFolderParams = Pick<Folder, "title" | "slug" | "type" | "parentId">;
|
|
20
60
|
export interface UpdateFolderParams {
|
|
21
61
|
title?: string;
|
|
22
62
|
slug?: string;
|
|
63
|
+
permissions?: FolderPermission[];
|
|
23
64
|
parentId?: string;
|
|
24
65
|
}
|
|
25
66
|
export interface DeleteFolderParams {
|
|
26
67
|
id: string;
|
|
27
68
|
}
|
|
69
|
+
export interface FolderLevelPermissionsTarget<TMeta = Record<string, any>> {
|
|
70
|
+
id: string;
|
|
71
|
+
target: string;
|
|
72
|
+
name: string;
|
|
73
|
+
type: string;
|
|
74
|
+
meta: TMeta;
|
|
75
|
+
}
|
|
76
|
+
export interface FolderLevelPermissionsTargetListMeta {
|
|
77
|
+
totalCount: number;
|
|
78
|
+
}
|
|
28
79
|
export interface StorageOperationsGetFolderParams {
|
|
29
80
|
id?: string;
|
|
30
81
|
slug?: string;
|
|
31
82
|
type?: string;
|
|
32
83
|
parentId?: string | null;
|
|
33
84
|
}
|
|
34
|
-
export
|
|
85
|
+
export interface GetFolderParams {
|
|
86
|
+
id: string;
|
|
87
|
+
}
|
|
88
|
+
export type StorageOperationsListFoldersParams = ListFoldersParams;
|
|
35
89
|
export interface StorageOperationsCreateFolderParams {
|
|
36
90
|
data: CreateFolderParams;
|
|
37
91
|
}
|
|
@@ -39,7 +93,7 @@ export interface StorageOperationsUpdateFolderParams {
|
|
|
39
93
|
id: string;
|
|
40
94
|
data: UpdateFolderParams;
|
|
41
95
|
}
|
|
42
|
-
export
|
|
96
|
+
export type StorageOperationsDeleteFolderParams = DeleteFolderParams;
|
|
43
97
|
export interface OnFolderBeforeCreateTopicParams {
|
|
44
98
|
input: CreateFolderParams;
|
|
45
99
|
}
|
|
@@ -62,11 +116,22 @@ export interface OnFolderAfterDeleteTopicParams {
|
|
|
62
116
|
folder: Folder;
|
|
63
117
|
}
|
|
64
118
|
export interface AcoFolderCrud {
|
|
65
|
-
get(id: string): Promise<Folder>;
|
|
119
|
+
get(id: string, disablePermissions?: boolean): Promise<Folder>;
|
|
66
120
|
list(params: ListFoldersParams): Promise<[Folder[], ListMeta]>;
|
|
121
|
+
listFolderLevelPermissionsTargets(): Promise<[
|
|
122
|
+
FolderLevelPermissionsTarget[],
|
|
123
|
+
FolderLevelPermissionsTargetListMeta
|
|
124
|
+
]>;
|
|
125
|
+
listAll(params: ListAllFoldersParams): Promise<[Folder[], ListMeta]>;
|
|
67
126
|
create(data: CreateFolderParams): Promise<Folder>;
|
|
68
127
|
update(id: string, data: UpdateFolderParams): Promise<Folder>;
|
|
69
|
-
delete(id: string): Promise<
|
|
128
|
+
delete(id: string): Promise<boolean>;
|
|
129
|
+
getAncestors(folder: Folder): Promise<Folder[]>;
|
|
130
|
+
getFolderHierarchy(params: GetFolderHierarchyParams): Promise<GetFolderHierarchyResponse>;
|
|
131
|
+
/**
|
|
132
|
+
* @deprecated use `getAncestors` instead
|
|
133
|
+
*/
|
|
134
|
+
getFolderWithAncestors(id: string): Promise<Folder[]>;
|
|
70
135
|
onFolderBeforeCreate: Topic<OnFolderBeforeCreateTopicParams>;
|
|
71
136
|
onFolderAfterCreate: Topic<OnFolderAfterCreateTopicParams>;
|
|
72
137
|
onFolderBeforeUpdate: Topic<OnFolderBeforeUpdateTopicParams>;
|
package/folder/folder.types.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["folder.types.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"names":[],"sources":["folder.types.ts"],"sourcesContent":["import type { ListMeta, ListSort, User } from \"~/types\";\nimport { type FolderPermission } from \"~/types\";\nimport type { Topic } from \"@webiny/pubsub/types\";\n\nexport interface Folder {\n id: string;\n entryId: string;\n createdOn: string;\n modifiedOn: string | null;\n savedOn: string;\n createdBy: User;\n modifiedBy: User | null;\n savedBy: User;\n title: string;\n slug: string;\n permissions?: FolderPermission[];\n type: string;\n parentId?: string | null;\n path: string;\n extensions?: Record<string, any>;\n}\n\nexport interface ListFoldersWhere {\n type: string;\n id_not_in?: string[];\n parentId?: string | null;\n parentId_in?: string[];\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}\n\nexport interface ListFoldersParams {\n where: ListFoldersWhere;\n sort?: ListSort;\n limit?: number;\n after?: string | null;\n disablePermissions?: boolean;\n}\n\nexport type ListAllFoldersParams = Omit<ListFoldersParams, \"limit\" | \"after\">;\n\nexport interface GetFolderHierarchyParams {\n type: string;\n id: string;\n}\n\nexport interface GetFolderHierarchyResponse {\n parents: Folder[];\n siblings: Folder[];\n}\n\nexport type CreateFolderParams = Pick<Folder, \"title\" | \"slug\" | \"type\" | \"parentId\">;\n\nexport interface UpdateFolderParams {\n title?: string;\n slug?: string;\n permissions?: FolderPermission[];\n parentId?: string;\n}\n\nexport interface DeleteFolderParams {\n id: string;\n}\n\nexport interface FolderLevelPermissionsTarget<TMeta = Record<string, any>> {\n id: string;\n target: string;\n name: string;\n type: string;\n meta: TMeta;\n}\n\nexport interface FolderLevelPermissionsTargetListMeta {\n totalCount: number;\n}\n\nexport interface StorageOperationsGetFolderParams {\n id?: string;\n slug?: string;\n type?: string;\n parentId?: string | null;\n}\n\nexport interface GetFolderParams {\n id: string;\n}\n\nexport type StorageOperationsListFoldersParams = ListFoldersParams;\n\nexport interface StorageOperationsCreateFolderParams {\n data: CreateFolderParams;\n}\n\nexport interface StorageOperationsUpdateFolderParams {\n id: string;\n data: UpdateFolderParams;\n}\n\nexport type StorageOperationsDeleteFolderParams = DeleteFolderParams;\n\nexport interface OnFolderBeforeCreateTopicParams {\n input: CreateFolderParams;\n}\n\nexport interface OnFolderAfterCreateTopicParams {\n folder: Folder;\n}\n\nexport interface OnFolderBeforeUpdateTopicParams {\n original: Folder;\n input: Record<string, any>;\n}\n\nexport interface OnFolderAfterUpdateTopicParams {\n original: Folder;\n folder: Folder;\n input: Record<string, any>;\n}\n\nexport interface OnFolderBeforeDeleteTopicParams {\n folder: Folder;\n}\n\nexport interface OnFolderAfterDeleteTopicParams {\n folder: Folder;\n}\n\nexport interface AcoFolderCrud {\n get(id: string, disablePermissions?: boolean): Promise<Folder>;\n\n list(params: ListFoldersParams): Promise<[Folder[], ListMeta]>;\n\n listFolderLevelPermissionsTargets(): Promise<\n [FolderLevelPermissionsTarget[], FolderLevelPermissionsTargetListMeta]\n >;\n\n listAll(params: ListAllFoldersParams): Promise<[Folder[], ListMeta]>;\n\n create(data: CreateFolderParams): Promise<Folder>;\n\n update(id: string, data: UpdateFolderParams): Promise<Folder>;\n\n delete(id: string): Promise<boolean>;\n\n getAncestors(folder: Folder): Promise<Folder[]>;\n\n getFolderHierarchy(params: GetFolderHierarchyParams): Promise<GetFolderHierarchyResponse>;\n\n /**\n * @deprecated use `getAncestors` instead\n */\n getFolderWithAncestors(id: string): Promise<Folder[]>;\n\n onFolderBeforeCreate: Topic<OnFolderBeforeCreateTopicParams>;\n onFolderAfterCreate: Topic<OnFolderAfterCreateTopicParams>;\n onFolderBeforeUpdate: Topic<OnFolderBeforeUpdateTopicParams>;\n onFolderAfterUpdate: Topic<OnFolderAfterUpdateTopicParams>;\n onFolderBeforeDelete: Topic<OnFolderBeforeDeleteTopicParams>;\n onFolderAfterDelete: Topic<OnFolderAfterDeleteTopicParams>;\n}\n\nexport interface AcoFolderStorageOperations {\n getFolder(params: StorageOperationsGetFolderParams): Promise<Folder>;\n\n listFolders(params: StorageOperationsListFoldersParams): Promise<[Folder[], ListMeta]>;\n\n createFolder(params: StorageOperationsCreateFolderParams): Promise<Folder>;\n\n updateFolder(params: StorageOperationsUpdateFolderParams): Promise<Folder>;\n\n deleteFolder(params: StorageOperationsDeleteFolderParams): Promise<boolean>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.onFolderBeforeDeleteAcoHook = void 0;
|
|
8
|
+
var _error = _interopRequireDefault(require("@webiny/error"));
|
|
9
|
+
var _ensureFolderIsEmpty = require("./ensureFolderIsEmpty");
|
|
10
|
+
const onFolderBeforeDeleteAcoHook = context => {
|
|
11
|
+
context.aco.folder.onFolderBeforeDelete.subscribe(async ({
|
|
12
|
+
folder
|
|
13
|
+
}) => {
|
|
14
|
+
try {
|
|
15
|
+
const {
|
|
16
|
+
id,
|
|
17
|
+
type
|
|
18
|
+
} = folder;
|
|
19
|
+
await (0, _ensureFolderIsEmpty.ensureFolderIsEmpty)({
|
|
20
|
+
context,
|
|
21
|
+
folder,
|
|
22
|
+
hasContentCallback: async () => {
|
|
23
|
+
const content = [];
|
|
24
|
+
try {
|
|
25
|
+
const app = context.aco.getApp(type);
|
|
26
|
+
if (app) {
|
|
27
|
+
const [acoSearchRecords] = await app.search.list({
|
|
28
|
+
where: {
|
|
29
|
+
type,
|
|
30
|
+
location: {
|
|
31
|
+
folderId: id
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
limit: 1
|
|
35
|
+
});
|
|
36
|
+
content.push(...acoSearchRecords);
|
|
37
|
+
}
|
|
38
|
+
} catch {
|
|
39
|
+
// Do nothing.
|
|
40
|
+
}
|
|
41
|
+
return content.length > 0;
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
} catch (error) {
|
|
45
|
+
throw _error.default.from(error, {
|
|
46
|
+
message: "Error while executing onFolderBeforeDeleteAcoHook hook.",
|
|
47
|
+
code: "ACO_BEFORE_FOLDER_DELETE_ACO_HOOK"
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
};
|
|
52
|
+
exports.onFolderBeforeDeleteAcoHook = onFolderBeforeDeleteAcoHook;
|
|
53
|
+
|
|
54
|
+
//# sourceMappingURL=onFolderBeforeDeleteAco.hook.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_error","_interopRequireDefault","require","_ensureFolderIsEmpty","onFolderBeforeDeleteAcoHook","context","aco","folder","onFolderBeforeDelete","subscribe","id","type","ensureFolderIsEmpty","hasContentCallback","content","app","getApp","acoSearchRecords","search","list","where","location","folderId","limit","push","length","error","WebinyError","from","message","code","exports"],"sources":["onFolderBeforeDeleteAco.hook.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport type { AcoContext, SearchRecord } from \"~/types\";\nimport { ensureFolderIsEmpty } from \"~/folder/ensureFolderIsEmpty\";\n\nexport const onFolderBeforeDeleteAcoHook = (context: AcoContext) => {\n context.aco.folder.onFolderBeforeDelete.subscribe(async ({ folder }) => {\n try {\n const { id, type } = folder;\n\n await ensureFolderIsEmpty({\n context,\n folder,\n hasContentCallback: async () => {\n const content: SearchRecord[] = [];\n try {\n const app = context.aco.getApp(type);\n if (app) {\n const [acoSearchRecords] = await app.search.list({\n where: {\n type,\n location: {\n folderId: id\n }\n },\n limit: 1\n });\n content.push(...acoSearchRecords);\n }\n } catch {\n // Do nothing.\n }\n\n return content.length > 0;\n }\n });\n } catch (error) {\n throw WebinyError.from(error, {\n message: \"Error while executing onFolderBeforeDeleteAcoHook hook.\",\n code: \"ACO_BEFORE_FOLDER_DELETE_ACO_HOOK\"\n });\n }\n });\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,oBAAA,GAAAD,OAAA;AAEO,MAAME,2BAA2B,GAAIC,OAAmB,IAAK;EAChEA,OAAO,CAACC,GAAG,CAACC,MAAM,CAACC,oBAAoB,CAACC,SAAS,CAAC,OAAO;IAAEF;EAAO,CAAC,KAAK;IACpE,IAAI;MACA,MAAM;QAAEG,EAAE;QAAEC;MAAK,CAAC,GAAGJ,MAAM;MAE3B,MAAM,IAAAK,wCAAmB,EAAC;QACtBP,OAAO;QACPE,MAAM;QACNM,kBAAkB,EAAE,MAAAA,CAAA,KAAY;UAC5B,MAAMC,OAAuB,GAAG,EAAE;UAClC,IAAI;YACA,MAAMC,GAAG,GAAGV,OAAO,CAACC,GAAG,CAACU,MAAM,CAACL,IAAI,CAAC;YACpC,IAAII,GAAG,EAAE;cACL,MAAM,CAACE,gBAAgB,CAAC,GAAG,MAAMF,GAAG,CAACG,MAAM,CAACC,IAAI,CAAC;gBAC7CC,KAAK,EAAE;kBACHT,IAAI;kBACJU,QAAQ,EAAE;oBACNC,QAAQ,EAAEZ;kBACd;gBACJ,CAAC;gBACDa,KAAK,EAAE;cACX,CAAC,CAAC;cACFT,OAAO,CAACU,IAAI,CAAC,GAAGP,gBAAgB,CAAC;YACrC;UACJ,CAAC,CAAC,MAAM;YACJ;UAAA;UAGJ,OAAOH,OAAO,CAACW,MAAM,GAAG,CAAC;QAC7B;MACJ,CAAC,CAAC;IACN,CAAC,CAAC,OAAOC,KAAK,EAAE;MACZ,MAAMC,cAAW,CAACC,IAAI,CAACF,KAAK,EAAE;QAC1BG,OAAO,EAAE,yDAAyD;QAClEC,IAAI,EAAE;MACV,CAAC,CAAC;IACN;EACJ,CAAC,CAAC;AACN,CAAC;AAACC,OAAA,CAAA3B,2BAAA,GAAAA,2BAAA","ignoreList":[]}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.onFolderBeforeDeleteFmHook = void 0;
|
|
8
|
+
var _error = _interopRequireDefault(require("@webiny/error"));
|
|
9
|
+
var _ensureFolderIsEmpty = require("./ensureFolderIsEmpty");
|
|
10
|
+
const onFolderBeforeDeleteFmHook = context => {
|
|
11
|
+
context.aco.folder.onFolderBeforeDelete.subscribe(async ({
|
|
12
|
+
folder
|
|
13
|
+
}) => {
|
|
14
|
+
try {
|
|
15
|
+
const {
|
|
16
|
+
id,
|
|
17
|
+
type
|
|
18
|
+
} = folder;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Exit if the folder type is not related to File Manager
|
|
22
|
+
*/
|
|
23
|
+
if (type !== "FmFile") {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
await (0, _ensureFolderIsEmpty.ensureFolderIsEmpty)({
|
|
27
|
+
context,
|
|
28
|
+
folder,
|
|
29
|
+
hasContentCallback: async () => {
|
|
30
|
+
const [content] = await context.fileManager.listFiles({
|
|
31
|
+
where: {
|
|
32
|
+
location: {
|
|
33
|
+
folderId: id
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
limit: 1
|
|
37
|
+
});
|
|
38
|
+
return content.length > 0;
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
} catch (error) {
|
|
42
|
+
throw _error.default.from(error, {
|
|
43
|
+
message: "Error while executing onFolderBeforeDeleteFmHook hook.",
|
|
44
|
+
code: "ACO_BEFORE_FOLDER_DELETE_FILE_HOOK"
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
exports.onFolderBeforeDeleteFmHook = onFolderBeforeDeleteFmHook;
|
|
50
|
+
|
|
51
|
+
//# sourceMappingURL=onFolderBeforeDeleteFm.hook.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_error","_interopRequireDefault","require","_ensureFolderIsEmpty","onFolderBeforeDeleteFmHook","context","aco","folder","onFolderBeforeDelete","subscribe","id","type","ensureFolderIsEmpty","hasContentCallback","content","fileManager","listFiles","where","location","folderId","limit","length","error","WebinyError","from","message","code","exports"],"sources":["onFolderBeforeDeleteFm.hook.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport type { AcoContext } from \"~/types\";\nimport { ensureFolderIsEmpty } from \"~/folder/ensureFolderIsEmpty\";\n\nexport const onFolderBeforeDeleteFmHook = (context: AcoContext) => {\n context.aco.folder.onFolderBeforeDelete.subscribe(async ({ folder }) => {\n try {\n const { id, type } = folder;\n\n /**\n * Exit if the folder type is not related to File Manager\n */\n if (type !== \"FmFile\") {\n return;\n }\n\n await ensureFolderIsEmpty({\n context,\n folder,\n hasContentCallback: async () => {\n const [content] = await context.fileManager.listFiles({\n where: {\n location: {\n folderId: id\n }\n },\n limit: 1\n });\n\n return content.length > 0;\n }\n });\n } catch (error) {\n throw WebinyError.from(error, {\n message: \"Error while executing onFolderBeforeDeleteFmHook hook.\",\n code: \"ACO_BEFORE_FOLDER_DELETE_FILE_HOOK\"\n });\n }\n });\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,oBAAA,GAAAD,OAAA;AAEO,MAAME,0BAA0B,GAAIC,OAAmB,IAAK;EAC/DA,OAAO,CAACC,GAAG,CAACC,MAAM,CAACC,oBAAoB,CAACC,SAAS,CAAC,OAAO;IAAEF;EAAO,CAAC,KAAK;IACpE,IAAI;MACA,MAAM;QAAEG,EAAE;QAAEC;MAAK,CAAC,GAAGJ,MAAM;;MAE3B;AACZ;AACA;MACY,IAAII,IAAI,KAAK,QAAQ,EAAE;QACnB;MACJ;MAEA,MAAM,IAAAC,wCAAmB,EAAC;QACtBP,OAAO;QACPE,MAAM;QACNM,kBAAkB,EAAE,MAAAA,CAAA,KAAY;UAC5B,MAAM,CAACC,OAAO,CAAC,GAAG,MAAMT,OAAO,CAACU,WAAW,CAACC,SAAS,CAAC;YAClDC,KAAK,EAAE;cACHC,QAAQ,EAAE;gBACNC,QAAQ,EAAET;cACd;YACJ,CAAC;YACDU,KAAK,EAAE;UACX,CAAC,CAAC;UAEF,OAAON,OAAO,CAACO,MAAM,GAAG,CAAC;QAC7B;MACJ,CAAC,CAAC;IACN,CAAC,CAAC,OAAOC,KAAK,EAAE;MACZ,MAAMC,cAAW,CAACC,IAAI,CAACF,KAAK,EAAE;QAC1BG,OAAO,EAAE,wDAAwD;QACjEC,IAAI,EAAE;MACV,CAAC,CAAC;IACN;EACJ,CAAC,CAAC;AACN,CAAC;AAACC,OAAA,CAAAvB,0BAAA,GAAAA,0BAAA","ignoreList":[]}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.onFolderBeforeDeleteHcmsHook = void 0;
|
|
8
|
+
var _error = _interopRequireDefault(require("@webiny/error"));
|
|
9
|
+
var _ensureFolderIsEmpty = require("./ensureFolderIsEmpty");
|
|
10
|
+
const onFolderBeforeDeleteHcmsHook = context => {
|
|
11
|
+
context.aco.folder.onFolderBeforeDelete.subscribe(async ({
|
|
12
|
+
folder
|
|
13
|
+
}) => {
|
|
14
|
+
try {
|
|
15
|
+
const {
|
|
16
|
+
id,
|
|
17
|
+
type
|
|
18
|
+
} = folder;
|
|
19
|
+
const modelId = type.split(":")[1];
|
|
20
|
+
if (!modelId) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
let model;
|
|
24
|
+
try {
|
|
25
|
+
model = await context.cms.getModel(modelId);
|
|
26
|
+
if (!model) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
} catch {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
await (0, _ensureFolderIsEmpty.ensureFolderIsEmpty)({
|
|
33
|
+
context,
|
|
34
|
+
folder,
|
|
35
|
+
hasContentCallback: async () => {
|
|
36
|
+
const [content] = await context.cms.listEntries(model, {
|
|
37
|
+
where: {
|
|
38
|
+
latest: true,
|
|
39
|
+
wbyAco_location: {
|
|
40
|
+
folderId: id
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
limit: 1
|
|
44
|
+
});
|
|
45
|
+
return content.length > 0;
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
} catch (error) {
|
|
49
|
+
throw _error.default.from(error, {
|
|
50
|
+
message: "Error while executing onFolderBeforeDeleteHcmsHook hook.",
|
|
51
|
+
code: "ACO_BEFORE_FOLDER_DELETE_HCMS_HOOK"
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
};
|
|
56
|
+
exports.onFolderBeforeDeleteHcmsHook = onFolderBeforeDeleteHcmsHook;
|
|
57
|
+
|
|
58
|
+
//# sourceMappingURL=onFolderBeforeDeleteHcms.hook.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_error","_interopRequireDefault","require","_ensureFolderIsEmpty","onFolderBeforeDeleteHcmsHook","context","aco","folder","onFolderBeforeDelete","subscribe","id","type","modelId","split","model","cms","getModel","ensureFolderIsEmpty","hasContentCallback","content","listEntries","where","latest","wbyAco_location","folderId","limit","length","error","WebinyError","from","message","code","exports"],"sources":["onFolderBeforeDeleteHcms.hook.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport type { CmsModel } from \"@webiny/api-headless-cms/types\";\nimport type { AcoContext } from \"~/types\";\nimport { ensureFolderIsEmpty } from \"~/folder/ensureFolderIsEmpty\";\n\nexport const onFolderBeforeDeleteHcmsHook = (context: AcoContext) => {\n context.aco.folder.onFolderBeforeDelete.subscribe(async ({ folder }) => {\n try {\n const { id, type } = folder;\n\n const modelId = type.split(\":\")[1];\n if (!modelId) {\n return;\n }\n\n let model: CmsModel;\n try {\n model = await context.cms.getModel(modelId);\n if (!model) {\n return;\n }\n } catch {\n return;\n }\n\n await ensureFolderIsEmpty({\n context,\n folder,\n hasContentCallback: async () => {\n const [content] = await context.cms.listEntries(model!, {\n where: {\n latest: true,\n wbyAco_location: {\n folderId: id\n }\n },\n limit: 1\n });\n return content.length > 0;\n }\n });\n } catch (error) {\n throw WebinyError.from(error, {\n message: \"Error while executing onFolderBeforeDeleteHcmsHook hook.\",\n code: \"ACO_BEFORE_FOLDER_DELETE_HCMS_HOOK\"\n });\n }\n });\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAGA,IAAAC,oBAAA,GAAAD,OAAA;AAEO,MAAME,4BAA4B,GAAIC,OAAmB,IAAK;EACjEA,OAAO,CAACC,GAAG,CAACC,MAAM,CAACC,oBAAoB,CAACC,SAAS,CAAC,OAAO;IAAEF;EAAO,CAAC,KAAK;IACpE,IAAI;MACA,MAAM;QAAEG,EAAE;QAAEC;MAAK,CAAC,GAAGJ,MAAM;MAE3B,MAAMK,OAAO,GAAGD,IAAI,CAACE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;MAClC,IAAI,CAACD,OAAO,EAAE;QACV;MACJ;MAEA,IAAIE,KAAe;MACnB,IAAI;QACAA,KAAK,GAAG,MAAMT,OAAO,CAACU,GAAG,CAACC,QAAQ,CAACJ,OAAO,CAAC;QAC3C,IAAI,CAACE,KAAK,EAAE;UACR;QACJ;MACJ,CAAC,CAAC,MAAM;QACJ;MACJ;MAEA,MAAM,IAAAG,wCAAmB,EAAC;QACtBZ,OAAO;QACPE,MAAM;QACNW,kBAAkB,EAAE,MAAAA,CAAA,KAAY;UAC5B,MAAM,CAACC,OAAO,CAAC,GAAG,MAAMd,OAAO,CAACU,GAAG,CAACK,WAAW,CAACN,KAAK,EAAG;YACpDO,KAAK,EAAE;cACHC,MAAM,EAAE,IAAI;cACZC,eAAe,EAAE;gBACbC,QAAQ,EAAEd;cACd;YACJ,CAAC;YACDe,KAAK,EAAE;UACX,CAAC,CAAC;UACF,OAAON,OAAO,CAACO,MAAM,GAAG,CAAC;QAC7B;MACJ,CAAC,CAAC;IACN,CAAC,CAAC,OAAOC,KAAK,EAAE;MACZ,MAAMC,cAAW,CAACC,IAAI,CAACF,KAAK,EAAE;QAC1BG,OAAO,EAAE,0DAA0D;QACnEC,IAAI,EAAE;MACV,CAAC,CAAC;IACN;EACJ,CAAC,CAAC;AACN,CAAC;AAACC,OAAA,CAAA5B,4BAAA,GAAAA,4BAAA","ignoreList":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ICreateFolder } from "./ICreateFolder";
|
|
2
|
+
import type { AcoFolderStorageOperations, CreateFolderParams } from "../../folder.types";
|
|
3
|
+
export declare class CreateFolder implements ICreateFolder {
|
|
4
|
+
private readonly createOperation;
|
|
5
|
+
constructor(createOperation: AcoFolderStorageOperations["createFolder"]);
|
|
6
|
+
execute(params: CreateFolderParams): Promise<import("../../folder.types").Folder>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.CreateFolder = void 0;
|
|
7
|
+
class CreateFolder {
|
|
8
|
+
constructor(createOperation) {
|
|
9
|
+
this.createOperation = createOperation;
|
|
10
|
+
}
|
|
11
|
+
async execute(params) {
|
|
12
|
+
return await this.createOperation({
|
|
13
|
+
data: params
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.CreateFolder = CreateFolder;
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=CreateFolder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["CreateFolder","constructor","createOperation","execute","params","data","exports"],"sources":["CreateFolder.ts"],"sourcesContent":["import type { ICreateFolder } from \"./ICreateFolder\";\nimport type { AcoFolderStorageOperations, CreateFolderParams } from \"~/folder/folder.types\";\n\nexport class CreateFolder implements ICreateFolder {\n private readonly createOperation: AcoFolderStorageOperations[\"createFolder\"];\n\n constructor(createOperation: AcoFolderStorageOperations[\"createFolder\"]) {\n this.createOperation = createOperation;\n }\n\n async execute(params: CreateFolderParams) {\n return await this.createOperation({ data: params });\n }\n}\n"],"mappings":";;;;;;AAGO,MAAMA,YAAY,CAA0B;EAG/CC,WAAWA,CAACC,eAA2D,EAAE;IACrE,IAAI,CAACA,eAAe,GAAGA,eAAe;EAC1C;EAEA,MAAMC,OAAOA,CAACC,MAA0B,EAAE;IACtC,OAAO,MAAM,IAAI,CAACF,eAAe,CAAC;MAAEG,IAAI,EAAED;IAAO,CAAC,CAAC;EACvD;AACJ;AAACE,OAAA,CAAAN,YAAA,GAAAA,YAAA","ignoreList":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ICreateFolder } from "./ICreateFolder";
|
|
2
|
+
import type { CreateFolderUseCasesTopics } from "./index";
|
|
3
|
+
import type { CreateFolderParams } from "../../folder.types";
|
|
4
|
+
export declare class CreateFolderWithEvents implements ICreateFolder {
|
|
5
|
+
private topics;
|
|
6
|
+
private readonly decoretee;
|
|
7
|
+
constructor(topics: CreateFolderUseCasesTopics, decoretee: ICreateFolder);
|
|
8
|
+
execute(params: CreateFolderParams): Promise<import("../../folder.types").Folder>;
|
|
9
|
+
}
|