webiny-api-file-manager-catalog
$
npx mdskill add webiny/webiny-js/webiny-api-file-manager-catalogManage file persistence and operations by providing structured abstractions for file handling.
- Handles tasks requiring the creation or management of one or multiple digital assets.
- Integrates with the core `webiny-api` for file system interactions.
- Exposes specific use cases and repositories for structured implementation patterns.
- Delivers typed abstractions and interfaces for direct programmatic consumption.
SKILL.md
.github/skills/webiny-api-file-manager-catalogView on GitHub ↗
---
name: webiny-api-file-manager-catalog
context: webiny-api
description: >
API — File Manager — 28 abstractions.
File event handlers and use cases.
---
# API — File Manager
File event handlers and use cases.
## How to Use
1. Find the abstraction you need below
2. 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:** `CreateFileRepository`
**Import:** `import { CreateFileRepository } from "webiny/api/file-manager/file"`
**Source:** `@webiny/api-file-manager/features/file/CreateFile/abstractions.ts`
**Description:** Persist a newly created file.
---
**Name:** `CreateFilesInBatchRepository`
**Import:** `import { CreateFilesInBatchRepository } from "webiny/api/file-manager/file"`
**Source:** `@webiny/api-file-manager/features/file/CreateFilesInBatch/abstractions.ts`
**Description:** Persist multiple files created in batch.
---
**Name:** `CreateFilesInBatchUseCase`
**Import:** `import { CreateFilesInBatchUseCase } from "webiny/api/file-manager/file"`
**Source:** `@webiny/api-file-manager/features/file/CreateFilesInBatch/abstractions.ts`
**Description:** Upload and create multiple files in batch.
---
**Name:** `CreateFileUseCase`
**Import:** `import { CreateFileUseCase } from "webiny/api/file-manager/file"`
**Source:** `@webiny/api-file-manager/features/file/CreateFile/abstractions.ts`
**Description:** Upload and create a new file.
---
**Name:** `DeleteFileRepository`
**Import:** `import { DeleteFileRepository } from "webiny/api/file-manager/file"`
**Source:** `@webiny/api-file-manager/features/file/DeleteFile/abstractions.ts`
**Description:** Persist file deletion.
---
**Name:** `DeleteFileUseCase`
**Import:** `import { DeleteFileUseCase } from "webiny/api/file-manager/file"`
**Source:** `@webiny/api-file-manager/features/file/DeleteFile/abstractions.ts`
**Description:** Delete a file.
---
**Name:** `FileAfterBatchCreateEventHandler`
**Import:** `import { FileAfterBatchCreateEventHandler } from "webiny/api/file-manager/file"`
**Source:** `@webiny/api-file-manager/features/file/CreateFilesInBatch/events.ts`
**Description:** Hook into file lifecycle after files are created in batch.
---
**Name:** `FileAfterCreateEventHandler`
**Import:** `import { FileAfterCreateEventHandler } from "webiny/api/file-manager/file"`
**Source:** `@webiny/api-file-manager/features/file/CreateFile/events.ts`
**Description:** Hook into file lifecycle after a file is created.
---
**Name:** `FileAfterDeleteEventHandler`
**Import:** `import { FileAfterDeleteEventHandler } from "webiny/api/file-manager/file"`
**Source:** `@webiny/api-file-manager/features/file/DeleteFile/events.ts`
**Description:** Hook into file lifecycle after a file is deleted.
---
**Name:** `FileAfterUpdateEventHandler`
**Import:** `import { FileAfterUpdateEventHandler } from "webiny/api/file-manager/file"`
**Source:** `@webiny/api-file-manager/features/file/UpdateFile/events.ts`
**Description:** Hook into file lifecycle after a file is updated.
---
**Name:** `FileBeforeBatchCreateEventHandler`
**Import:** `import { FileBeforeBatchCreateEventHandler } from "webiny/api/file-manager/file"`
**Source:** `@webiny/api-file-manager/features/file/CreateFilesInBatch/events.ts`
**Description:** Hook into file lifecycle before files are created in batch.
---
**Name:** `FileBeforeCreateEventHandler`
**Import:** `import { FileBeforeCreateEventHandler } from "webiny/api/file-manager/file"`
**Source:** `@webiny/api-file-manager/features/file/CreateFile/events.ts`
**Description:** Hook into file lifecycle before a file is created.
---
**Name:** `FileBeforeDeleteEventHandler`
**Import:** `import { FileBeforeDeleteEventHandler } from "webiny/api/file-manager/file"`
**Source:** `@webiny/api-file-manager/features/file/DeleteFile/events.ts`
**Description:** Hook into file lifecycle before a file is deleted.
---
**Name:** `FileBeforeUpdateEventHandler`
**Import:** `import { FileBeforeUpdateEventHandler } from "webiny/api/file-manager/file"`
**Source:** `@webiny/api-file-manager/features/file/UpdateFile/events.ts`
**Description:** Hook into file lifecycle before a file is updated.
---
**Name:** `FileUrlGenerator`
**Import:** `import { FileUrlGenerator } from "webiny/api/file-manager/file"`
**Source:** `@webiny/api-file-manager/features/file/FileUrlGenerator/abstractions.ts`
**Description:** Generate URLs for uploaded files.
---
**Name:** `FmPermissions`
**Import:** `import { FmPermissions } from "webiny/api/file-manager/permissions"`
**Source:** `@webiny/api-file-manager/features/shared/abstractions.ts`
---
**Name:** `GetFileRepository`
**Import:** `import { GetFileRepository } from "webiny/api/file-manager/file"`
**Source:** `@webiny/api-file-manager/features/file/GetFile/abstractions.ts`
**Description:** Fetch a file from storage.
---
**Name:** `GetFileUseCase`
**Import:** `import { GetFileUseCase } from "webiny/api/file-manager/file"`
**Source:** `@webiny/api-file-manager/features/file/GetFile/abstractions.ts`
**Description:** Retrieve a file by ID.
---
**Name:** `GetSettingsUseCase`
**Import:** `import { GetSettingsUseCase } from "webiny/api/file-manager/settings"`
**Source:** `@webiny/api-file-manager/features/settings/GetSettings/abstractions.ts`
**Description:** Retrieve file manager settings.
---
**Name:** `ListFilesRepository`
**Import:** `import { ListFilesRepository } from "webiny/api/file-manager/file"`
**Source:** `@webiny/api-file-manager/features/file/ListFiles/abstractions.ts`
**Description:** Fetch files from storage with filtering.
---
**Name:** `ListFilesUseCase`
**Import:** `import { ListFilesUseCase } from "webiny/api/file-manager/file"`
**Source:** `@webiny/api-file-manager/features/file/ListFiles/abstractions.ts`
**Description:** List files with filtering and pagination.
---
**Name:** `ListTagsRepository`
**Import:** `import { ListTagsRepository } from "webiny/api/file-manager/file"`
**Source:** `@webiny/api-file-manager/features/file/ListTags/abstractions.ts`
**Description:** Fetch file tags from storage.
---
**Name:** `ListTagsUseCase`
**Import:** `import { ListTagsUseCase } from "webiny/api/file-manager/file"`
**Source:** `@webiny/api-file-manager/features/file/ListTags/abstractions.ts`
**Description:** List all file tags.
---
**Name:** `SettingsAfterUpdateEventHandler`
**Import:** `import { SettingsAfterUpdateEventHandler } from "webiny/api/file-manager/settings"`
**Source:** `@webiny/api-file-manager/features/settings/UpdateSettings/events.ts`
**Description:** Hook into settings lifecycle after settings are updated.
---
**Name:** `SettingsBeforeUpdateEventHandler`
**Import:** `import { SettingsBeforeUpdateEventHandler } from "webiny/api/file-manager/settings"`
**Source:** `@webiny/api-file-manager/features/settings/UpdateSettings/events.ts`
**Description:** Hook into settings lifecycle before settings are updated.
---
**Name:** `UpdateFileRepository`
**Import:** `import { UpdateFileRepository } from "webiny/api/file-manager/file"`
**Source:** `@webiny/api-file-manager/features/file/UpdateFile/abstractions.ts`
**Description:** Persist file metadata updates.
---
**Name:** `UpdateFileUseCase`
**Import:** `import { UpdateFileUseCase } from "webiny/api/file-manager/file"`
**Source:** `@webiny/api-file-manager/features/file/UpdateFile/abstractions.ts`
**Description:** Update file metadata.
---
**Name:** `UpdateSettingsUseCase`
**Import:** `import { UpdateSettingsUseCase } from "webiny/api/file-manager/settings"`
**Source:** `@webiny/api-file-manager/features/settings/UpdateSettings/abstractions.ts`
**Description:** Update file manager settings.
---
More from webiny/webiny-js
- testerUse when running tests. Shows how to run tests for a single package, including OpenSearch (ddb-os) tests when applicable.
- webiny-admin-aco-catalog>
- webiny-admin-architect>
- webiny-admin-build-params-catalog>
- webiny-admin-catalog>
- webiny-admin-cms-catalog>
- webiny-admin-configs-catalog>
- webiny-admin-env-config-catalog>
- webiny-admin-form-catalog>
- webiny-admin-graphql-client-catalog>