mirror of
https://github.com/Sea-Haven-Industries/shoc-backend.git
synced 2026-09-30 16:33:12 +00:00
2.8 KiB
2.8 KiB
Consumer Inventory — Work Orders
Fase: 0
Referência: roadmap §11
1. Inventário de consumidores
| Consumidor | Conexão | Código principal | Campos mutados | Audit hoje? |
|---|---|---|---|---|
| SHOC React | REST JWT | Api.SeaHavenIndustries/Controllers/WorkOrderController.cs |
Status, AssignTo, CRUD parcial via Service | Parcial (ChangeStatus/Assignment) |
| Blazor | EF direto | SeaHavenIndustries/Data/Services/WorkorderService.cs |
CRUD completo, comments, status | Não |
| Vendor Portal | REST token | Api.SeaHavenIndustries/Controllers/VendorPortalController.cs |
Dispatch checklist, signoff, status | Sim (ad hoc) |
| Sync/Lambda | DynamoDB → SQL | Api.SeaHavenIndustries/Controllers/SyncController.cs |
Upsert WO por ExternalWorkOrderId | Não |
| Dispatch API | REST | DispatchController.cs |
Dispatch create/update/verify | Sim |
| E-mail SendGrid | Deep links | Helper/SendMessage |
Nenhum (read-only links) | N/A |
2. Diagrama
flowchart TB
SHOC[SHOC_React] -->|REST_JWT| API[Api_REST]
VPortal[Vendor_Portal] -->|X_Vendor_Token| API
Lambda[Lambda_ingest] --> DynamoDB[(DynamoDB)]
DynamoDB --> Sync[SyncController]
Sync --> DB[(SQL_Server)]
API --> DB
Blazor[Blazor_EF] -->|legado| DB
3. Trilhas de entrega (coexistência)
| Trilha | Escopo Fase 0+ |
|---|---|
| A — SHOC | Fases 0–7; feature flags; piloto dispatchers |
| B — Blazor | Smoke EF pós-migration; bugfix crítico only |
| C — Vendor Portal | Regression checklist cada release WO/Dispatch |
| D — Lambda/Sync | Manter até SHOC produção; merge policy Fase 0 |
4. Endpoints legado vs board
| Tipo | Exemplos | Política |
|---|---|---|
| Legado | GetWorkOrderList, ChangeStatus | Congelar contrato |
| Board (Fase 1+) | GetWorkOrdersBoard | Novos contratos separados |
5. Gaps Fase 0 endereçados
| Gap | Mitigação |
|---|---|
| Blazor sem audit | Congelar; não expandir |
| Sync overwrite | ISyncFieldMergePolicy + ManualEditFlag |
| Auth WO desabilitada | Reativar [Authorize] WorkOrderController |
| WO# inconsistente | Documentar normalização 11 dígitos (Fase 2 execução) |
6. Checklist pré-go-live PO
- App mobile externo confirmado?
- Data sunset Blazor WO definida?
- FrontendBaseUrl produção → SHOC?
- Owner Lambda cutover nomeado?
7. Auth — consumidores e tokens
| Consumidor | Auth |
|---|---|
| SHOC | JWT Bearer |
| Sync | JWT Bearer ([Authorize] no SyncController) |
| Vendor Portal | X-Vendor-Token (rotas públicas dispatch) |
| Blazor | Cookie Identity (app separado) |
Reativar auth em WorkOrderController exige SHOC enviar JWT em todas as chamadas WO.