@webiny/api-aco 6.0.0 → 6.1.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/exports/api/aco/flp.d.ts +6 -0
  2. package/exports/api/aco/flp.js +8 -0
  3. package/exports/api/aco/flp.js.map +1 -0
  4. package/exports/api/aco/folder.d.ts +10 -0
  5. package/exports/api/aco/folder.js +12 -0
  6. package/exports/api/aco/folder.js.map +1 -0
  7. package/features/flp/CreateFlp/abstractions.d.ts +1 -0
  8. package/features/flp/CreateFlp/abstractions.js +1 -0
  9. package/features/flp/CreateFlp/abstractions.js.map +1 -1
  10. package/features/flp/DeleteFlp/abstractions.d.ts +1 -0
  11. package/features/flp/DeleteFlp/abstractions.js +1 -0
  12. package/features/flp/DeleteFlp/abstractions.js.map +1 -1
  13. package/features/flp/FolderLevelPermissions/abstractions.d.ts +1 -0
  14. package/features/flp/FolderLevelPermissions/abstractions.js +1 -0
  15. package/features/flp/FolderLevelPermissions/abstractions.js.map +1 -1
  16. package/features/flp/GetFlp/abstractions.d.ts +1 -0
  17. package/features/flp/GetFlp/abstractions.js +1 -0
  18. package/features/flp/GetFlp/abstractions.js.map +1 -1
  19. package/features/flp/ListFlps/abstractions.d.ts +1 -0
  20. package/features/flp/ListFlps/abstractions.js +1 -0
  21. package/features/flp/ListFlps/abstractions.js.map +1 -1
  22. package/features/flp/UpdateFlp/abstractions.d.ts +1 -0
  23. package/features/flp/UpdateFlp/abstractions.js +1 -0
  24. package/features/flp/UpdateFlp/abstractions.js.map +1 -1
  25. package/features/folder/CreateFolder/abstractions.d.ts +4 -0
  26. package/features/folder/CreateFolder/abstractions.js +4 -0
  27. package/features/folder/CreateFolder/abstractions.js.map +1 -1
  28. package/features/folder/DeleteFolder/abstractions.d.ts +4 -0
  29. package/features/folder/DeleteFolder/abstractions.js +4 -0
  30. package/features/folder/DeleteFolder/abstractions.js.map +1 -1
  31. package/features/folder/EnsureFolderIsEmpty/abstractions.d.ts +1 -0
  32. package/features/folder/EnsureFolderIsEmpty/abstractions.js +1 -0
  33. package/features/folder/EnsureFolderIsEmpty/abstractions.js.map +1 -1
  34. package/features/folder/GetAncestors/abstractions.d.ts +2 -0
  35. package/features/folder/GetAncestors/abstractions.js +2 -0
  36. package/features/folder/GetAncestors/abstractions.js.map +1 -1
  37. package/features/folder/GetFolder/abstractions.d.ts +3 -0
  38. package/features/folder/GetFolder/abstractions.js +3 -0
  39. package/features/folder/GetFolder/abstractions.js.map +1 -1
  40. package/features/folder/GetFolderHierarchy/abstractions.d.ts +2 -0
  41. package/features/folder/GetFolderHierarchy/abstractions.js +2 -0
  42. package/features/folder/GetFolderHierarchy/abstractions.js.map +1 -1
  43. package/features/folder/ListFolderLevelPermissionsTargets/abstractions.d.ts +1 -0
  44. package/features/folder/ListFolderLevelPermissionsTargets/abstractions.js +1 -0
  45. package/features/folder/ListFolderLevelPermissionsTargets/abstractions.js.map +1 -1
  46. package/features/folder/ListFolders/abstractions.d.ts +2 -0
  47. package/features/folder/ListFolders/abstractions.js +2 -0
  48. package/features/folder/ListFolders/abstractions.js.map +1 -1
  49. package/features/folder/UpdateFolder/abstractions.d.ts +4 -0
  50. package/features/folder/UpdateFolder/abstractions.js +4 -0
  51. package/features/folder/UpdateFolder/abstractions.js.map +1 -1
  52. package/features/folder/shared/abstractions.d.ts +1 -0
  53. package/features/folder/shared/abstractions.js +1 -0
  54. package/features/folder/shared/abstractions.js.map +1 -1
  55. package/package.json +24 -24
  56. package/utils/ensureAuthentication.js +1 -1
  57. package/utils/ensureAuthentication.js.map +1 -1
  58. package/utils/acoRecordId.d.ts +0 -6
  59. package/utils/acoRecordId.js +0 -27
  60. package/utils/acoRecordId.js.map +0 -1
@@ -0,0 +1,6 @@
1
+ export { CreateFlpUseCase } from "../../../features/flp/CreateFlp/abstractions.js";
2
+ export { DeleteFlpUseCase } from "../../../features/flp/DeleteFlp/abstractions.js";
3
+ export { FolderLevelPermissions } from "../../../features/flp/FolderLevelPermissions/abstractions.js";
4
+ export { GetFlpUseCase } from "../../../features/flp/GetFlp/abstractions.js";
5
+ export { ListFlpsUseCase } from "../../../features/flp/ListFlps/abstractions.js";
6
+ export { UpdateFlpUseCase } from "../../../features/flp/UpdateFlp/abstractions.js";
@@ -0,0 +1,8 @@
1
+ export { CreateFlpUseCase } from "../../../features/flp/CreateFlp/abstractions.js";
2
+ export { DeleteFlpUseCase } from "../../../features/flp/DeleteFlp/abstractions.js";
3
+ export { FolderLevelPermissions } from "../../../features/flp/FolderLevelPermissions/abstractions.js";
4
+ export { GetFlpUseCase } from "../../../features/flp/GetFlp/abstractions.js";
5
+ export { ListFlpsUseCase } from "../../../features/flp/ListFlps/abstractions.js";
6
+ export { UpdateFlpUseCase } from "../../../features/flp/UpdateFlp/abstractions.js";
7
+
8
+ //# sourceMappingURL=flp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CreateFlpUseCase","DeleteFlpUseCase","FolderLevelPermissions","GetFlpUseCase","ListFlpsUseCase","UpdateFlpUseCase"],"sources":["flp.ts"],"sourcesContent":["export { CreateFlpUseCase } from \"~/features/flp/CreateFlp/abstractions.js\";\nexport { DeleteFlpUseCase } from \"~/features/flp/DeleteFlp/abstractions.js\";\nexport { FolderLevelPermissions } from \"~/features/flp/FolderLevelPermissions/abstractions.js\";\nexport { GetFlpUseCase } from \"~/features/flp/GetFlp/abstractions.js\";\nexport { ListFlpsUseCase } from \"~/features/flp/ListFlps/abstractions.js\";\nexport { UpdateFlpUseCase } from \"~/features/flp/UpdateFlp/abstractions.js\";\n"],"mappings":"AAAA,SAASA,gBAAgB;AACzB,SAASC,gBAAgB;AACzB,SAASC,sBAAsB;AAC/B,SAASC,aAAa;AACtB,SAASC,eAAe;AACxB,SAASC,gBAAgB","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ export { GetAncestorsRepository, GetAncestorsUseCase } from "../../../features/folder/GetAncestors/abstractions.js";
2
+ export { GetFolderUseCase, FolderAfterGetEventHandler, FolderBeforeGetEventHandler } from "../../../features/folder/GetFolder/abstractions.js";
3
+ export { GetFolderHierarchyRepository, GetFolderHierarchyUseCase } from "../../../features/folder/GetFolderHierarchy/abstractions.js";
4
+ export { ListFolderLevelPermissionsTargetsUseCase } from "../../../features/folder/ListFolderLevelPermissionsTargets/abstractions.js";
5
+ export { FolderAfterCreateEventHandler, FolderBeforeCreateEventHandler, CreateFolderRepository, CreateFolderUseCase } from "../../../features/folder/CreateFolder/abstractions.js";
6
+ export { FolderAfterDeleteEventHandler, FolderBeforeDeleteEventHandler, DeleteFolderRepository, DeleteFolderUseCase } from "../../../features/folder/DeleteFolder/abstractions.js";
7
+ export { FolderAfterUpdateEventHandler, FolderBeforeUpdateEventHandler, UpdateFolderRepository, UpdateFolderUseCase } from "../../../features/folder/UpdateFolder/abstractions.js";
8
+ export { EnsureFolderIsEmpty } from "../../../features/folder/EnsureFolderIsEmpty/abstractions.js";
9
+ export { ListFoldersUseCase, ListFoldersRepository } from "../../../features/folder/ListFolders/abstractions.js";
10
+ export { FilterStorageOperations } from "../../../features/folder/shared/abstractions.js";
@@ -0,0 +1,12 @@
1
+ export { GetAncestorsRepository, GetAncestorsUseCase } from "../../../features/folder/GetAncestors/abstractions.js";
2
+ export { GetFolderUseCase, FolderAfterGetEventHandler, FolderBeforeGetEventHandler } from "../../../features/folder/GetFolder/abstractions.js";
3
+ export { GetFolderHierarchyRepository, GetFolderHierarchyUseCase } from "../../../features/folder/GetFolderHierarchy/abstractions.js";
4
+ export { ListFolderLevelPermissionsTargetsUseCase } from "../../../features/folder/ListFolderLevelPermissionsTargets/abstractions.js";
5
+ export { FolderAfterCreateEventHandler, FolderBeforeCreateEventHandler, CreateFolderRepository, CreateFolderUseCase } from "../../../features/folder/CreateFolder/abstractions.js";
6
+ export { FolderAfterDeleteEventHandler, FolderBeforeDeleteEventHandler, DeleteFolderRepository, DeleteFolderUseCase } from "../../../features/folder/DeleteFolder/abstractions.js";
7
+ export { FolderAfterUpdateEventHandler, FolderBeforeUpdateEventHandler, UpdateFolderRepository, UpdateFolderUseCase } from "../../../features/folder/UpdateFolder/abstractions.js";
8
+ export { EnsureFolderIsEmpty } from "../../../features/folder/EnsureFolderIsEmpty/abstractions.js";
9
+ export { ListFoldersUseCase, ListFoldersRepository } from "../../../features/folder/ListFolders/abstractions.js";
10
+ export { FilterStorageOperations } from "../../../features/folder/shared/abstractions.js";
11
+
12
+ //# sourceMappingURL=folder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["GetAncestorsRepository","GetAncestorsUseCase","GetFolderUseCase","FolderAfterGetEventHandler","FolderBeforeGetEventHandler","GetFolderHierarchyRepository","GetFolderHierarchyUseCase","ListFolderLevelPermissionsTargetsUseCase","FolderAfterCreateEventHandler","FolderBeforeCreateEventHandler","CreateFolderRepository","CreateFolderUseCase","FolderAfterDeleteEventHandler","FolderBeforeDeleteEventHandler","DeleteFolderRepository","DeleteFolderUseCase","FolderAfterUpdateEventHandler","FolderBeforeUpdateEventHandler","UpdateFolderRepository","UpdateFolderUseCase","EnsureFolderIsEmpty","ListFoldersUseCase","ListFoldersRepository","FilterStorageOperations"],"sources":["folder.ts"],"sourcesContent":["export {\n GetAncestorsRepository,\n GetAncestorsUseCase\n} from \"~/features/folder/GetAncestors/abstractions.js\";\n\nexport {\n GetFolderUseCase,\n FolderAfterGetEventHandler,\n FolderBeforeGetEventHandler\n} from \"~/features/folder/GetFolder/abstractions.js\";\n\nexport {\n GetFolderHierarchyRepository,\n GetFolderHierarchyUseCase\n} from \"~/features/folder/GetFolderHierarchy/abstractions.js\";\n\nexport { ListFolderLevelPermissionsTargetsUseCase } from \"~/features/folder/ListFolderLevelPermissionsTargets/abstractions.js\";\n\nexport {\n FolderAfterCreateEventHandler,\n FolderBeforeCreateEventHandler,\n CreateFolderRepository,\n CreateFolderUseCase\n} from \"~/features/folder/CreateFolder/abstractions.js\";\nexport {\n FolderAfterDeleteEventHandler,\n FolderBeforeDeleteEventHandler,\n DeleteFolderRepository,\n DeleteFolderUseCase\n} from \"~/features/folder/DeleteFolder/abstractions.js\";\n\nexport {\n FolderAfterUpdateEventHandler,\n FolderBeforeUpdateEventHandler,\n UpdateFolderRepository,\n UpdateFolderUseCase\n} from \"~/features/folder/UpdateFolder/abstractions.js\";\n\nexport { EnsureFolderIsEmpty } from \"~/features/folder/EnsureFolderIsEmpty/abstractions.js\";\n\nexport {\n ListFoldersUseCase,\n ListFoldersRepository\n} from \"~/features/folder/ListFolders/abstractions.js\";\n\nexport { FilterStorageOperations } from \"~/features/folder/shared/abstractions.js\";\n"],"mappings":"AAAA,SACIA,sBAAsB,EACtBC,mBAAmB;AAGvB,SACIC,gBAAgB,EAChBC,0BAA0B,EAC1BC,2BAA2B;AAG/B,SACIC,4BAA4B,EAC5BC,yBAAyB;AAG7B,SAASC,wCAAwC;AAEjD,SACIC,6BAA6B,EAC7BC,8BAA8B,EAC9BC,sBAAsB,EACtBC,mBAAmB;AAEvB,SACIC,6BAA6B,EAC7BC,8BAA8B,EAC9BC,sBAAsB,EACtBC,mBAAmB;AAGvB,SACIC,6BAA6B,EAC7BC,8BAA8B,EAC9BC,sBAAsB,EACtBC,mBAAmB;AAGvB,SAASC,mBAAmB;AAE5B,SACIC,kBAAkB,EAClBC,qBAAqB;AAGzB,SAASC,uBAAuB","ignoreList":[]}
@@ -2,6 +2,7 @@ import type { Folder } from "../../../folder/folder.types.js";
2
2
  export interface ICreateFlpUseCase {
3
3
  execute: (folder: Folder) => Promise<void>;
4
4
  }
5
+ /** Create a folder-level permission. */
5
6
  export declare const CreateFlpUseCase: import("@webiny/di").Abstraction<ICreateFlpUseCase>;
6
7
  export declare namespace CreateFlpUseCase {
7
8
  type Interface = ICreateFlpUseCase;
@@ -2,6 +2,7 @@ import { createAbstraction } from "@webiny/feature/api";
2
2
 
3
3
  // Use Case Abstraction
4
4
 
5
+ /** Create a folder-level permission. */
5
6
  export const CreateFlpUseCase = createAbstraction("CreateFlpUseCase");
6
7
 
7
8
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","CreateFlpUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Folder } from \"~/folder/folder.types.js\";\n\n// Use Case Abstraction\nexport interface ICreateFlpUseCase {\n execute: (folder: Folder) => Promise<void>;\n}\n\nexport const CreateFlpUseCase = createAbstraction<ICreateFlpUseCase>(\"CreateFlpUseCase\");\n\nexport namespace CreateFlpUseCase {\n export type Interface = ICreateFlpUseCase;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAGvD;;AAKA,OAAO,MAAMC,gBAAgB,GAAGD,iBAAiB,CAAoB,kBAAkB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createAbstraction","CreateFlpUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Folder } from \"~/folder/folder.types.js\";\n\n// Use Case Abstraction\nexport interface ICreateFlpUseCase {\n execute: (folder: Folder) => Promise<void>;\n}\n\n/** Create a folder-level permission. */\nexport const CreateFlpUseCase = createAbstraction<ICreateFlpUseCase>(\"CreateFlpUseCase\");\n\nexport namespace CreateFlpUseCase {\n export type Interface = ICreateFlpUseCase;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAGvD;;AAKA;AACA,OAAO,MAAMC,gBAAgB,GAAGD,iBAAiB,CAAoB,kBAAkB,CAAC","ignoreList":[]}
@@ -2,6 +2,7 @@ import type { Folder } from "../../../folder/folder.types.js";
2
2
  export interface IDeleteFlpUseCase {
3
3
  execute: (folder: Folder) => Promise<void>;
4
4
  }
5
+ /** Delete a folder-level permission. */
5
6
  export declare const DeleteFlpUseCase: import("@webiny/di").Abstraction<IDeleteFlpUseCase>;
6
7
  export declare namespace DeleteFlpUseCase {
7
8
  type Interface = IDeleteFlpUseCase;
@@ -2,6 +2,7 @@ import { createAbstraction } from "@webiny/feature/api";
2
2
 
3
3
  // Use Case Abstraction
4
4
 
5
+ /** Delete a folder-level permission. */
5
6
  export const DeleteFlpUseCase = createAbstraction("DeleteFlpUseCase");
6
7
 
7
8
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","DeleteFlpUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Folder } from \"~/folder/folder.types.js\";\n\n// Use Case Abstraction\nexport interface IDeleteFlpUseCase {\n execute: (folder: Folder) => Promise<void>;\n}\n\nexport const DeleteFlpUseCase = createAbstraction<IDeleteFlpUseCase>(\"DeleteFlpUseCase\");\n\nexport namespace DeleteFlpUseCase {\n export type Interface = IDeleteFlpUseCase;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAGvD;;AAKA,OAAO,MAAMC,gBAAgB,GAAGD,iBAAiB,CAAoB,kBAAkB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createAbstraction","DeleteFlpUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Folder } from \"~/folder/folder.types.js\";\n\n// Use Case Abstraction\nexport interface IDeleteFlpUseCase {\n execute: (folder: Folder) => Promise<void>;\n}\n\n/** Delete a folder-level permission. */\nexport const DeleteFlpUseCase = createAbstraction<IDeleteFlpUseCase>(\"DeleteFlpUseCase\");\n\nexport namespace DeleteFlpUseCase {\n export type Interface = IDeleteFlpUseCase;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAGvD;;AAKA;AACA,OAAO,MAAMC,gBAAgB,GAAGD,iBAAiB,CAAoB,kBAAkB,CAAC","ignoreList":[]}
@@ -19,6 +19,7 @@ export interface IFolderLevelPermissions {
19
19
  }>>;
20
20
  getFolderLevelPermissions(id: string): Promise<FolderPermission[]>;
21
21
  }
22
+ /** Manage folder-level access control. */
22
23
  export declare const FolderLevelPermissions: import("@webiny/di").Abstraction<IFolderLevelPermissions>;
23
24
  export declare namespace FolderLevelPermissions {
24
25
  type Interface = IFolderLevelPermissions;
@@ -1,4 +1,5 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
+ /** Manage folder-level access control. */
2
3
  export const FolderLevelPermissions = createAbstraction("FolderLevelPermissions");
3
4
 
4
5
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","FolderLevelPermissions"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { CanAccessFolderContentParams, CanAccessFolderParams } from \"./useCases/index.js\";\nimport type { FolderLevelPermission, FolderPermission, ListFlpsParams } from \"~/types.js\";\n\nexport interface IFolderLevelPermissions {\n canUseFolderLevelPermissions(enabled?: boolean): boolean;\n canUseTeams(): boolean;\n canCreateFolderInRoot(): boolean;\n permissionsIncludeNonInheritedPermissions(permissions: FolderPermission[]): boolean;\n canAccessFolder(params: CanAccessFolderParams): Promise<boolean>;\n canAccessFolderContent(params: CanAccessFolderContentParams): Promise<boolean>;\n ensureCanAccessFolder(params: CanAccessFolderParams): Promise<void>;\n ensureCanAccessFolderContent(params: CanAccessFolderContentParams): Promise<void>;\n canManageFolderContent(flp: FolderLevelPermission): Promise<boolean>;\n canManageFolderStructure(flp: FolderLevelPermission): Promise<boolean>;\n canManageFolderPermissions(flp: FolderLevelPermission): Promise<boolean>;\n getDefaultPermissions(permissions: FolderPermission[]): Promise<FolderPermission[]>;\n listFolderLevelPermissions(params: ListFlpsParams): Promise<\n Array<{\n id: string;\n permissions: FolderPermission[];\n }>\n >;\n getFolderLevelPermissions(id: string): Promise<FolderPermission[]>;\n}\n\nexport const FolderLevelPermissions =\n createAbstraction<IFolderLevelPermissions>(\"FolderLevelPermissions\");\n\nexport namespace FolderLevelPermissions {\n export type Interface = IFolderLevelPermissions;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AA0BvD,OAAO,MAAMC,sBAAsB,GAC/BD,iBAAiB,CAA0B,wBAAwB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createAbstraction","FolderLevelPermissions"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { CanAccessFolderContentParams, CanAccessFolderParams } from \"./useCases/index.js\";\nimport type { FolderLevelPermission, FolderPermission, ListFlpsParams } from \"~/types.js\";\n\nexport interface IFolderLevelPermissions {\n canUseFolderLevelPermissions(enabled?: boolean): boolean;\n canUseTeams(): boolean;\n canCreateFolderInRoot(): boolean;\n permissionsIncludeNonInheritedPermissions(permissions: FolderPermission[]): boolean;\n canAccessFolder(params: CanAccessFolderParams): Promise<boolean>;\n canAccessFolderContent(params: CanAccessFolderContentParams): Promise<boolean>;\n ensureCanAccessFolder(params: CanAccessFolderParams): Promise<void>;\n ensureCanAccessFolderContent(params: CanAccessFolderContentParams): Promise<void>;\n canManageFolderContent(flp: FolderLevelPermission): Promise<boolean>;\n canManageFolderStructure(flp: FolderLevelPermission): Promise<boolean>;\n canManageFolderPermissions(flp: FolderLevelPermission): Promise<boolean>;\n getDefaultPermissions(permissions: FolderPermission[]): Promise<FolderPermission[]>;\n listFolderLevelPermissions(params: ListFlpsParams): Promise<\n Array<{\n id: string;\n permissions: FolderPermission[];\n }>\n >;\n getFolderLevelPermissions(id: string): Promise<FolderPermission[]>;\n}\n\n/** Manage folder-level access control. */\nexport const FolderLevelPermissions =\n createAbstraction<IFolderLevelPermissions>(\"FolderLevelPermissions\");\n\nexport namespace FolderLevelPermissions {\n export type Interface = IFolderLevelPermissions;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AA0BvD;AACA,OAAO,MAAMC,sBAAsB,GAC/BD,iBAAiB,CAA0B,wBAAwB,CAAC","ignoreList":[]}
@@ -2,6 +2,7 @@ import type { FolderLevelPermission } from "../../../types.js";
2
2
  export interface IGetFolderPermission {
3
3
  execute: (id: string) => Promise<FolderLevelPermission | null>;
4
4
  }
5
+ /** Retrieve a folder-level permission. */
5
6
  export declare const GetFlpUseCase: import("@webiny/di").Abstraction<IGetFolderPermission>;
6
7
  export declare namespace GetFlpUseCase {
7
8
  type Interface = IGetFolderPermission;
@@ -1,4 +1,5 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
+ /** Retrieve a folder-level permission. */
2
3
  export const GetFlpUseCase = createAbstraction("GetFlpUseCase");
3
4
 
4
5
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","GetFlpUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { FolderLevelPermission } from \"~/types.js\";\n\nexport interface IGetFolderPermission {\n execute: (id: string) => Promise<FolderLevelPermission | null>;\n}\n\nexport const GetFlpUseCase = createAbstraction<IGetFolderPermission>(\"GetFlpUseCase\");\n\nexport namespace GetFlpUseCase {\n export type Interface = IGetFolderPermission;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAOvD,OAAO,MAAMC,aAAa,GAAGD,iBAAiB,CAAuB,eAAe,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createAbstraction","GetFlpUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { FolderLevelPermission } from \"~/types.js\";\n\nexport interface IGetFolderPermission {\n execute: (id: string) => Promise<FolderLevelPermission | null>;\n}\n\n/** Retrieve a folder-level permission. */\nexport const GetFlpUseCase = createAbstraction<IGetFolderPermission>(\"GetFlpUseCase\");\n\nexport namespace GetFlpUseCase {\n export type Interface = IGetFolderPermission;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAOvD;AACA,OAAO,MAAMC,aAAa,GAAGD,iBAAiB,CAAuB,eAAe,CAAC","ignoreList":[]}
@@ -9,6 +9,7 @@ interface ListFlpsParams {
9
9
  export interface IListFlps {
10
10
  execute: (params: ListFlpsParams) => Promise<FolderLevelPermission[]>;
11
11
  }
12
+ /** List folder-level permissions. */
12
13
  export declare const ListFlpsUseCase: import("@webiny/di").Abstraction<IListFlps>;
13
14
  export declare namespace ListFlpsUseCase {
14
15
  type Interface = IListFlps;
@@ -1,4 +1,5 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
+ /** List folder-level permissions. */
2
3
  export const ListFlpsUseCase = createAbstraction("ListFlpsUseCase");
3
4
 
4
5
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","ListFlpsUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { FolderLevelPermission } from \"~/types.js\";\n\ninterface ListFlpsParams {\n where: {\n path_startsWith?: string;\n parentId?: string;\n type: string;\n };\n}\n\nexport interface IListFlps {\n execute: (params: ListFlpsParams) => Promise<FolderLevelPermission[]>;\n}\n\nexport const ListFlpsUseCase = createAbstraction<IListFlps>(\"ListFlpsUseCase\");\n\nexport namespace ListFlpsUseCase {\n export type Interface = IListFlps;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAevD,OAAO,MAAMC,eAAe,GAAGD,iBAAiB,CAAY,iBAAiB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createAbstraction","ListFlpsUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { FolderLevelPermission } from \"~/types.js\";\n\ninterface ListFlpsParams {\n where: {\n path_startsWith?: string;\n parentId?: string;\n type: string;\n };\n}\n\nexport interface IListFlps {\n execute: (params: ListFlpsParams) => Promise<FolderLevelPermission[]>;\n}\n\n/** List folder-level permissions. */\nexport const ListFlpsUseCase = createAbstraction<IListFlps>(\"ListFlpsUseCase\");\n\nexport namespace ListFlpsUseCase {\n export type Interface = IListFlps;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAevD;AACA,OAAO,MAAMC,eAAe,GAAGD,iBAAiB,CAAY,iBAAiB,CAAC","ignoreList":[]}
@@ -8,6 +8,7 @@ export interface UpdateFlpParams {
8
8
  export interface IUpdateFlpUseCase {
9
9
  execute: (params: UpdateFlpParams) => Promise<void>;
10
10
  }
11
+ /** Update a folder-level permission. */
11
12
  export declare const UpdateFlpUseCase: import("@webiny/di").Abstraction<IUpdateFlpUseCase>;
12
13
  export declare namespace UpdateFlpUseCase {
13
14
  type Interface = IUpdateFlpUseCase;
@@ -2,6 +2,7 @@ import { createAbstraction } from "@webiny/feature/api";
2
2
 
3
3
  // Use Case Abstraction
4
4
 
5
+ /** Update a folder-level permission. */
5
6
  export const UpdateFlpUseCase = createAbstraction("UpdateFlpUseCase");
6
7
 
7
8
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","UpdateFlpUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Folder } from \"~/folder/folder.types.js\";\n\nexport interface UpdateFlpParams {\n folder: Folder;\n queued?: string[];\n isCloseToTimeout?: () => boolean;\n handleTimeout?: (queued: string[]) => void;\n}\n\n// Use Case Abstraction\nexport interface IUpdateFlpUseCase {\n execute: (params: UpdateFlpParams) => Promise<void>;\n}\n\nexport const UpdateFlpUseCase = createAbstraction<IUpdateFlpUseCase>(\"UpdateFlpUseCase\");\n\nexport namespace UpdateFlpUseCase {\n export type Interface = IUpdateFlpUseCase;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAUvD;;AAKA,OAAO,MAAMC,gBAAgB,GAAGD,iBAAiB,CAAoB,kBAAkB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createAbstraction","UpdateFlpUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Folder } from \"~/folder/folder.types.js\";\n\nexport interface UpdateFlpParams {\n folder: Folder;\n queued?: string[];\n isCloseToTimeout?: () => boolean;\n handleTimeout?: (queued: string[]) => void;\n}\n\n// Use Case Abstraction\nexport interface IUpdateFlpUseCase {\n execute: (params: UpdateFlpParams) => Promise<void>;\n}\n\n/** Update a folder-level permission. */\nexport const UpdateFlpUseCase = createAbstraction<IUpdateFlpUseCase>(\"UpdateFlpUseCase\");\n\nexport namespace UpdateFlpUseCase {\n export type Interface = IUpdateFlpUseCase;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAUvD;;AAKA;AACA,OAAO,MAAMC,gBAAgB,GAAGD,iBAAiB,CAAoB,kBAAkB,CAAC","ignoreList":[]}
@@ -13,6 +13,7 @@ export interface ICreateFolderRepositoryErrors {
13
13
  persistence: FolderPersistenceError;
14
14
  }
15
15
  type RepositoryError = ICreateFolderRepositoryErrors[keyof ICreateFolderRepositoryErrors];
16
+ /** Persist a newly created folder. */
16
17
  export declare const CreateFolderRepository: import("@webiny/di").Abstraction<ICreateFolderRepository>;
17
18
  export declare namespace CreateFolderRepository {
18
19
  type Interface = ICreateFolderRepository;
@@ -30,6 +31,7 @@ export interface ICreateFolderUseCaseErrors {
30
31
  validation: FolderValidationError;
31
32
  }
32
33
  type UseCaseError = ICreateFolderUseCaseErrors[keyof ICreateFolderUseCaseErrors];
34
+ /** Create a new folder. */
33
35
  export declare const CreateFolderUseCase: import("@webiny/di").Abstraction<ICreateFolderUseCase>;
34
36
  export declare namespace CreateFolderUseCase {
35
37
  type Interface = ICreateFolderUseCase;
@@ -42,11 +44,13 @@ export interface FolderBeforeCreatePayload {
42
44
  export interface FolderAfterCreatePayload {
43
45
  folder: Folder;
44
46
  }
47
+ /** Hook into folder lifecycle before a folder is created. */
45
48
  export declare const FolderBeforeCreateEventHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<FolderBeforeCreatePayload>>>;
46
49
  export declare namespace FolderBeforeCreateEventHandler {
47
50
  type Interface = IEventHandler<DomainEvent<FolderBeforeCreatePayload>>;
48
51
  type Event = DomainEvent<FolderBeforeCreatePayload>;
49
52
  }
53
+ /** Hook into folder lifecycle after a folder is created. */
50
54
  export declare const FolderAfterCreateEventHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<FolderAfterCreatePayload>>>;
51
55
  export declare namespace FolderAfterCreateEventHandler {
52
56
  type Interface = IEventHandler<DomainEvent<FolderAfterCreatePayload>>;
@@ -4,18 +4,22 @@ import { createAbstraction } from "@webiny/feature/api";
4
4
  * CreateFolder repository interface
5
5
  */
6
6
 
7
+ /** Persist a newly created folder. */
7
8
  export const CreateFolderRepository = createAbstraction("CreateFolderRepository");
8
9
 
9
10
  /**
10
11
  * CreateFolder use case interface
11
12
  */
12
13
 
14
+ /** Create a new folder. */
13
15
  export const CreateFolderUseCase = createAbstraction("CreateFolderUseCase");
14
16
 
15
17
  // Event Payload Types
16
18
 
17
19
  // Event Handler Abstractions
20
+ /** Hook into folder lifecycle before a folder is created. */
18
21
  export const FolderBeforeCreateEventHandler = createAbstraction("FolderBeforeCreateEventHandler");
22
+ /** Hook into folder lifecycle after a folder is created. */
19
23
  export const FolderAfterCreateEventHandler = createAbstraction("FolderAfterCreateEventHandler");
20
24
 
21
25
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","CreateFolderRepository","CreateFolderUseCase","FolderBeforeCreateEventHandler","FolderAfterCreateEventHandler"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type { DomainEvent, IEventHandler } from \"@webiny/api-core/features/EventPublisher\";\nimport type { Folder, CreateFolderParams } from \"~/folder/folder.types.js\";\nimport type {\n FolderNotAuthorizedError,\n FolderPersistenceError,\n FolderValidationError\n} from \"~/domain/folder/errors.js\";\n\n/**\n * CreateFolder repository interface\n */\nexport interface ICreateFolderRepository {\n execute(data: CreateFolderParams): Promise<Result<Folder, RepositoryError>>;\n}\n\nexport interface ICreateFolderRepositoryErrors {\n validation: FolderValidationError;\n persistence: FolderPersistenceError;\n}\n\ntype RepositoryError = ICreateFolderRepositoryErrors[keyof ICreateFolderRepositoryErrors];\n\nexport const CreateFolderRepository =\n createAbstraction<ICreateFolderRepository>(\"CreateFolderRepository\");\n\nexport namespace CreateFolderRepository {\n export type Interface = ICreateFolderRepository;\n export type Error = RepositoryError;\n}\n\n/**\n * CreateFolder use case interface\n */\nexport interface ICreateFolderUseCase {\n execute(params: CreateFolderParams): Promise<Result<Folder, UseCaseError>>;\n}\n\nexport interface ICreateFolderUseCaseErrors {\n notAuthorized: FolderNotAuthorizedError;\n persistence: FolderPersistenceError;\n validation: FolderValidationError;\n}\n\ntype UseCaseError = ICreateFolderUseCaseErrors[keyof ICreateFolderUseCaseErrors];\n\nexport const CreateFolderUseCase = createAbstraction<ICreateFolderUseCase>(\"CreateFolderUseCase\");\n\nexport namespace CreateFolderUseCase {\n export type Interface = ICreateFolderUseCase;\n export type Return = Promise<Result<Folder, UseCaseError>>;\n export type Error = UseCaseError;\n}\n\n// Event Payload Types\nexport interface FolderBeforeCreatePayload {\n input: CreateFolderParams;\n}\n\nexport interface FolderAfterCreatePayload {\n folder: Folder;\n}\n\n// Event Handler Abstractions\nexport const FolderBeforeCreateEventHandler = createAbstraction<\n IEventHandler<DomainEvent<FolderBeforeCreatePayload>>\n>(\"FolderBeforeCreateEventHandler\");\n\nexport namespace FolderBeforeCreateEventHandler {\n export type Interface = IEventHandler<DomainEvent<FolderBeforeCreatePayload>>;\n export type Event = DomainEvent<FolderBeforeCreatePayload>;\n}\n\nexport const FolderAfterCreateEventHandler = createAbstraction<\n IEventHandler<DomainEvent<FolderAfterCreatePayload>>\n>(\"FolderAfterCreateEventHandler\");\n\nexport namespace FolderAfterCreateEventHandler {\n export type Interface = IEventHandler<DomainEvent<FolderAfterCreatePayload>>;\n export type Event = DomainEvent<FolderAfterCreatePayload>;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAUvD;AACA;AACA;;AAYA,OAAO,MAAMC,sBAAsB,GAC/BD,iBAAiB,CAA0B,wBAAwB,CAAC;;AAOxE;AACA;AACA;;AAaA,OAAO,MAAME,mBAAmB,GAAGF,iBAAiB,CAAuB,qBAAqB,CAAC;;AAQjG;;AASA;AACA,OAAO,MAAMG,8BAA8B,GAAGH,iBAAiB,CAE7D,gCAAgC,CAAC;AAOnC,OAAO,MAAMI,6BAA6B,GAAGJ,iBAAiB,CAE5D,+BAA+B,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createAbstraction","CreateFolderRepository","CreateFolderUseCase","FolderBeforeCreateEventHandler","FolderAfterCreateEventHandler"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type { DomainEvent, IEventHandler } from \"@webiny/api-core/features/EventPublisher\";\nimport type { Folder, CreateFolderParams } from \"~/folder/folder.types.js\";\nimport type {\n FolderNotAuthorizedError,\n FolderPersistenceError,\n FolderValidationError\n} from \"~/domain/folder/errors.js\";\n\n/**\n * CreateFolder repository interface\n */\nexport interface ICreateFolderRepository {\n execute(data: CreateFolderParams): Promise<Result<Folder, RepositoryError>>;\n}\n\nexport interface ICreateFolderRepositoryErrors {\n validation: FolderValidationError;\n persistence: FolderPersistenceError;\n}\n\ntype RepositoryError = ICreateFolderRepositoryErrors[keyof ICreateFolderRepositoryErrors];\n\n/** Persist a newly created folder. */\nexport const CreateFolderRepository =\n createAbstraction<ICreateFolderRepository>(\"CreateFolderRepository\");\n\nexport namespace CreateFolderRepository {\n export type Interface = ICreateFolderRepository;\n export type Error = RepositoryError;\n}\n\n/**\n * CreateFolder use case interface\n */\nexport interface ICreateFolderUseCase {\n execute(params: CreateFolderParams): Promise<Result<Folder, UseCaseError>>;\n}\n\nexport interface ICreateFolderUseCaseErrors {\n notAuthorized: FolderNotAuthorizedError;\n persistence: FolderPersistenceError;\n validation: FolderValidationError;\n}\n\ntype UseCaseError = ICreateFolderUseCaseErrors[keyof ICreateFolderUseCaseErrors];\n\n/** Create a new folder. */\nexport const CreateFolderUseCase = createAbstraction<ICreateFolderUseCase>(\"CreateFolderUseCase\");\n\nexport namespace CreateFolderUseCase {\n export type Interface = ICreateFolderUseCase;\n export type Return = Promise<Result<Folder, UseCaseError>>;\n export type Error = UseCaseError;\n}\n\n// Event Payload Types\nexport interface FolderBeforeCreatePayload {\n input: CreateFolderParams;\n}\n\nexport interface FolderAfterCreatePayload {\n folder: Folder;\n}\n\n// Event Handler Abstractions\n/** Hook into folder lifecycle before a folder is created. */\nexport const FolderBeforeCreateEventHandler = createAbstraction<\n IEventHandler<DomainEvent<FolderBeforeCreatePayload>>\n>(\"FolderBeforeCreateEventHandler\");\n\nexport namespace FolderBeforeCreateEventHandler {\n export type Interface = IEventHandler<DomainEvent<FolderBeforeCreatePayload>>;\n export type Event = DomainEvent<FolderBeforeCreatePayload>;\n}\n\n/** Hook into folder lifecycle after a folder is created. */\nexport const FolderAfterCreateEventHandler = createAbstraction<\n IEventHandler<DomainEvent<FolderAfterCreatePayload>>\n>(\"FolderAfterCreateEventHandler\");\n\nexport namespace FolderAfterCreateEventHandler {\n export type Interface = IEventHandler<DomainEvent<FolderAfterCreatePayload>>;\n export type Event = DomainEvent<FolderAfterCreatePayload>;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAUvD;AACA;AACA;;AAYA;AACA,OAAO,MAAMC,sBAAsB,GAC/BD,iBAAiB,CAA0B,wBAAwB,CAAC;;AAOxE;AACA;AACA;;AAaA;AACA,OAAO,MAAME,mBAAmB,GAAGF,iBAAiB,CAAuB,qBAAqB,CAAC;;AAQjG;;AASA;AACA;AACA,OAAO,MAAMG,8BAA8B,GAAGH,iBAAiB,CAE7D,gCAAgC,CAAC;AAOnC;AACA,OAAO,MAAMI,6BAA6B,GAAGJ,iBAAiB,CAE5D,+BAA+B,CAAC","ignoreList":[]}
@@ -13,6 +13,7 @@ export interface IDeleteFolderRepositoryErrors {
13
13
  persistence: FolderPersistenceError;
14
14
  }
15
15
  type RepositoryError = IDeleteFolderRepositoryErrors[keyof IDeleteFolderRepositoryErrors];
16
+ /** Persist folder deletion. */
16
17
  export declare const DeleteFolderRepository: import("@webiny/di").Abstraction<IDeleteFolderRepository>;
17
18
  export declare namespace DeleteFolderRepository {
18
19
  type Interface = IDeleteFolderRepository;
@@ -31,6 +32,7 @@ export interface IDeleteFolderUseCaseErrors {
31
32
  persistence: FolderPersistenceError;
32
33
  }
33
34
  type UseCaseError = IDeleteFolderUseCaseErrors[keyof IDeleteFolderUseCaseErrors];
35
+ /** Delete a folder. */
34
36
  export declare const DeleteFolderUseCase: import("@webiny/di").Abstraction<IDeleteFolderUseCase>;
35
37
  export declare namespace DeleteFolderUseCase {
36
38
  type Interface = IDeleteFolderUseCase;
@@ -42,11 +44,13 @@ export interface FolderBeforeDeletePayload {
42
44
  export interface FolderAfterDeletePayload {
43
45
  folder: Folder;
44
46
  }
47
+ /** Hook into folder lifecycle before a folder is deleted. */
45
48
  export declare const FolderBeforeDeleteEventHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<FolderBeforeDeletePayload>>>;
46
49
  export declare namespace FolderBeforeDeleteEventHandler {
47
50
  type Interface = IEventHandler<DomainEvent<FolderBeforeDeletePayload>>;
48
51
  type Event = DomainEvent<FolderBeforeDeletePayload>;
49
52
  }
53
+ /** Hook into folder lifecycle after a folder is deleted. */
50
54
  export declare const FolderAfterDeleteEventHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<FolderAfterDeletePayload>>>;
51
55
  export declare namespace FolderAfterDeleteEventHandler {
52
56
  type Interface = IEventHandler<DomainEvent<FolderAfterDeletePayload>>;
@@ -4,18 +4,22 @@ import { createAbstraction } from "@webiny/feature/api";
4
4
  * DeleteFolder repository interface
5
5
  */
6
6
 
7
+ /** Persist folder deletion. */
7
8
  export const DeleteFolderRepository = createAbstraction("DeleteFolderRepository");
8
9
 
9
10
  /**
10
11
  * DeleteFolder use case interface
11
12
  */
12
13
 
14
+ /** Delete a folder. */
13
15
  export const DeleteFolderUseCase = createAbstraction("DeleteFolderUseCase");
14
16
 
15
17
  // Event Payload Types
16
18
 
17
19
  // Event Handler Abstractions
20
+ /** Hook into folder lifecycle before a folder is deleted. */
18
21
  export const FolderBeforeDeleteEventHandler = createAbstraction("FolderBeforeDeleteEventHandler");
22
+ /** Hook into folder lifecycle after a folder is deleted. */
19
23
  export const FolderAfterDeleteEventHandler = createAbstraction("FolderAfterDeleteEventHandler");
20
24
 
21
25
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","DeleteFolderRepository","DeleteFolderUseCase","FolderBeforeDeleteEventHandler","FolderAfterDeleteEventHandler"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type { DomainEvent, IEventHandler } from \"@webiny/api-core/features/EventPublisher\";\nimport type { Folder } from \"~/folder/folder.types.js\";\nimport {\n type FolderNotAuthorizedError,\n FolderNotEmptyError,\n type FolderNotFoundError,\n type FolderPersistenceError\n} from \"~/domain/folder/errors.js\";\n\n/**\n * DeleteFolder repository interface\n */\nexport interface IDeleteFolderRepository {\n execute(folder: Folder): Promise<Result<void, RepositoryError>>;\n}\n\nexport interface IDeleteFolderRepositoryErrors {\n notAuthorized: FolderNotAuthorizedError;\n persistence: FolderPersistenceError;\n}\n\ntype RepositoryError = IDeleteFolderRepositoryErrors[keyof IDeleteFolderRepositoryErrors];\n\nexport const DeleteFolderRepository =\n createAbstraction<IDeleteFolderRepository>(\"DeleteFolderRepository\");\n\nexport namespace DeleteFolderRepository {\n export type Interface = IDeleteFolderRepository;\n export type Error = RepositoryError;\n}\n\n/**\n * DeleteFolder use case interface\n */\nexport interface IDeleteFolderUseCase {\n execute(id: string): Promise<Result<void, UseCaseError>>;\n}\n\nexport interface IDeleteFolderUseCaseErrors {\n notAuthorized: FolderNotAuthorizedError;\n notFound: FolderNotFoundError;\n notEmpty: FolderNotEmptyError;\n persistence: FolderPersistenceError;\n}\n\ntype UseCaseError = IDeleteFolderUseCaseErrors[keyof IDeleteFolderUseCaseErrors];\n\nexport const DeleteFolderUseCase = createAbstraction<IDeleteFolderUseCase>(\"DeleteFolderUseCase\");\n\nexport namespace DeleteFolderUseCase {\n export type Interface = IDeleteFolderUseCase;\n export type Error = UseCaseError;\n}\n\n// Event Payload Types\nexport interface FolderBeforeDeletePayload {\n folder: Folder;\n}\n\nexport interface FolderAfterDeletePayload {\n folder: Folder;\n}\n\n// Event Handler Abstractions\nexport const FolderBeforeDeleteEventHandler = createAbstraction<\n IEventHandler<DomainEvent<FolderBeforeDeletePayload>>\n>(\"FolderBeforeDeleteEventHandler\");\n\nexport namespace FolderBeforeDeleteEventHandler {\n export type Interface = IEventHandler<DomainEvent<FolderBeforeDeletePayload>>;\n export type Event = DomainEvent<FolderBeforeDeletePayload>;\n}\n\nexport const FolderAfterDeleteEventHandler = createAbstraction<\n IEventHandler<DomainEvent<FolderAfterDeletePayload>>\n>(\"FolderAfterDeleteEventHandler\");\n\nexport namespace FolderAfterDeleteEventHandler {\n export type Interface = IEventHandler<DomainEvent<FolderAfterDeletePayload>>;\n export type Event = DomainEvent<FolderAfterDeletePayload>;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAWvD;AACA;AACA;;AAYA,OAAO,MAAMC,sBAAsB,GAC/BD,iBAAiB,CAA0B,wBAAwB,CAAC;;AAOxE;AACA;AACA;;AAcA,OAAO,MAAME,mBAAmB,GAAGF,iBAAiB,CAAuB,qBAAqB,CAAC;;AAOjG;;AASA;AACA,OAAO,MAAMG,8BAA8B,GAAGH,iBAAiB,CAE7D,gCAAgC,CAAC;AAOnC,OAAO,MAAMI,6BAA6B,GAAGJ,iBAAiB,CAE5D,+BAA+B,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createAbstraction","DeleteFolderRepository","DeleteFolderUseCase","FolderBeforeDeleteEventHandler","FolderAfterDeleteEventHandler"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type { DomainEvent, IEventHandler } from \"@webiny/api-core/features/EventPublisher\";\nimport type { Folder } from \"~/folder/folder.types.js\";\nimport {\n type FolderNotAuthorizedError,\n FolderNotEmptyError,\n type FolderNotFoundError,\n type FolderPersistenceError\n} from \"~/domain/folder/errors.js\";\n\n/**\n * DeleteFolder repository interface\n */\nexport interface IDeleteFolderRepository {\n execute(folder: Folder): Promise<Result<void, RepositoryError>>;\n}\n\nexport interface IDeleteFolderRepositoryErrors {\n notAuthorized: FolderNotAuthorizedError;\n persistence: FolderPersistenceError;\n}\n\ntype RepositoryError = IDeleteFolderRepositoryErrors[keyof IDeleteFolderRepositoryErrors];\n\n/** Persist folder deletion. */\nexport const DeleteFolderRepository =\n createAbstraction<IDeleteFolderRepository>(\"DeleteFolderRepository\");\n\nexport namespace DeleteFolderRepository {\n export type Interface = IDeleteFolderRepository;\n export type Error = RepositoryError;\n}\n\n/**\n * DeleteFolder use case interface\n */\nexport interface IDeleteFolderUseCase {\n execute(id: string): Promise<Result<void, UseCaseError>>;\n}\n\nexport interface IDeleteFolderUseCaseErrors {\n notAuthorized: FolderNotAuthorizedError;\n notFound: FolderNotFoundError;\n notEmpty: FolderNotEmptyError;\n persistence: FolderPersistenceError;\n}\n\ntype UseCaseError = IDeleteFolderUseCaseErrors[keyof IDeleteFolderUseCaseErrors];\n\n/** Delete a folder. */\nexport const DeleteFolderUseCase = createAbstraction<IDeleteFolderUseCase>(\"DeleteFolderUseCase\");\n\nexport namespace DeleteFolderUseCase {\n export type Interface = IDeleteFolderUseCase;\n export type Error = UseCaseError;\n}\n\n// Event Payload Types\nexport interface FolderBeforeDeletePayload {\n folder: Folder;\n}\n\nexport interface FolderAfterDeletePayload {\n folder: Folder;\n}\n\n// Event Handler Abstractions\n/** Hook into folder lifecycle before a folder is deleted. */\nexport const FolderBeforeDeleteEventHandler = createAbstraction<\n IEventHandler<DomainEvent<FolderBeforeDeletePayload>>\n>(\"FolderBeforeDeleteEventHandler\");\n\nexport namespace FolderBeforeDeleteEventHandler {\n export type Interface = IEventHandler<DomainEvent<FolderBeforeDeletePayload>>;\n export type Event = DomainEvent<FolderBeforeDeletePayload>;\n}\n\n/** Hook into folder lifecycle after a folder is deleted. */\nexport const FolderAfterDeleteEventHandler = createAbstraction<\n IEventHandler<DomainEvent<FolderAfterDeletePayload>>\n>(\"FolderAfterDeleteEventHandler\");\n\nexport namespace FolderAfterDeleteEventHandler {\n export type Interface = IEventHandler<DomainEvent<FolderAfterDeletePayload>>;\n export type Event = DomainEvent<FolderAfterDeletePayload>;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAWvD;AACA;AACA;;AAYA;AACA,OAAO,MAAMC,sBAAsB,GAC/BD,iBAAiB,CAA0B,wBAAwB,CAAC;;AAOxE;AACA;AACA;;AAcA;AACA,OAAO,MAAME,mBAAmB,GAAGF,iBAAiB,CAAuB,qBAAqB,CAAC;;AAOjG;;AASA;AACA;AACA,OAAO,MAAMG,8BAA8B,GAAGH,iBAAiB,CAE7D,gCAAgC,CAAC;AAOnC;AACA,OAAO,MAAMI,6BAA6B,GAAGJ,iBAAiB,CAE5D,+BAA+B,CAAC","ignoreList":[]}
@@ -11,6 +11,7 @@ export interface IEnsureFolderIsEmptyError {
11
11
  notEmpty: FolderNotEmptyError;
12
12
  }
13
13
  type UseCaseError = IEnsureFolderIsEmptyError[keyof IEnsureFolderIsEmptyError];
14
+ /** Verify a folder has no children before deletion. */
14
15
  export declare const EnsureFolderIsEmpty: import("@webiny/di").Abstraction<IEnsureFolderIsEmpty>;
15
16
  export declare namespace EnsureFolderIsEmpty {
16
17
  type Interface = IEnsureFolderIsEmpty;
@@ -1,4 +1,5 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
+ /** Verify a folder has no children before deletion. */
2
3
  export const EnsureFolderIsEmpty = createAbstraction("EnsureFolderIsEmpty");
3
4
 
4
5
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","EnsureFolderIsEmpty"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport { FolderNotAuthorizedError, FolderNotEmptyError } from \"~/domain/folder/errors.js\";\n\nexport interface IHasContentCallback {\n (): boolean | Promise<boolean>;\n}\n\nexport interface IEnsureFolderIsEmpty {\n execute(\n type: string,\n id: string,\n hasContentCallback: IHasContentCallback\n ): Promise<Result<void, UseCaseError>>;\n}\n\nexport interface IEnsureFolderIsEmptyError {\n notAuthorized: FolderNotAuthorizedError;\n notEmpty: FolderNotEmptyError;\n}\n\ntype UseCaseError = IEnsureFolderIsEmptyError[keyof IEnsureFolderIsEmptyError];\n\nexport const EnsureFolderIsEmpty = createAbstraction<IEnsureFolderIsEmpty>(\"EnsureFolderIsEmpty\");\n\nexport namespace EnsureFolderIsEmpty {\n export type Interface = IEnsureFolderIsEmpty;\n export type HasContentCallback = IHasContentCallback;\n export type Return = Promise<Result<void, UseCaseError>>;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAgB,qBAAqB;AAsB/D,OAAO,MAAMC,mBAAmB,GAAGD,iBAAiB,CAAuB,qBAAqB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createAbstraction","EnsureFolderIsEmpty"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport { FolderNotAuthorizedError, FolderNotEmptyError } from \"~/domain/folder/errors.js\";\n\nexport interface IHasContentCallback {\n (): boolean | Promise<boolean>;\n}\n\nexport interface IEnsureFolderIsEmpty {\n execute(\n type: string,\n id: string,\n hasContentCallback: IHasContentCallback\n ): Promise<Result<void, UseCaseError>>;\n}\n\nexport interface IEnsureFolderIsEmptyError {\n notAuthorized: FolderNotAuthorizedError;\n notEmpty: FolderNotEmptyError;\n}\n\ntype UseCaseError = IEnsureFolderIsEmptyError[keyof IEnsureFolderIsEmptyError];\n\n/** Verify a folder has no children before deletion. */\nexport const EnsureFolderIsEmpty = createAbstraction<IEnsureFolderIsEmpty>(\"EnsureFolderIsEmpty\");\n\nexport namespace EnsureFolderIsEmpty {\n export type Interface = IEnsureFolderIsEmpty;\n export type HasContentCallback = IHasContentCallback;\n export type Return = Promise<Result<void, UseCaseError>>;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAgB,qBAAqB;AAsB/D;AACA,OAAO,MAAMC,mBAAmB,GAAGD,iBAAiB,CAAuB,qBAAqB,CAAC","ignoreList":[]}
@@ -11,6 +11,7 @@ export interface IGetAncestorsRepositoryErrors {
11
11
  persistence: FolderPersistenceError;
12
12
  }
13
13
  type RepositoryError = IGetAncestorsRepositoryErrors[keyof IGetAncestorsRepositoryErrors];
14
+ /** Fetch ancestor folders from storage. */
14
15
  export declare const GetAncestorsRepository: import("@webiny/di").Abstraction<IGetAncestorsRepository>;
15
16
  export declare namespace GetAncestorsRepository {
16
17
  type Interface = IGetAncestorsRepository;
@@ -30,6 +31,7 @@ export interface IGetAncestorsUseCaseErrors {
30
31
  persistence: FolderPersistenceError;
31
32
  }
32
33
  type UseCaseError = IGetAncestorsUseCaseErrors[keyof IGetAncestorsUseCaseErrors];
34
+ /** Retrieve ancestor folders in the hierarchy. */
33
35
  export declare const GetAncestorsUseCase: import("@webiny/di").Abstraction<IGetAncestorsUseCase>;
34
36
  export declare namespace GetAncestorsUseCase {
35
37
  type Interface = IGetAncestorsUseCase;
@@ -4,12 +4,14 @@ import { createAbstraction } from "@webiny/feature/api";
4
4
  * GetAncestors repository interface
5
5
  */
6
6
 
7
+ /** Fetch ancestor folders from storage. */
7
8
  export const GetAncestorsRepository = createAbstraction("GetAncestorsRepository");
8
9
 
9
10
  /**
10
11
  * GetAncestors use case interface
11
12
  */
12
13
 
14
+ /** Retrieve ancestor folders in the hierarchy. */
13
15
  export const GetAncestorsUseCase = createAbstraction("GetAncestorsUseCase");
14
16
 
15
17
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","GetAncestorsRepository","GetAncestorsUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type { Folder } from \"~/folder/folder.types.js\";\nimport type { FolderNotAuthorizedError, FolderPersistenceError } from \"~/domain/folder/errors.js\";\n\n/**\n * GetAncestors repository interface\n */\nexport interface IGetAncestorsRepository {\n execute(params: GetAncestorsParams): Promise<Result<Folder[], RepositoryError>>;\n}\n\nexport interface IGetAncestorsRepositoryErrors {\n persistence: FolderPersistenceError;\n}\n\ntype RepositoryError = IGetAncestorsRepositoryErrors[keyof IGetAncestorsRepositoryErrors];\n\nexport const GetAncestorsRepository =\n createAbstraction<IGetAncestorsRepository>(\"GetAncestorsRepository\");\n\nexport namespace GetAncestorsRepository {\n export type Interface = IGetAncestorsRepository;\n export type Error = RepositoryError;\n}\n\n/**\n * GetAncestors use case interface\n */\nexport interface GetAncestorsParams {\n folder: Folder;\n}\n\nexport interface IGetAncestorsUseCase {\n execute(params: GetAncestorsParams): Promise<Result<Folder[], UseCaseError>>;\n}\n\nexport interface IGetAncestorsUseCaseErrors {\n notAuthorized: FolderNotAuthorizedError;\n persistence: FolderPersistenceError;\n}\n\ntype UseCaseError = IGetAncestorsUseCaseErrors[keyof IGetAncestorsUseCaseErrors];\n\nexport const GetAncestorsUseCase = createAbstraction<IGetAncestorsUseCase>(\"GetAncestorsUseCase\");\n\nexport namespace GetAncestorsUseCase {\n export type Interface = IGetAncestorsUseCase;\n export type Error = UseCaseError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAKvD;AACA;AACA;;AAWA,OAAO,MAAMC,sBAAsB,GAC/BD,iBAAiB,CAA0B,wBAAwB,CAAC;;AAOxE;AACA;AACA;;AAgBA,OAAO,MAAME,mBAAmB,GAAGF,iBAAiB,CAAuB,qBAAqB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createAbstraction","GetAncestorsRepository","GetAncestorsUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type { Folder } from \"~/folder/folder.types.js\";\nimport type { FolderNotAuthorizedError, FolderPersistenceError } from \"~/domain/folder/errors.js\";\n\n/**\n * GetAncestors repository interface\n */\nexport interface IGetAncestorsRepository {\n execute(params: GetAncestorsParams): Promise<Result<Folder[], RepositoryError>>;\n}\n\nexport interface IGetAncestorsRepositoryErrors {\n persistence: FolderPersistenceError;\n}\n\ntype RepositoryError = IGetAncestorsRepositoryErrors[keyof IGetAncestorsRepositoryErrors];\n\n/** Fetch ancestor folders from storage. */\nexport const GetAncestorsRepository =\n createAbstraction<IGetAncestorsRepository>(\"GetAncestorsRepository\");\n\nexport namespace GetAncestorsRepository {\n export type Interface = IGetAncestorsRepository;\n export type Error = RepositoryError;\n}\n\n/**\n * GetAncestors use case interface\n */\nexport interface GetAncestorsParams {\n folder: Folder;\n}\n\nexport interface IGetAncestorsUseCase {\n execute(params: GetAncestorsParams): Promise<Result<Folder[], UseCaseError>>;\n}\n\nexport interface IGetAncestorsUseCaseErrors {\n notAuthorized: FolderNotAuthorizedError;\n persistence: FolderPersistenceError;\n}\n\ntype UseCaseError = IGetAncestorsUseCaseErrors[keyof IGetAncestorsUseCaseErrors];\n\n/** Retrieve ancestor folders in the hierarchy. */\nexport const GetAncestorsUseCase = createAbstraction<IGetAncestorsUseCase>(\"GetAncestorsUseCase\");\n\nexport namespace GetAncestorsUseCase {\n export type Interface = IGetAncestorsUseCase;\n export type Error = UseCaseError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAKvD;AACA;AACA;;AAWA;AACA,OAAO,MAAMC,sBAAsB,GAC/BD,iBAAiB,CAA0B,wBAAwB,CAAC;;AAOxE;AACA;AACA;;AAgBA;AACA,OAAO,MAAME,mBAAmB,GAAGF,iBAAiB,CAAuB,qBAAqB,CAAC","ignoreList":[]}
@@ -30,6 +30,7 @@ export interface IGetFolderUseCaseErrors {
30
30
  persistence: FolderPersistenceError;
31
31
  }
32
32
  type UseCaseError = IGetFolderUseCaseErrors[keyof IGetFolderUseCaseErrors];
33
+ /** Retrieve a folder. */
33
34
  export declare const GetFolderUseCase: import("@webiny/di").Abstraction<IGetFolderUseCase>;
34
35
  export declare namespace GetFolderUseCase {
35
36
  type Interface = IGetFolderUseCase;
@@ -41,11 +42,13 @@ export interface FolderBeforeGetPayload {
41
42
  export interface FolderAfterGetPayload {
42
43
  folder: Folder;
43
44
  }
45
+ /** Hook into folder lifecycle before a folder is retrieved. */
44
46
  export declare const FolderBeforeGetEventHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<FolderBeforeGetPayload>>>;
45
47
  export declare namespace FolderBeforeGetEventHandler {
46
48
  type Interface = IEventHandler<DomainEvent<FolderBeforeGetPayload>>;
47
49
  type Event = DomainEvent<FolderBeforeGetPayload>;
48
50
  }
51
+ /** Hook into folder lifecycle after a folder is retrieved. */
49
52
  export declare const FolderAfterGetEventHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<FolderAfterGetPayload>>>;
50
53
  export declare namespace FolderAfterGetEventHandler {
51
54
  type Interface = IEventHandler<DomainEvent<FolderAfterGetPayload>>;
@@ -10,12 +10,15 @@ export const GetFolderRepository = createAbstraction("GetFolderRepository");
10
10
  * GetFolder use case interface
11
11
  */
12
12
 
13
+ /** Retrieve a folder. */
13
14
  export const GetFolderUseCase = createAbstraction("GetFolderUseCase");
14
15
 
15
16
  // Event Payload Types
16
17
 
17
18
  // Event Handler Abstractions
19
+ /** Hook into folder lifecycle before a folder is retrieved. */
18
20
  export const FolderBeforeGetEventHandler = createAbstraction("FolderBeforeGetEventHandler");
21
+ /** Hook into folder lifecycle after a folder is retrieved. */
19
22
  export const FolderAfterGetEventHandler = createAbstraction("FolderAfterGetEventHandler");
20
23
 
21
24
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","GetFolderRepository","GetFolderUseCase","FolderBeforeGetEventHandler","FolderAfterGetEventHandler"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport { DomainEvent, IEventHandler } from \"@webiny/api-core/features/EventPublisher\";\nimport type { Folder, GetFolderParams } from \"~/folder/folder.types.js\";\nimport type {\n FolderNotAuthorizedError,\n FolderNotFoundError,\n FolderPersistenceError\n} from \"~/domain/folder/errors.js\";\n\n/**\n * GetFolder repository interface\n */\nexport interface IGetFolderRepository {\n execute(id: string): Promise<Result<Folder, RepositoryError>>;\n}\n\nexport interface IGetFolderRepositoryErrors {\n notFound: FolderNotFoundError;\n persistence: FolderPersistenceError;\n}\n\ntype RepositoryError = IGetFolderRepositoryErrors[keyof IGetFolderRepositoryErrors];\n\nexport const GetFolderRepository = createAbstraction<IGetFolderRepository>(\"GetFolderRepository\");\n\nexport namespace GetFolderRepository {\n export type Interface = IGetFolderRepository;\n export type Error = RepositoryError;\n}\n\n/**\n * GetFolder use case interface\n */\nexport interface IGetFolderUseCase {\n execute(id: string): Promise<Result<Folder, UseCaseError>>;\n}\n\nexport interface IGetFolderUseCaseErrors {\n notAuthorized: FolderNotAuthorizedError;\n notFound: FolderNotFoundError;\n persistence: FolderPersistenceError;\n}\n\ntype UseCaseError = IGetFolderUseCaseErrors[keyof IGetFolderUseCaseErrors];\n\nexport const GetFolderUseCase = createAbstraction<IGetFolderUseCase>(\"GetFolderUseCase\");\n\nexport namespace GetFolderUseCase {\n export type Interface = IGetFolderUseCase;\n export type Error = UseCaseError;\n}\n\n// Event Payload Types\nexport interface FolderBeforeGetPayload {\n params: GetFolderParams;\n}\n\nexport interface FolderAfterGetPayload {\n folder: Folder;\n}\n\n// Event Handler Abstractions\nexport const FolderBeforeGetEventHandler = createAbstraction<\n IEventHandler<DomainEvent<FolderBeforeGetPayload>>\n>(\"FolderBeforeGetEventHandler\");\n\nexport namespace FolderBeforeGetEventHandler {\n export type Interface = IEventHandler<DomainEvent<FolderBeforeGetPayload>>;\n export type Event = DomainEvent<FolderBeforeGetPayload>;\n}\n\nexport const FolderAfterGetEventHandler = createAbstraction<\n IEventHandler<DomainEvent<FolderAfterGetPayload>>\n>(\"FolderAfterGetEventHandler\");\n\nexport namespace FolderAfterGetEventHandler {\n export type Interface = IEventHandler<DomainEvent<FolderAfterGetPayload>>;\n export type Event = DomainEvent<FolderAfterGetPayload>;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAUvD;AACA;AACA;;AAYA,OAAO,MAAMC,mBAAmB,GAAGD,iBAAiB,CAAuB,qBAAqB,CAAC;;AAOjG;AACA;AACA;;AAaA,OAAO,MAAME,gBAAgB,GAAGF,iBAAiB,CAAoB,kBAAkB,CAAC;;AAOxF;;AASA;AACA,OAAO,MAAMG,2BAA2B,GAAGH,iBAAiB,CAE1D,6BAA6B,CAAC;AAOhC,OAAO,MAAMI,0BAA0B,GAAGJ,iBAAiB,CAEzD,4BAA4B,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createAbstraction","GetFolderRepository","GetFolderUseCase","FolderBeforeGetEventHandler","FolderAfterGetEventHandler"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport { DomainEvent, IEventHandler } from \"@webiny/api-core/features/EventPublisher\";\nimport type { Folder, GetFolderParams } from \"~/folder/folder.types.js\";\nimport type {\n FolderNotAuthorizedError,\n FolderNotFoundError,\n FolderPersistenceError\n} from \"~/domain/folder/errors.js\";\n\n/**\n * GetFolder repository interface\n */\nexport interface IGetFolderRepository {\n execute(id: string): Promise<Result<Folder, RepositoryError>>;\n}\n\nexport interface IGetFolderRepositoryErrors {\n notFound: FolderNotFoundError;\n persistence: FolderPersistenceError;\n}\n\ntype RepositoryError = IGetFolderRepositoryErrors[keyof IGetFolderRepositoryErrors];\n\nexport const GetFolderRepository = createAbstraction<IGetFolderRepository>(\"GetFolderRepository\");\n\nexport namespace GetFolderRepository {\n export type Interface = IGetFolderRepository;\n export type Error = RepositoryError;\n}\n\n/**\n * GetFolder use case interface\n */\nexport interface IGetFolderUseCase {\n execute(id: string): Promise<Result<Folder, UseCaseError>>;\n}\n\nexport interface IGetFolderUseCaseErrors {\n notAuthorized: FolderNotAuthorizedError;\n notFound: FolderNotFoundError;\n persistence: FolderPersistenceError;\n}\n\ntype UseCaseError = IGetFolderUseCaseErrors[keyof IGetFolderUseCaseErrors];\n\n/** Retrieve a folder. */\nexport const GetFolderUseCase = createAbstraction<IGetFolderUseCase>(\"GetFolderUseCase\");\n\nexport namespace GetFolderUseCase {\n export type Interface = IGetFolderUseCase;\n export type Error = UseCaseError;\n}\n\n// Event Payload Types\nexport interface FolderBeforeGetPayload {\n params: GetFolderParams;\n}\n\nexport interface FolderAfterGetPayload {\n folder: Folder;\n}\n\n// Event Handler Abstractions\n/** Hook into folder lifecycle before a folder is retrieved. */\nexport const FolderBeforeGetEventHandler = createAbstraction<\n IEventHandler<DomainEvent<FolderBeforeGetPayload>>\n>(\"FolderBeforeGetEventHandler\");\n\nexport namespace FolderBeforeGetEventHandler {\n export type Interface = IEventHandler<DomainEvent<FolderBeforeGetPayload>>;\n export type Event = DomainEvent<FolderBeforeGetPayload>;\n}\n\n/** Hook into folder lifecycle after a folder is retrieved. */\nexport const FolderAfterGetEventHandler = createAbstraction<\n IEventHandler<DomainEvent<FolderAfterGetPayload>>\n>(\"FolderAfterGetEventHandler\");\n\nexport namespace FolderAfterGetEventHandler {\n export type Interface = IEventHandler<DomainEvent<FolderAfterGetPayload>>;\n export type Event = DomainEvent<FolderAfterGetPayload>;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAUvD;AACA;AACA;;AAYA,OAAO,MAAMC,mBAAmB,GAAGD,iBAAiB,CAAuB,qBAAqB,CAAC;;AAOjG;AACA;AACA;;AAaA;AACA,OAAO,MAAME,gBAAgB,GAAGF,iBAAiB,CAAoB,kBAAkB,CAAC;;AAOxF;;AASA;AACA;AACA,OAAO,MAAMG,2BAA2B,GAAGH,iBAAiB,CAE1D,6BAA6B,CAAC;AAOhC;AACA,OAAO,MAAMI,0BAA0B,GAAGJ,iBAAiB,CAEzD,4BAA4B,CAAC","ignoreList":[]}
@@ -11,6 +11,7 @@ export interface IGetFolderHierarchyRepositoryErrors {
11
11
  persistence: FolderPersistenceError;
12
12
  }
13
13
  type RepositoryError = IGetFolderHierarchyRepositoryErrors[keyof IGetFolderHierarchyRepositoryErrors];
14
+ /** Fetch folder hierarchy from storage. */
14
15
  export declare const GetFolderHierarchyRepository: import("@webiny/di").Abstraction<IGetFolderHierarchyRepository>;
15
16
  export declare namespace GetFolderHierarchyRepository {
16
17
  type Interface = IGetFolderHierarchyRepository;
@@ -27,6 +28,7 @@ export interface IGetFolderHierarchyUseCaseErrors {
27
28
  persistence: FolderPersistenceError;
28
29
  }
29
30
  type UseCaseError = IGetFolderHierarchyUseCaseErrors[keyof IGetFolderHierarchyUseCaseErrors];
31
+ /** Retrieve the full folder hierarchy. */
30
32
  export declare const GetFolderHierarchyUseCase: import("@webiny/di").Abstraction<IGetFolderHierarchyUseCase>;
31
33
  export declare namespace GetFolderHierarchyUseCase {
32
34
  type Interface = IGetFolderHierarchyUseCase;
@@ -4,12 +4,14 @@ import { createAbstraction } from "@webiny/feature/api";
4
4
  * GetFolderHierarchy repository interface
5
5
  */
6
6
 
7
+ /** Fetch folder hierarchy from storage. */
7
8
  export const GetFolderHierarchyRepository = createAbstraction("GetFolderHierarchyRepository");
8
9
 
9
10
  /**
10
11
  * GetFolderHierarchy use case interface
11
12
  */
12
13
 
14
+ /** Retrieve the full folder hierarchy. */
13
15
  export const GetFolderHierarchyUseCase = createAbstraction("GetFolderHierarchyUseCase");
14
16
 
15
17
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","GetFolderHierarchyRepository","GetFolderHierarchyUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type {\n GetFolderHierarchyParams,\n GetFolderHierarchyResponse\n} from \"~/folder/folder.types.js\";\nimport type { FolderNotAuthorizedError, FolderPersistenceError } from \"~/domain/folder/errors.js\";\n\n/**\n * GetFolderHierarchy repository interface\n */\nexport interface IGetFolderHierarchyRepository {\n execute(\n params: GetFolderHierarchyParams\n ): Promise<Result<GetFolderHierarchyResponse, RepositoryError>>;\n}\n\nexport interface IGetFolderHierarchyRepositoryErrors {\n persistence: FolderPersistenceError;\n}\n\ntype RepositoryError =\n IGetFolderHierarchyRepositoryErrors[keyof IGetFolderHierarchyRepositoryErrors];\n\nexport const GetFolderHierarchyRepository = createAbstraction<IGetFolderHierarchyRepository>(\n \"GetFolderHierarchyRepository\"\n);\n\nexport namespace GetFolderHierarchyRepository {\n export type Interface = IGetFolderHierarchyRepository;\n export type Error = RepositoryError;\n}\n\n/**\n * GetFolderHierarchy use case interface\n */\nexport interface IGetFolderHierarchyUseCase {\n execute(\n params: GetFolderHierarchyParams\n ): Promise<Result<GetFolderHierarchyResponse, UseCaseError>>;\n}\n\nexport interface IGetFolderHierarchyUseCaseErrors {\n notAuthorized: FolderNotAuthorizedError;\n persistence: FolderPersistenceError;\n}\n\ntype UseCaseError = IGetFolderHierarchyUseCaseErrors[keyof IGetFolderHierarchyUseCaseErrors];\n\nexport const GetFolderHierarchyUseCase = createAbstraction<IGetFolderHierarchyUseCase>(\n \"GetFolderHierarchyUseCase\"\n);\n\nexport namespace GetFolderHierarchyUseCase {\n export type Interface = IGetFolderHierarchyUseCase;\n export type Return = Promise<Result<GetFolderHierarchyResponse, UseCaseError>>;\n export type Error = UseCaseError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAQvD;AACA;AACA;;AAcA,OAAO,MAAMC,4BAA4B,GAAGD,iBAAiB,CACzD,8BACJ,CAAC;;AAOD;AACA;AACA;;AAcA,OAAO,MAAME,yBAAyB,GAAGF,iBAAiB,CACtD,2BACJ,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createAbstraction","GetFolderHierarchyRepository","GetFolderHierarchyUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type {\n GetFolderHierarchyParams,\n GetFolderHierarchyResponse\n} from \"~/folder/folder.types.js\";\nimport type { FolderNotAuthorizedError, FolderPersistenceError } from \"~/domain/folder/errors.js\";\n\n/**\n * GetFolderHierarchy repository interface\n */\nexport interface IGetFolderHierarchyRepository {\n execute(\n params: GetFolderHierarchyParams\n ): Promise<Result<GetFolderHierarchyResponse, RepositoryError>>;\n}\n\nexport interface IGetFolderHierarchyRepositoryErrors {\n persistence: FolderPersistenceError;\n}\n\ntype RepositoryError =\n IGetFolderHierarchyRepositoryErrors[keyof IGetFolderHierarchyRepositoryErrors];\n\n/** Fetch folder hierarchy from storage. */\nexport const GetFolderHierarchyRepository = createAbstraction<IGetFolderHierarchyRepository>(\n \"GetFolderHierarchyRepository\"\n);\n\nexport namespace GetFolderHierarchyRepository {\n export type Interface = IGetFolderHierarchyRepository;\n export type Error = RepositoryError;\n}\n\n/**\n * GetFolderHierarchy use case interface\n */\nexport interface IGetFolderHierarchyUseCase {\n execute(\n params: GetFolderHierarchyParams\n ): Promise<Result<GetFolderHierarchyResponse, UseCaseError>>;\n}\n\nexport interface IGetFolderHierarchyUseCaseErrors {\n notAuthorized: FolderNotAuthorizedError;\n persistence: FolderPersistenceError;\n}\n\ntype UseCaseError = IGetFolderHierarchyUseCaseErrors[keyof IGetFolderHierarchyUseCaseErrors];\n\n/** Retrieve the full folder hierarchy. */\nexport const GetFolderHierarchyUseCase = createAbstraction<IGetFolderHierarchyUseCase>(\n \"GetFolderHierarchyUseCase\"\n);\n\nexport namespace GetFolderHierarchyUseCase {\n export type Interface = IGetFolderHierarchyUseCase;\n export type Return = Promise<Result<GetFolderHierarchyResponse, UseCaseError>>;\n export type Error = UseCaseError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAQvD;AACA;AACA;;AAcA;AACA,OAAO,MAAMC,4BAA4B,GAAGD,iBAAiB,CACzD,8BACJ,CAAC;;AAOD;AACA;AACA;;AAcA;AACA,OAAO,MAAME,yBAAyB,GAAGF,iBAAiB,CACtD,2BACJ,CAAC","ignoreList":[]}
@@ -3,6 +3,7 @@ import type { FolderLevelPermissionsTarget, FolderLevelPermissionsTargetListMeta
3
3
  export interface IListFolderLevelPermissionsTargetsUseCase {
4
4
  execute: () => Promise<Result<[FolderLevelPermissionsTarget[], FolderLevelPermissionsTargetListMeta]>>;
5
5
  }
6
+ /** List targets for folder-level permissions. */
6
7
  export declare const ListFolderLevelPermissionsTargetsUseCase: import("@webiny/di").Abstraction<IListFolderLevelPermissionsTargetsUseCase>;
7
8
  export declare namespace ListFolderLevelPermissionsTargetsUseCase {
8
9
  type Interface = IListFolderLevelPermissionsTargetsUseCase;
@@ -2,6 +2,7 @@ import { createAbstraction } from "@webiny/feature/api";
2
2
 
3
3
  // Use Case Abstraction
4
4
 
5
+ /** List targets for folder-level permissions. */
5
6
  export const ListFolderLevelPermissionsTargetsUseCase = createAbstraction("ListFolderLevelPermissionsTargetsUseCase");
6
7
 
7
8
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","ListFolderLevelPermissionsTargetsUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type {\n FolderLevelPermissionsTarget,\n FolderLevelPermissionsTargetListMeta\n} from \"~/folder/folder.types.js\";\n\n// Use Case Abstraction\nexport interface IListFolderLevelPermissionsTargetsUseCase {\n execute: () => Promise<\n Result<[FolderLevelPermissionsTarget[], FolderLevelPermissionsTargetListMeta]>\n >;\n}\n\nexport const ListFolderLevelPermissionsTargetsUseCase =\n createAbstraction<IListFolderLevelPermissionsTargetsUseCase>(\n \"ListFolderLevelPermissionsTargetsUseCase\"\n );\n\nexport namespace ListFolderLevelPermissionsTargetsUseCase {\n export type Interface = IListFolderLevelPermissionsTargetsUseCase;\n export type Return = Promise<\n Result<[FolderLevelPermissionsTarget[], FolderLevelPermissionsTargetListMeta]>\n >;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAgB,qBAAqB;;AAM/D;;AAOA,OAAO,MAAMC,wCAAwC,GACjDD,iBAAiB,CACb,0CACJ,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createAbstraction","ListFolderLevelPermissionsTargetsUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type {\n FolderLevelPermissionsTarget,\n FolderLevelPermissionsTargetListMeta\n} from \"~/folder/folder.types.js\";\n\n// Use Case Abstraction\nexport interface IListFolderLevelPermissionsTargetsUseCase {\n execute: () => Promise<\n Result<[FolderLevelPermissionsTarget[], FolderLevelPermissionsTargetListMeta]>\n >;\n}\n\n/** List targets for folder-level permissions. */\nexport const ListFolderLevelPermissionsTargetsUseCase =\n createAbstraction<IListFolderLevelPermissionsTargetsUseCase>(\n \"ListFolderLevelPermissionsTargetsUseCase\"\n );\n\nexport namespace ListFolderLevelPermissionsTargetsUseCase {\n export type Interface = IListFolderLevelPermissionsTargetsUseCase;\n export type Return = Promise<\n Result<[FolderLevelPermissionsTarget[], FolderLevelPermissionsTargetListMeta]>\n >;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAgB,qBAAqB;;AAM/D;;AAOA;AACA,OAAO,MAAMC,wCAAwC,GACjDD,iBAAiB,CACb,0CACJ,CAAC","ignoreList":[]}
@@ -16,6 +16,7 @@ export interface IListFoldersRepositoryErrors {
16
16
  persistence: FolderPersistenceError;
17
17
  }
18
18
  type RepositoryError = IListFoldersRepositoryErrors[keyof IListFoldersRepositoryErrors];
19
+ /** Fetch folders from storage. */
19
20
  export declare const ListFoldersRepository: import("@webiny/di").Abstraction<IListFoldersRepository>;
20
21
  export declare namespace ListFoldersRepository {
21
22
  type Interface = IListFoldersRepository;
@@ -33,6 +34,7 @@ export interface IListFoldersUseCaseErrors {
33
34
  persistence: FolderPersistenceError;
34
35
  }
35
36
  type UseCaseError = IListFoldersUseCaseErrors[keyof IListFoldersUseCaseErrors];
37
+ /** List folders with filtering. */
36
38
  export declare const ListFoldersUseCase: import("@webiny/di").Abstraction<IListFoldersUseCase>;
37
39
  export declare namespace ListFoldersUseCase {
38
40
  type Interface = IListFoldersUseCase;
@@ -4,12 +4,14 @@ import { createAbstraction } from "@webiny/feature/api";
4
4
  * ListFolders repository interface
5
5
  */
6
6
 
7
+ /** Fetch folders from storage. */
7
8
  export const ListFoldersRepository = createAbstraction("ListFoldersRepository");
8
9
 
9
10
  /**
10
11
  * ListFolders use case interface
11
12
  */
12
13
 
14
+ /** List folders with filtering. */
13
15
  export const ListFoldersUseCase = createAbstraction("ListFoldersUseCase");
14
16
 
15
17
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","ListFoldersRepository","ListFoldersUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type { Folder, ListFoldersParams } from \"~/folder/folder.types.js\";\nimport type { ListMeta } from \"~/types.js\";\nimport type { FolderNotAuthorizedError, FolderPersistenceError } from \"~/domain/folder/errors.js\";\n\ninterface IListFoldersResult {\n folders: Folder[];\n meta: ListMeta;\n}\n\n/**\n * ListFolders repository interface\n */\nexport interface IListFoldersRepository {\n execute(params: ListFoldersParams): Promise<Result<IListFoldersResult, RepositoryError>>;\n}\n\nexport interface IListFoldersRepositoryErrors {\n persistence: FolderPersistenceError;\n}\n\ntype RepositoryError = IListFoldersRepositoryErrors[keyof IListFoldersRepositoryErrors];\n\nexport const ListFoldersRepository =\n createAbstraction<IListFoldersRepository>(\"ListFoldersRepository\");\n\nexport namespace ListFoldersRepository {\n export type Interface = IListFoldersRepository;\n export type Return = Promise<Result<IListFoldersResult, RepositoryError>>;\n export type Error = RepositoryError;\n}\n\n/**\n * ListFolders use case interface\n */\nexport interface IListFoldersUseCase {\n execute(params: ListFoldersParams): Promise<Result<IListFoldersResult, UseCaseError>>;\n}\n\nexport interface IListFoldersUseCaseErrors {\n notAuthorized: FolderNotAuthorizedError;\n persistence: FolderPersistenceError;\n}\n\ntype UseCaseError = IListFoldersUseCaseErrors[keyof IListFoldersUseCaseErrors];\n\nexport const ListFoldersUseCase = createAbstraction<IListFoldersUseCase>(\"ListFoldersUseCase\");\n\nexport namespace ListFoldersUseCase {\n export type Interface = IListFoldersUseCase;\n export type Return = Promise<Result<IListFoldersResult, UseCaseError>>;\n export type Error = UseCaseError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAWvD;AACA;AACA;;AAWA,OAAO,MAAMC,qBAAqB,GAC9BD,iBAAiB,CAAyB,uBAAuB,CAAC;;AAQtE;AACA;AACA;;AAYA,OAAO,MAAME,kBAAkB,GAAGF,iBAAiB,CAAsB,oBAAoB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createAbstraction","ListFoldersRepository","ListFoldersUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type { Folder, ListFoldersParams } from \"~/folder/folder.types.js\";\nimport type { ListMeta } from \"~/types.js\";\nimport type { FolderNotAuthorizedError, FolderPersistenceError } from \"~/domain/folder/errors.js\";\n\ninterface IListFoldersResult {\n folders: Folder[];\n meta: ListMeta;\n}\n\n/**\n * ListFolders repository interface\n */\nexport interface IListFoldersRepository {\n execute(params: ListFoldersParams): Promise<Result<IListFoldersResult, RepositoryError>>;\n}\n\nexport interface IListFoldersRepositoryErrors {\n persistence: FolderPersistenceError;\n}\n\ntype RepositoryError = IListFoldersRepositoryErrors[keyof IListFoldersRepositoryErrors];\n\n/** Fetch folders from storage. */\nexport const ListFoldersRepository =\n createAbstraction<IListFoldersRepository>(\"ListFoldersRepository\");\n\nexport namespace ListFoldersRepository {\n export type Interface = IListFoldersRepository;\n export type Return = Promise<Result<IListFoldersResult, RepositoryError>>;\n export type Error = RepositoryError;\n}\n\n/**\n * ListFolders use case interface\n */\nexport interface IListFoldersUseCase {\n execute(params: ListFoldersParams): Promise<Result<IListFoldersResult, UseCaseError>>;\n}\n\nexport interface IListFoldersUseCaseErrors {\n notAuthorized: FolderNotAuthorizedError;\n persistence: FolderPersistenceError;\n}\n\ntype UseCaseError = IListFoldersUseCaseErrors[keyof IListFoldersUseCaseErrors];\n\n/** List folders with filtering. */\nexport const ListFoldersUseCase = createAbstraction<IListFoldersUseCase>(\"ListFoldersUseCase\");\n\nexport namespace ListFoldersUseCase {\n export type Interface = IListFoldersUseCase;\n export type Return = Promise<Result<IListFoldersResult, UseCaseError>>;\n export type Error = UseCaseError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAWvD;AACA;AACA;;AAWA;AACA,OAAO,MAAMC,qBAAqB,GAC9BD,iBAAiB,CAAyB,uBAAuB,CAAC;;AAQtE;AACA;AACA;;AAYA;AACA,OAAO,MAAME,kBAAkB,GAAGF,iBAAiB,CAAsB,oBAAoB,CAAC","ignoreList":[]}
@@ -13,6 +13,7 @@ export interface IUpdateFolderRepositoryErrors {
13
13
  validation: FolderValidationError;
14
14
  }
15
15
  type RepositoryError = IUpdateFolderRepositoryErrors[keyof IUpdateFolderRepositoryErrors];
16
+ /** Persist folder updates. */
16
17
  export declare const UpdateFolderRepository: import("@webiny/di").Abstraction<IUpdateFolderRepository>;
17
18
  export declare namespace UpdateFolderRepository {
18
19
  type Interface = IUpdateFolderRepository;
@@ -32,6 +33,7 @@ export interface IUpdateFolderUseCaseErrors {
32
33
  validation: FolderValidationError;
33
34
  }
34
35
  type UseCaseError = IUpdateFolderUseCaseErrors[keyof IUpdateFolderUseCaseErrors];
36
+ /** Update a folder. */
35
37
  export declare const UpdateFolderUseCase: import("@webiny/di").Abstraction<IUpdateFolderUseCase>;
36
38
  export declare namespace UpdateFolderUseCase {
37
39
  type Interface = IUpdateFolderUseCase;
@@ -47,11 +49,13 @@ export interface FolderAfterUpdatePayload {
47
49
  folder: Folder;
48
50
  input: Record<string, any>;
49
51
  }
52
+ /** Hook into folder lifecycle before a folder is updated. */
50
53
  export declare const FolderBeforeUpdateEventHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<FolderBeforeUpdatePayload>>>;
51
54
  export declare namespace FolderBeforeUpdateEventHandler {
52
55
  type Interface = IEventHandler<DomainEvent<FolderBeforeUpdatePayload>>;
53
56
  type Event = DomainEvent<FolderBeforeUpdatePayload>;
54
57
  }
58
+ /** Hook into folder lifecycle after a folder is updated. */
55
59
  export declare const FolderAfterUpdateEventHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<FolderAfterUpdatePayload>>>;
56
60
  export declare namespace FolderAfterUpdateEventHandler {
57
61
  type Interface = IEventHandler<DomainEvent<FolderAfterUpdatePayload>>;
@@ -4,18 +4,22 @@ import { createAbstraction } from "@webiny/feature/api";
4
4
  * UpdateFolder repository interface
5
5
  */
6
6
 
7
+ /** Persist folder updates. */
7
8
  export const UpdateFolderRepository = createAbstraction("UpdateFolderRepository");
8
9
 
9
10
  /**
10
11
  * UpdateFolder use case interface
11
12
  */
12
13
 
14
+ /** Update a folder. */
13
15
  export const UpdateFolderUseCase = createAbstraction("UpdateFolderUseCase");
14
16
 
15
17
  // Event Payload Types
16
18
 
17
19
  // Event Handler Abstractions
20
+ /** Hook into folder lifecycle before a folder is updated. */
18
21
  export const FolderBeforeUpdateEventHandler = createAbstraction("FolderBeforeUpdateEventHandler");
22
+ /** Hook into folder lifecycle after a folder is updated. */
19
23
  export const FolderAfterUpdateEventHandler = createAbstraction("FolderAfterUpdateEventHandler");
20
24
 
21
25
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","UpdateFolderRepository","UpdateFolderUseCase","FolderBeforeUpdateEventHandler","FolderAfterUpdateEventHandler"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type { DomainEvent, IEventHandler } from \"@webiny/api-core/features/EventPublisher\";\nimport type { Folder, UpdateFolderParams } from \"~/folder/folder.types.js\";\nimport {\n FolderCannotMoveToNewParent,\n type FolderNotAuthorizedError,\n type FolderNotFoundError,\n type FolderPersistenceError,\n type FolderValidationError\n} from \"~/domain/folder/errors.js\";\n\n/**\n * UpdateFolder repository interface\n */\nexport interface IUpdateFolderRepository {\n execute(id: string, data: UpdateFolderParams): Promise<Result<Folder, RepositoryError>>;\n}\n\nexport interface IUpdateFolderRepositoryErrors {\n persistence: FolderPersistenceError;\n validation: FolderValidationError;\n}\n\ntype RepositoryError = IUpdateFolderRepositoryErrors[keyof IUpdateFolderRepositoryErrors];\n\nexport const UpdateFolderRepository =\n createAbstraction<IUpdateFolderRepository>(\"UpdateFolderRepository\");\n\nexport namespace UpdateFolderRepository {\n export type Interface = IUpdateFolderRepository;\n export type Error = RepositoryError;\n}\n\n/**\n * UpdateFolder use case interface\n */\nexport interface IUpdateFolderUseCase {\n execute(id: string, data: UpdateFolderParams): Promise<Result<Folder, UseCaseError>>;\n}\n\nexport interface IUpdateFolderUseCaseErrors {\n notAuthorized: FolderNotAuthorizedError;\n notFound: FolderNotFoundError;\n cannotMoveToNewParent: FolderCannotMoveToNewParent;\n persistence: FolderPersistenceError;\n validation: FolderValidationError;\n}\n\ntype UseCaseError = IUpdateFolderUseCaseErrors[keyof IUpdateFolderUseCaseErrors];\n\nexport const UpdateFolderUseCase = createAbstraction<IUpdateFolderUseCase>(\"UpdateFolderUseCase\");\n\nexport namespace UpdateFolderUseCase {\n export type Interface = IUpdateFolderUseCase;\n export type Return = Promise<Result<Folder, UseCaseError>>;\n export type Error = UseCaseError;\n}\n\n// Event Payload Types\nexport interface FolderBeforeUpdatePayload {\n original: Folder;\n input: Record<string, any>;\n}\n\nexport interface FolderAfterUpdatePayload {\n original: Folder;\n folder: Folder;\n input: Record<string, any>;\n}\n\n// Event Handler Abstractions\nexport const FolderBeforeUpdateEventHandler = createAbstraction<\n IEventHandler<DomainEvent<FolderBeforeUpdatePayload>>\n>(\"FolderBeforeUpdateEventHandler\");\n\nexport namespace FolderBeforeUpdateEventHandler {\n export type Interface = IEventHandler<DomainEvent<FolderBeforeUpdatePayload>>;\n export type Event = DomainEvent<FolderBeforeUpdatePayload>;\n}\n\nexport const FolderAfterUpdateEventHandler = createAbstraction<\n IEventHandler<DomainEvent<FolderAfterUpdatePayload>>\n>(\"FolderAfterUpdateEventHandler\");\n\nexport namespace FolderAfterUpdateEventHandler {\n export type Interface = IEventHandler<DomainEvent<FolderAfterUpdatePayload>>;\n export type Event = DomainEvent<FolderAfterUpdatePayload>;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAYvD;AACA;AACA;;AAYA,OAAO,MAAMC,sBAAsB,GAC/BD,iBAAiB,CAA0B,wBAAwB,CAAC;;AAOxE;AACA;AACA;;AAeA,OAAO,MAAME,mBAAmB,GAAGF,iBAAiB,CAAuB,qBAAqB,CAAC;;AAQjG;;AAYA;AACA,OAAO,MAAMG,8BAA8B,GAAGH,iBAAiB,CAE7D,gCAAgC,CAAC;AAOnC,OAAO,MAAMI,6BAA6B,GAAGJ,iBAAiB,CAE5D,+BAA+B,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createAbstraction","UpdateFolderRepository","UpdateFolderUseCase","FolderBeforeUpdateEventHandler","FolderAfterUpdateEventHandler"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type { DomainEvent, IEventHandler } from \"@webiny/api-core/features/EventPublisher\";\nimport type { Folder, UpdateFolderParams } from \"~/folder/folder.types.js\";\nimport {\n FolderCannotMoveToNewParent,\n type FolderNotAuthorizedError,\n type FolderNotFoundError,\n type FolderPersistenceError,\n type FolderValidationError\n} from \"~/domain/folder/errors.js\";\n\n/**\n * UpdateFolder repository interface\n */\nexport interface IUpdateFolderRepository {\n execute(id: string, data: UpdateFolderParams): Promise<Result<Folder, RepositoryError>>;\n}\n\nexport interface IUpdateFolderRepositoryErrors {\n persistence: FolderPersistenceError;\n validation: FolderValidationError;\n}\n\ntype RepositoryError = IUpdateFolderRepositoryErrors[keyof IUpdateFolderRepositoryErrors];\n\n/** Persist folder updates. */\nexport const UpdateFolderRepository =\n createAbstraction<IUpdateFolderRepository>(\"UpdateFolderRepository\");\n\nexport namespace UpdateFolderRepository {\n export type Interface = IUpdateFolderRepository;\n export type Error = RepositoryError;\n}\n\n/**\n * UpdateFolder use case interface\n */\nexport interface IUpdateFolderUseCase {\n execute(id: string, data: UpdateFolderParams): Promise<Result<Folder, UseCaseError>>;\n}\n\nexport interface IUpdateFolderUseCaseErrors {\n notAuthorized: FolderNotAuthorizedError;\n notFound: FolderNotFoundError;\n cannotMoveToNewParent: FolderCannotMoveToNewParent;\n persistence: FolderPersistenceError;\n validation: FolderValidationError;\n}\n\ntype UseCaseError = IUpdateFolderUseCaseErrors[keyof IUpdateFolderUseCaseErrors];\n\n/** Update a folder. */\nexport const UpdateFolderUseCase = createAbstraction<IUpdateFolderUseCase>(\"UpdateFolderUseCase\");\n\nexport namespace UpdateFolderUseCase {\n export type Interface = IUpdateFolderUseCase;\n export type Return = Promise<Result<Folder, UseCaseError>>;\n export type Error = UseCaseError;\n}\n\n// Event Payload Types\nexport interface FolderBeforeUpdatePayload {\n original: Folder;\n input: Record<string, any>;\n}\n\nexport interface FolderAfterUpdatePayload {\n original: Folder;\n folder: Folder;\n input: Record<string, any>;\n}\n\n// Event Handler Abstractions\n/** Hook into folder lifecycle before a folder is updated. */\nexport const FolderBeforeUpdateEventHandler = createAbstraction<\n IEventHandler<DomainEvent<FolderBeforeUpdatePayload>>\n>(\"FolderBeforeUpdateEventHandler\");\n\nexport namespace FolderBeforeUpdateEventHandler {\n export type Interface = IEventHandler<DomainEvent<FolderBeforeUpdatePayload>>;\n export type Event = DomainEvent<FolderBeforeUpdatePayload>;\n}\n\n/** Hook into folder lifecycle after a folder is updated. */\nexport const FolderAfterUpdateEventHandler = createAbstraction<\n IEventHandler<DomainEvent<FolderAfterUpdatePayload>>\n>(\"FolderAfterUpdateEventHandler\");\n\nexport namespace FolderAfterUpdateEventHandler {\n export type Interface = IEventHandler<DomainEvent<FolderAfterUpdatePayload>>;\n export type Event = DomainEvent<FolderAfterUpdatePayload>;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAYvD;AACA;AACA;;AAYA;AACA,OAAO,MAAMC,sBAAsB,GAC/BD,iBAAiB,CAA0B,wBAAwB,CAAC;;AAOxE;AACA;AACA;;AAeA;AACA,OAAO,MAAME,mBAAmB,GAAGF,iBAAiB,CAAuB,qBAAqB,CAAC;;AAQjG;;AAYA;AACA;AACA,OAAO,MAAMG,8BAA8B,GAAGH,iBAAiB,CAE7D,gCAAgC,CAAC;AAOnC;AACA,OAAO,MAAMI,6BAA6B,GAAGJ,iBAAiB,CAE5D,+BAA+B,CAAC","ignoreList":[]}
@@ -1,4 +1,5 @@
1
1
  import type { AcoStorageOperations as IAcoStorageOperations } from "../../../types.js";
2
+ /** Storage operations for folder filtering. */
2
3
  export declare const FilterStorageOperations: import("@webiny/di").Abstraction<import("~/types.js").AcoFilterStorageOperations>;
3
4
  export declare namespace FilterStorageOperations {
4
5
  type Interface = IAcoStorageOperations["filter"];
@@ -1,4 +1,5 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
+ /** Storage operations for folder filtering. */
2
3
  export const FilterStorageOperations = createAbstraction("FilterStorageOperations");
3
4
 
4
5
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","FilterStorageOperations"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { AcoStorageOperations as IAcoStorageOperations } from \"~/types.js\";\n\nexport const FilterStorageOperations =\n createAbstraction<IAcoStorageOperations[\"filter\"]>(\"FilterStorageOperations\");\n\nexport namespace FilterStorageOperations {\n export type Interface = IAcoStorageOperations[\"filter\"];\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAGvD,OAAO,MAAMC,uBAAuB,GAChCD,iBAAiB,CAAkC,yBAAyB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createAbstraction","FilterStorageOperations"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { AcoStorageOperations as IAcoStorageOperations } from \"~/types.js\";\n\n/** Storage operations for folder filtering. */\nexport const FilterStorageOperations =\n createAbstraction<IAcoStorageOperations[\"filter\"]>(\"FilterStorageOperations\");\n\nexport namespace FilterStorageOperations {\n export type Interface = IAcoStorageOperations[\"filter\"];\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAGvD;AACA,OAAO,MAAMC,uBAAuB,GAChCD,iBAAiB,CAAkC,yBAAyB,CAAC","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/api-aco",
3
- "version": "6.0.0",
3
+ "version": "6.1.0-beta.0",
4
4
  "type": "module",
5
5
  "main": "index.js",
6
6
  "keywords": [
@@ -32,35 +32,35 @@
32
32
  ".": "./index.js"
33
33
  },
34
34
  "dependencies": {
35
- "@webiny/api": "6.0.0",
36
- "@webiny/api-core": "6.0.0",
37
- "@webiny/api-headless-cms": "6.0.0",
38
- "@webiny/aws-sdk": "6.0.0",
39
- "@webiny/db-dynamodb": "6.0.0",
35
+ "@webiny/api": "6.1.0-beta.0",
36
+ "@webiny/api-core": "6.1.0-beta.0",
37
+ "@webiny/api-headless-cms": "6.1.0-beta.0",
38
+ "@webiny/aws-sdk": "6.1.0-beta.0",
39
+ "@webiny/db-dynamodb": "6.1.0-beta.0",
40
40
  "@webiny/di": "0.2.3",
41
- "@webiny/error": "6.0.0",
42
- "@webiny/feature": "6.0.0",
43
- "@webiny/handler": "6.0.0",
44
- "@webiny/handler-graphql": "6.0.0",
45
- "@webiny/shared-aco": "6.0.0",
46
- "@webiny/tasks": "6.0.0",
47
- "@webiny/utils": "6.0.0",
48
- "@webiny/validation": "6.0.0",
41
+ "@webiny/error": "6.1.0-beta.0",
42
+ "@webiny/feature": "6.1.0-beta.0",
43
+ "@webiny/handler": "6.1.0-beta.0",
44
+ "@webiny/handler-graphql": "6.1.0-beta.0",
45
+ "@webiny/shared-aco": "6.1.0-beta.0",
46
+ "@webiny/tasks": "6.1.0-beta.0",
47
+ "@webiny/utils": "6.1.0-beta.0",
48
+ "@webiny/validation": "6.1.0-beta.0",
49
49
  "lodash": "4.17.23"
50
50
  },
51
51
  "devDependencies": {
52
- "@webiny/api-core-ddb": "6.0.0",
53
- "@webiny/api-file-manager": "6.0.0",
54
- "@webiny/build-tools": "6.0.0",
55
- "@webiny/handler-aws": "6.0.0",
56
- "@webiny/plugins": "6.0.0",
57
- "@webiny/project-utils": "6.0.0",
58
- "@webiny/wcp": "6.0.0",
59
- "graphql": "16.13.1",
52
+ "@webiny/api-core-ddb": "6.1.0-beta.0",
53
+ "@webiny/api-file-manager": "6.1.0-beta.0",
54
+ "@webiny/build-tools": "6.1.0-beta.0",
55
+ "@webiny/handler-aws": "6.1.0-beta.0",
56
+ "@webiny/plugins": "6.1.0-beta.0",
57
+ "@webiny/project-utils": "6.1.0-beta.0",
58
+ "@webiny/wcp": "6.1.0-beta.0",
59
+ "graphql": "16.13.2",
60
60
  "prettier": "3.6.2",
61
61
  "rimraf": "6.1.3",
62
62
  "typescript": "5.9.3",
63
- "vitest": "4.0.18"
63
+ "vitest": "4.1.2"
64
64
  },
65
- "gitHead": "9c6892640a45679ff521e25cd6587dff57393a2e"
65
+ "gitHead": "a3bd3695c66c79238e380d7360d9731b5fcf9c87"
66
66
  }
@@ -3,7 +3,7 @@ import { IdentityContext } from "@webiny/api-core/features/security/IdentityCont
3
3
  export const ensureAuthentication = context => {
4
4
  const identityContext = context.container.resolve(IdentityContext);
5
5
  const identity = identityContext.getIdentity();
6
- if (identity.isAdmin()) {
6
+ if (!identity.isAnonymous()) {
7
7
  return;
8
8
  }
9
9
  throw new NotAuthorizedError();
@@ -1 +1 @@
1
- {"version":3,"names":["NotAuthorizedError","IdentityContext","ensureAuthentication","context","identityContext","container","resolve","identity","getIdentity","isAdmin"],"sources":["ensureAuthentication.ts"],"sourcesContent":["import { NotAuthorizedError } from \"@webiny/api-core/features/security/shared/errors.js\";\nimport type { ApiCoreContext } from \"@webiny/api-core/types/core.js\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\n\nexport const ensureAuthentication = (context: ApiCoreContext) => {\n const identityContext = context.container.resolve(IdentityContext);\n const identity = identityContext.getIdentity();\n\n if (identity.isAdmin()) {\n return;\n }\n throw new NotAuthorizedError();\n};\n"],"mappings":"AAAA,SAASA,kBAAkB,QAAQ,qDAAqD;AAExF,SAASC,eAAe,QAAQ,6DAA6D;AAE7F,OAAO,MAAMC,oBAAoB,GAAIC,OAAuB,IAAK;EAC7D,MAAMC,eAAe,GAAGD,OAAO,CAACE,SAAS,CAACC,OAAO,CAACL,eAAe,CAAC;EAClE,MAAMM,QAAQ,GAAGH,eAAe,CAACI,WAAW,CAAC,CAAC;EAE9C,IAAID,QAAQ,CAACE,OAAO,CAAC,CAAC,EAAE;IACpB;EACJ;EACA,MAAM,IAAIT,kBAAkB,CAAC,CAAC;AAClC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["NotAuthorizedError","IdentityContext","ensureAuthentication","context","identityContext","container","resolve","identity","getIdentity","isAnonymous"],"sources":["ensureAuthentication.ts"],"sourcesContent":["import { NotAuthorizedError } from \"@webiny/api-core/features/security/shared/errors.js\";\nimport type { ApiCoreContext } from \"@webiny/api-core/types/core.js\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\n\nexport const ensureAuthentication = (context: ApiCoreContext) => {\n const identityContext = context.container.resolve(IdentityContext);\n const identity = identityContext.getIdentity();\n\n if (!identity.isAnonymous()) {\n return;\n }\n throw new NotAuthorizedError();\n};\n"],"mappings":"AAAA,SAASA,kBAAkB,QAAQ,qDAAqD;AAExF,SAASC,eAAe,QAAQ,6DAA6D;AAE7F,OAAO,MAAMC,oBAAoB,GAAIC,OAAuB,IAAK;EAC7D,MAAMC,eAAe,GAAGD,OAAO,CAACE,SAAS,CAACC,OAAO,CAACL,eAAe,CAAC;EAClE,MAAMM,QAAQ,GAAGH,eAAe,CAACI,WAAW,CAAC,CAAC;EAE9C,IAAI,CAACD,QAAQ,CAACE,WAAW,CAAC,CAAC,EAAE;IACzB;EACJ;EACA,MAAM,IAAIT,kBAAkB,CAAC,CAAC;AAClC,CAAC","ignoreList":[]}
@@ -1,6 +0,0 @@
1
- /**
2
- * 006
3
- * PageDataMigration in ddb-es and ddb
4
- */
5
- export declare const attachAcoRecordPrefix: (id: string) => string;
6
- export declare const removeAcoRecordPrefix: (id: string) => string;
@@ -1,27 +0,0 @@
1
- /**
2
- * !!! DO NOT CHANGE THIS !!!
3
- * If this is changed, you will need to create new migration which changes the IDs for the users.
4
- *
5
- * packages/migrations/src/migrations/5.35.0/006/ddb/PageDataMigration.ts:236
6
- * packages/migrations/src/migrations/5.35.0/006/ddb-es/PageDataMigration.ts:419
7
- */
8
- const WBY_ACO_PREFIX = "wby-aco-";
9
- /**
10
- * 006
11
- * PageDataMigration in ddb-es and ddb
12
- */
13
-
14
- export const attachAcoRecordPrefix = id => {
15
- if (id.startsWith(WBY_ACO_PREFIX)) {
16
- return id;
17
- }
18
- return `${WBY_ACO_PREFIX}${id}`;
19
- };
20
- export const removeAcoRecordPrefix = id => {
21
- if (id.startsWith(WBY_ACO_PREFIX) === false) {
22
- return id;
23
- }
24
- return id.substring(WBY_ACO_PREFIX.length);
25
- };
26
-
27
- //# sourceMappingURL=acoRecordId.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["WBY_ACO_PREFIX","attachAcoRecordPrefix","id","startsWith","removeAcoRecordPrefix","substring","length"],"sources":["acoRecordId.ts"],"sourcesContent":["/**\n * !!! DO NOT CHANGE THIS !!!\n * If this is changed, you will need to create new migration which changes the IDs for the users.\n *\n * packages/migrations/src/migrations/5.35.0/006/ddb/PageDataMigration.ts:236\n * packages/migrations/src/migrations/5.35.0/006/ddb-es/PageDataMigration.ts:419\n */\nconst WBY_ACO_PREFIX = \"wby-aco-\";\n/**\n * 006\n * PageDataMigration in ddb-es and ddb\n */\n\nexport const attachAcoRecordPrefix = (id: string) => {\n if (id.startsWith(WBY_ACO_PREFIX)) {\n return id;\n }\n return `${WBY_ACO_PREFIX}${id}`;\n};\n\nexport const removeAcoRecordPrefix = (id: string) => {\n if (id.startsWith(WBY_ACO_PREFIX) === false) {\n return id;\n }\n return id.substring(WBY_ACO_PREFIX.length);\n};\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMA,cAAc,GAAG,UAAU;AACjC;AACA;AACA;AACA;;AAEA,OAAO,MAAMC,qBAAqB,GAAIC,EAAU,IAAK;EACjD,IAAIA,EAAE,CAACC,UAAU,CAACH,cAAc,CAAC,EAAE;IAC/B,OAAOE,EAAE;EACb;EACA,OAAO,GAAGF,cAAc,GAAGE,EAAE,EAAE;AACnC,CAAC;AAED,OAAO,MAAME,qBAAqB,GAAIF,EAAU,IAAK;EACjD,IAAIA,EAAE,CAACC,UAAU,CAACH,cAAc,CAAC,KAAK,KAAK,EAAE;IACzC,OAAOE,EAAE;EACb;EACA,OAAOA,EAAE,CAACG,SAAS,CAACL,cAAc,CAACM,MAAM,CAAC;AAC9C,CAAC","ignoreList":[]}