37 lines
2.0 KiB
Markdown
37 lines
2.0 KiB
Markdown
# Onboarding og offboarding på kontaktkortet
|
|
|
|
Kontaktkortets oversigt viser separate forløb. En dato kan gemmes uden automatik.
|
|
Automatik bruger kalenderdage og kl. 08 i Europe/Copenhagen, kontrolleres ved
|
|
API-start og hvert femte minut og indhenter forfaldne forløb efter nedetid.
|
|
Sagens deadline sættes til kl. 17 på datoen, gemt som UTC efter sagsmodulets konvention.
|
|
|
|
Åbne hovedsager matches på kunde, direkte kontaktrelation og eksplicit type/tag.
|
|
En kandidat giver en undersag; flere kræver valg på kontaktkortet. En oprettet
|
|
sags reference bevares ved datoændring. Afsluttede sager kræver manuel behandling.
|
|
Annullering stopper automatikken og sletter ingen sager.
|
|
|
|
## Installation
|
|
|
|
Anvend kun `migrations/1076_contact_lifecycle.sql` i det ønskede miljø og genstart
|
|
API'et. Migrationen tilføjer en tabel og indeks uden at ændre eksisterende data.
|
|
Uden migration svarer de nye endpoints med 503; eksisterende kontakt-API bevares.
|
|
Ingen forløb eller sager oprettes af migrationen.
|
|
|
|
API: GET/POST `/api/v1/contacts/{id}/lifecycle`, GET `/preview`,
|
|
PATCH `/{event_id}` og POST `/{event_id}/cancel` under samme base.
|
|
Læsning kræver cases.view/tickets.view; redigering cases.edit/tickets.edit.
|
|
Automatik kræver desuden sagsoprettelse og skabeloner templates.run.
|
|
Automatikkens seneste godkender skal fortsat være aktiv og have rettighederne.
|
|
|
|
## Kontrol og drift
|
|
|
|
Kør `pytest tests/test_contact_lifecycle_api.py tests/test_contact_lifecycle_worker.py tests/test_contacts_router_simple.py`
|
|
med projektets venv og `node tests/js/contact-lifecycle.test.cjs`.
|
|
Kontrollér i browseren: gem dato uden automatik, planlæg automatisk forløb,
|
|
vælg mellem flere hovedsager, åbn oprettet sag, ændr dato og annuller.
|
|
Kortet viser fejl og behov for manuel behandling. Tekniske fejl logges af
|
|
jobbet `check_contact_lifecycles`; forløb i fejl genforsøges ved næste kørsel.
|
|
|
|
Ved tilbagerulning deaktiveres jobbet/kodeændringen; behold tabellen for at
|
|
bevare historik og referencer. Sammenlægning af kontakter flytter forløbene med.
|