shoc-backend/docs/work-orders/phase-0/rowversion-design.md

857 B

RowVersion Multi-Agregado — Design

Fase: 0 — Gate #9


Agregados

Agregado Coluna Comportamento
WorkOrder RowVersion rowversion Bump em mutação WO (schedule, status, assignment)
Dispatch RowVersion rowversion Bump em mutação vendor/checklist/signoff

HTTP 409

ConcurrencyExceptionFilter captura DbUpdateConcurrencyException e retorna:

{
  "status": "Conflict",
  "message": "The record was modified by another user. Refresh and retry.",
  "code": 409
}

Regras (Fase 2 testes completos)

  • SHOC edita ScheduledDate → bump WO.RowVersion
  • SHOC edita vendor → bump Dispatch.RowVersion
  • Vendor edita checklist → bump Dispatch.RowVersion only

Testes de concorrência paralela: Fase 2 (Concurrency integration tests backlog #27).