agentsclimarketplace

Create cqrs bulk commands

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

Prestashop Developer Skills

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

  • 4 stars4 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.

What its author says it does

Copied from the file, not written here

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}".

SKILL.md

2.2 KB, 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

Keep looking

Skills are one crate of 328,083. 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.