bulk operations fixes

- Frontend: implémente bulkDelete, bulkArchive, bulkRestore
- Backend: adapts ticket DTOs pour bulk operations
- Infrastructure: MCP server pour gestion bulk tickets
- Tests: coverage frontend + backend
This commit is contained in:
2026-07-28 20:38:07 +02:00
parent 73c6081ab8
commit bd4f76ae74
19 changed files with 597 additions and 35 deletions

View File

@ -67,6 +67,7 @@ import type {
Template,
TerminalSession,
Ticket,
TicketBulkResult,
TicketChat,
TicketCarnet,
TicketLinkKind,
@ -1067,6 +1068,20 @@ export interface TicketGateway {
* of an open detail view. Callers must not mutate local state imperatively.
*/
delete(projectId: string, ref: string): Promise<void>;
/** Updates several tickets' status in one command; partial failures are per item. */
bulkUpdateStatus(
projectId: string,
refs: string[],
status: TicketStatus,
): Promise<TicketBulkResult>;
/** Updates several tickets' priority in one command; partial failures are per item. */
bulkUpdatePriority(
projectId: string,
refs: string[],
priority: TicketPriority,
): Promise<TicketBulkResult>;
/** Deletes several tickets in one command; partial failures are per item. */
bulkDelete(projectId: string, refs: string[]): Promise<TicketBulkResult>;
/** Reads the ticket-scoped Markdown carnet. */
readCarnet(projectId: string, ref: string): Promise<TicketCarnet>;
/** Replaces (not appends) the ticket-scoped carnet body. */