Dry Run
Плагин для Payload CMS: проверяет операцию create с полным циклом валидации, хуков и доступа, затем откатывает транзакцию.
Установка
pnpm add @lizardglobal/payload-dry-run Описание
Плагин выполняет операцию create коллекции Payload от начала до конца: валидация, хуки, проверка прав доступа. После этого запись не сохраняется, а транзакция откатывается вызовом `req.payload.db.rollbackTransaction(req.transactionID)` в хуке `afterOperation`. Весь конвейер отрабатывает так же, как при реальном создании документа: срабатывают все проверки и преобразования, отменяется только финальная запись в базу. Подключение выполняется для отдельных коллекций через `dryRunCreatePlugin({ collections: ['slug', ...] })`. Режим dry run включается правдивым флагом (по умолчанию `_dryRun`), который читается из query string, тела запроса, search params или `req.context`. Правдивые значения: `true`, `1`, `on`, `yes` (без учета регистра). Флаг также записывается обратно в `req.context`, поэтому последующие хуки могут его проверить. Опция `dryRunFieldName` принимает одну строку, объект с ключами коллекций или объект с запасным вариантом `_default`. Для auth-коллекций с подтверждением по email хук `beforeOperation` выставляет `disableVerificationEmail: true`, чтобы dry run не отправлял письмо. Параметр `disabled` полностью отключает плагин, что удобно для production-окружения. Функция `withCreateDryRun(collection, fieldName?)` применяет то же поведение к одной `CollectionConfig` без использования плагина, если вы собираете конфиг коллекции вручную. Функция идемпотентна. Если откат нужен, но `transactionID` отсутствует, плагин выбросит ошибку, а не оставит сохраненный документ. Для каждой коллекции добавляется скрытое виртуальное поле-чекбокс только для чтения, чтобы Payload распознавал ключ триггера. Проект экспериментальный: API и схема могут меняться. Требуется Payload ^3.0.0 и Node >=20.
О пакете
- Имя пакета
@lizardglobal/payload-dry-run- Последняя версия
1.0.1- Размер
- 35 кБ
- Лицензия
- MIT
- Загрузок в неделю
- 2
- Последняя публикация
- 28 июл. 2026 г.
Ещё от LizardGlobalGH
Профиль автораRich Text Lexical React Native
Рендерит сериализованный контент Lexical из Payload CMS в React Native-приложениях с переопределяемыми конвертерами и нативными примитивами.
Collection References
Плагин для Payload CMS, который автоматически удаляет или обнуляет ссылки на документ при его удалении.
Discord Sync
Синхронизирует гильдии, каналы, участников и роли Discord с коллекциями Payload по запросу, через HTTP или по расписанию через discord.js.
Похожие плагины
Ещё в категории «Инструменты разработки»Shared plugin tooling
Dev-зависимость с общими конфигами lint, форматирования, TypeScript, сборки, тестовой БД и релиза для плагинов Payload.
Puck visual page builder
Интеграция визуального конструктора Puck с Payload CMS для редактирования с помощью перетаскивания.
OpenAPI
Создает спецификации OpenAPI 3.0/3.1/3.2 из конфигураций Payload CMS.
Create Ideal CMS
Интерактивный CLI для развёртывания монорепозитория Payload CMS с предустановленными плагинами @focus-reactive.
OpenAPI
Генерирует спецификацию OpenAPI из конфигурации Payload CMS 3.x и подключает интерфейс документации на выбор: Swagger UI, Redoc, RapiDoc или Scalar.
Markdown documentation sync
Синхронизирует Markdown-документацию с Payload CMS с помощью Git.