Skip to main content

webiny-api-aco-catalog

API — ACO — 32 abstractions. Folder event handlers and use cases.

Source facts

Repository
webiny/webiny-js
Last source activity
July 24, 2026 at 12:20
Detected SKILL.md language
English
Stars
8,049
Forks
682

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
webiny-api-aco-catalog
description
API — ACO — 32 abstractions. Folder event handlers and use cases.
# API — ACO Folder event handlers and use cases. ## How to Use 1. Find the abstraction you need below 2. You MUST read the source file to get the exact interface and types! 3. Import: `import { Name } from "<importPath>";` 4. See `webiny-use-case-pattern` or `webiny-event-handler-pattern` skills for implementation patterns ## Abstractions --- **Name:** `CreateFlpUseCase` **Import:** `import { CreateFlpUseCase } from "webiny/api/aco/flp"` **Source:** `@webiny/api-aco/features/flp/CreateFlp/abstractions.ts` **Description:** Create a folder-level permission. --- **Name:** `CreateFolderRepository` **Import:** `import { CreateFolderRepository } from "webiny/api/aco/folder"` **Source:** `@webiny/api-aco/features/folder/CreateFolder/abstractions.ts` **Description:** Persist a newly created folder. --- **Name:** `CreateFolderUseCase` **Import:** `import { CreateFolderUseCase } from "webiny/api/aco/folder"` **Source:** `@webiny/api-aco/features/folder/CreateFolder/abstractions.ts` **Description:** Create a new folder. --- **Name:** `DeleteFlpUseCase` **Import:** `import { DeleteFlpUseCase } from "webiny/api/aco/flp"` **Source:** `@webiny/api-aco/features/flp/DeleteFlp/abstractions.ts` **Description:** Delete a folder-level permission. --- **Name:** `DeleteFolderRepository` **Import:** `import { DeleteFolderRepository } from "webiny/api/aco/folder"` **Source:** `@webiny/api-aco/features/folder/DeleteFolder/abstractions.ts` **Description:** Persist folder deletion. --- **Name:** `DeleteFolderUseCase` **Import:** `import { DeleteFolderUseCase } from "webiny/api/aco/folder"` **Source:** `@webiny/api-aco/features/folder/DeleteFolder/abstractions.ts` **Description:** Delete a folder. --- **Name:** `EnsureFolderIsEmpty` **Import:** `import { EnsureFolderIsEmpty } from "webiny/api/aco/folder"` **Source:** `@webiny/api-aco/features/folder/EnsureFolderIsEmpty/abstractions.ts` **Description:** Verify a folder has no children before deletion. --- **Name:** `FilterStorageOperations` **Import:** `import { FilterStorageOperations } from "webiny/api/aco/folder"` **Source:** `@webiny/api-aco/features/folder/shared/abstractions.ts` **Description:** Storage operations for folder filtering. --- **Name:** `FlpStorageOperations` **Import:** `import { FlpStorageOperations } from "webiny/api/aco/folder"` **Source:** `@webiny/api-aco/features/folder/shared/abstractions.ts` --- **Name:** `Folder` **Kind:** type **Import:** `import type { Folder } from "webiny/api/aco/folder"` **Source:** `@webiny/api-aco/folder/folder.types.ts` --- **Name:** `FolderAfterCreateEventHandler` **Import:** `import { FolderAfterCreateEventHandler } from "webiny/api/aco/folder"` **Source:** `@webiny/api-aco/features/folder/CreateFolder/abstractions.ts` **Description:** Hook into folder lifecycle after a folder is created. --- **Name:** `FolderAfterDeleteEventHandler` **Import:** `import { FolderAfterDeleteEventHandler } from "webiny/api/aco/folder"` **Source:** `@webiny/api-aco/features/folder/DeleteFolder/abstractions.ts` **Description:** Hook into folder lifecycle after a folder is deleted. --- **Name:** `FolderAfterGetEventHandler` **Import:** `import { FolderAfterGetEventHandler } from "webiny/api/aco/folder"` **Source:** `@webiny/api-aco/features/folder/GetFolder/abstractions.ts` **Description:** Hook into folder lifecycle after a folder is retrieved. --- **Name:** `FolderAfterUpdateEventHandler` **Import:** `import { FolderAfterUpdateEventHandler } from "webiny/api/aco/folder"` **Source:** `@webiny/api-aco/features/folder/UpdateFolder/abstractions.ts` **Description:** Hook into folder lifecycle after a folder is updated. --- **Name:** `FolderBeforeCreateEventHandler` **Import:** `import { FolderBeforeCreateEventHandler } from "webiny/api/aco/folder"` **Source:** `@webiny/api-aco/features/folder/CreateFolder/abstractions.ts` **Description:** Hook into folder lifecycle before a folder is created. --- **Name:** `FolderBeforeDeleteEventHandler` **Import:** `import { FolderBeforeDeleteEventHandler } from "webiny/api/aco/folder"` **Source:** `@webiny/api-aco/features/folder/DeleteFolder/abstractions.ts` **Description:** Hook into folder lifecycle before a folder is deleted. --- **Name:** `FolderBeforeGetEventHandler` **Import:** `import { FolderBeforeGetEventHandler } from "webiny/api/aco/folder"` **Source:** `@webiny/api-aco/features/folder/GetFolder/abstractions.ts` **Description:** Hook into folder lifecycle before a folder is retrieved. --- **Name:** `FolderBeforeUpdateEventHandler` **Import:** `import { FolderBeforeUpdateEventHandler } from "webiny/api/aco/folder"` **Source:** `@webiny/api-aco/features/folder/UpdateFolder/abstractions.ts` **Description:** Hook into folder lifecycle before a folder is updated. --- **Name:** `FolderLevelPermissions` **Import:** `import { FolderLevelPermissions } from "webiny/api/aco/flp"` **Source:** `@webiny/api-aco/features/flp/FolderLevelPermissions/abstractions.ts` **Description:** Manage folder-level access control. --- **Name:** `GetAncestorsRepository` **Import:** `import { GetAncestorsRepository } from "webiny/api/aco/folder"` **Source:** `@webiny/api-aco/features/folder/GetAncestors/abstractions.ts` **Description:** Fetch ancestor folders from storage. --- **Name:** `GetAncestorsUseCase` **Import:** `import { GetAncestorsUseCase } from "webiny/api/aco/folder"` **Source:** `@webiny/api-aco/features/folder/GetAncestors/abstractions.ts` **Description:** Retrieve ancestor folders in the hierarchy. --- **Name:** `GetFlpUseCase` **Import:** `import { GetFlpUseCase } from "webiny/api/aco/flp"` **Source:** `@webiny/api-aco/features/flp/GetFlp/abstractions.ts` **Description:** Retrieve a folder-level permission. --- **Name:** `GetFolderHierarchyRepository` **Import:** `import { GetFolderHierarchyRepository } from "webiny/api/aco/folder"` **Source:** `@webiny/api-aco/features/folder/GetFolderHierarchy/abstractions.ts` **Description:** Fetch folder hierarchy from storage. --- **Name:** `GetFolderHierarchyUseCase` **Import:** `import { GetFolderHierarchyUseCase } from "webiny/api/aco/folder"` **Source:** `@webiny/api-aco/features/folder/GetFolderHierarchy/abstractions.ts` **Description:** Retrieve the full folder hierarchy. --- **Name:** `GetFolderUseCase` **Import:** `import { GetFolderUseCase } from "webiny/api/aco/folder"` **Source:** `@webiny/api-aco/features/folder/GetFolder/abstractions.ts` **Description:** Retrieve a folder. --- **Name:** `ListFlpsUseCase` **Import:** `import { ListFlpsUseCase } from "webiny/api/aco/flp"` **Source:** `@webiny/api-aco/features/flp/ListFlps/abstractions.ts` **Description:** List folder-level permissions. --- **Name:** `ListFolderLevelPermissionsTargetsUseCase` **Import:** `import { ListFolderLevelPermissionsTargetsUseCase } from "webiny/api/aco/folder"` **Source:** `@webiny/api-aco/features/folder/ListFolderLevelPermissionsTargets/abstractions.ts` **Description:** List targets for folder-level permissions. --- **Name:** `ListFoldersRepository` **Import:** `import { ListFoldersRepository } from "webiny/api/aco/folder"` **Source:** `@webiny/api-aco/features/folder/ListFolders/abstractions.ts` **Description:** Fetch folders from storage. --- **Name:** `ListFoldersUseCase` **Import:** `import { ListFoldersUseCase } from "webiny/api/aco/folder"` **Source:** `@webiny/api-aco/features/folder/ListFolders/abstractions.ts` **Description:** List folders with filtering. --- **Name:** `UpdateFlpUseCase` **Import:** `import { UpdateFlpUseCase } from "webiny/api/aco/flp"` **Source:** `@webiny/api-aco/features/flp/UpdateFlp/abstractions.ts` **Description:** Update a folder-level permission. --- **Name:** `UpdateFolderRepository` **Import:** `import { UpdateFolderRepository } from "webiny/api/aco/folder"` **Source:** `@webiny/api-aco/features/folder/UpdateFolder/abstractions.ts` **Description:** Persist folder updates. --- **Name:** `UpdateFolderUseCase` **Import:** `import { UpdateFolderUseCase } from "webiny/api/aco/folder"` **Source:** `@webiny/api-aco/features/folder/UpdateFolder/abstractions.ts` **Description:** Update a folder. ---
View on GitHub