sqlinsight-pro/src/SQLInsight.Hub/Portal/Pages
Søren Eggert Lundsteen Olsen 83c247d536 Hub: support case numbers, customer case API, mail, support report
- Case numbers SUP-000001, SUP-000002 … per customer, unique per customer
  (new index; a migration step renames any old duplicates first). The
  portal suggests the next number on the finding page and under the new
  "Ny sag" on the customer page; an empty field gets the next number, a
  typed one that is taken is refused. Concurrent creates retry.
- SupportCase gains Source (Staff/Customer), description, contact name,
  e-mail, phone, the customer's Windows user and ClientRequestId.
- POST/GET /api/v1/cases for the customer's agent (license with priority
  support): creates a case idempotently on ClientRequestId, links the
  finding it came from, lists the customer's cases incl. staff-created.
  Customer/license creation is shared with the findings endpoint.
- Optional mail to support for customer cases (MailKit; prefers AUTH LOGIN
  as Microsoft 365 needs). A failed mail is logged, never fails the call.
  deploy-hub.yml writes optional SUPPORT_SMTP_* secrets to .env.
- Supportrapport: created, closed, open now, average/median resolution
  time, oldest open case and customer-created share per customer for a
  period (default 90 days), plus the cases; CSV for Danish Excel.
- Cases page: newest first, customer cases marked, contact/description.
- Customer page: findings can be filtered to one instance (?instans=id,
  ignored for another customer's instance); active findings per instance
  by severity.
- dotnet-ef as a local tool (dotnet-tools.json) for the migration.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-01 11:33:55 +02:00
..
Cases.razor Hub: support case numbers, customer case API, mail, support report 2026-10-01 11:33:55 +02:00
CustomerDetail.razor Hub: support case numbers, customer case API, mail, support report 2026-10-01 11:33:55 +02:00
FindingDetail.razor Hub: support case numbers, customer case API, mail, support report 2026-10-01 11:33:55 +02:00
Findings.razor Fase 3: Hub portal for vendor staff 2026-09-29 08:58:34 +00:00
Insights.razor Fase 4: experience across customers 2026-09-29 10:33:37 +00:00
Licenses.razor Fase 3: Hub portal for vendor staff 2026-09-29 08:58:34 +00:00
Login.razor Fase 3: Hub portal for vendor staff 2026-09-29 08:58:34 +00:00
Overview.razor Fase 3: Hub portal for vendor staff 2026-09-29 08:58:34 +00:00
SupportReportPage.razor Hub: support case numbers, customer case API, mail, support report 2026-10-01 11:33:55 +02:00