agentsclimarketplace

Create cqrs bulk commands

Skill jeffsenso/prestashop-skills/skills/prestashop-module-development/ps9-core-ai/Component/CQRS/skills/create-cqrs-bulk-commands

Create bulk action commands and their handlers. All bulk handlers extend AbstractBulkCommandHandler, catch errors per item, and report failures via BulkCommandExceptionInterface. Trigger: "create bulk commands for {Domain}".From its SKILL.md

Install
npx -y skills add jeffsenso/prestashop-skills --skill create-cqrs-bulk-commands

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 5 stars5 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

2.2 KB, 423 tokens by cl100k_base, as published. Nobody here has run it

create-cqrs-bulk-commands

See CQRS/CONTEXT.md for the bulk handler pattern (AbstractBulkCommandHandler, BulkCommandExceptionInterface, continue after failure).

1. Bulk delete command

Create src/Core/Domain/{Domain}/Command/BulkDelete{Domain}sCommand.php:

  • Constructor takes array $ids (scalar int[])
  • Single getter: getIds(): array

2. Bulk status command

Create src/Core/Domain/{Domain}/Command/BulkToggle{Domain}StatusCommand.php:

  • Constructor takes array $ids (int[]) and bool $expectedStatus
  • $expectedStatus = true means enable, false means disable
  • Getters: getIds(): array and getExpectedStatus(): bool

3. Bulk handlers

All bulk handlers follow the same structure. Create in src/Adapter/{Domain}/CommandHandler/:

Bulk delete handler

BulkDelete{Domain}sHandler.php:

  • For each ID, call the repository delete
  • Collect failures, continue with remaining IDs

Bulk status handler

BulkToggle{Domain}StatusHandler.php:

  • For each ID, load entity, set active = $command->getExpectedStatus(), update
  • Use the target status from the command — do not flip the current value

4. Handler interfaces

Create in src/Core/Domain/{Domain}/CommandHandler/:

  • BulkDelete{Domain}sHandlerInterface
  • BulkToggle{Domain}StatusHandlerInterface

Both return void. The bulk exception is thrown, not returned.

Rules

Conventions (AbstractBulkCommandHandler, continue after failure, BulkCommandExceptionInterface) are in CQRS/CONTEXT.md. Skill-specific reminders:

  • Be consistent with the single-entity commands on ID typing
  • Skip this skill entirely if the entity has no bulk grid actions

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.