PM: API: DevelopmentPlan: DELETE /planning-api/development-plans/{developmentPlanId}/sections/{sectionId}
Üldkirjeldus
Teenus võimaldab kustutada arengukava sektsiooni. Koos sellega eemaldatakse ka kõik sektsiooniga seotud vormielemendid (sh pildid ja aruanded).
Seotud andmeobjektid:
Seotud Jira taskid
NSIL-999 - Getting issue details... STATUS
Eeltingimused ja kasutusõigused
- Kui tegemist on asutusepõhise arengukavaga (DevelopmentPlan.developmentPlanScope = INSTITUTIONAL):
- Kasutajal peab olema seos arengukava asutusega ning sama asutuse arengukava lisamise ja muutmise õigus.
- DevelopmentPlan.institution.id = Kasutaja poolt valitud rolliga seotud asutus
- Õigust reguleerib privileeg: HSILM_PLANNING_DEV_PLAN_MANAGE.
- Kasutajal peab olema seos arengukava asutusega ning sama asutuse arengukava lisamise ja muutmise õigus.
- Kui tegemist on isikupõhise arengukavaga (DevelopmentPlan.developmentPlanScope = INDIVIDUAL):
- Kasutaja peab olema arengukava omanik ja tal peab olema seos nii arengukava asutuse kui ka ametikohaga.
- DevelopmentPlan.personalCode = Kasutaja isikukood
- DevelopmentPlan.institution.id = Kasutaja poolt valitud rolliga seotud asutus
- DevelopmentPlan.jobsite = Kasutaja poolt valitud rolliga seotud ametikoht
- Eraldi privileegi ei ole vaja.
- Kasutaja peab olema arengukava omanik ja tal peab olema seos nii arengukava asutuse kui ka ametikohaga.
- Arhiivi ja meeskonnaliikme rolli valinud kasutaja ei saa muuta arengukava.
Planeerimise mooduli kasutusrollide ja õiguste kohta saab täpsemalt infot leida lehelt Kasutusõigused ja rollid.
Sisendid
| Atribuut | Kohustuslikkus, mitmesus | Tüüp | Vaikeväärtus, valideerimine | Kirjeldus, täiendav info |
|---|---|---|---|---|
| sectionId | 1 | String |
| Arengukava sektsiooni unikaalne identifikaator. |
developmentPlanId | 1 | String |
| Viide arengukavale, kuhu sektsioon kuulub. |
Väljundid
| Atribuut | Kohustuslikkus, mitmesus | Tüüp | Kirjeldus, täiendav info |
|---|---|---|---|
| Samad nagu teenusel PM: API: DevelopmentPlan: POST /planning-api/development-plans/{developmentPlanId}/sections. | |||
Tegevused
- Süsteem kontrollib, kas kasutajal on õigust päringut teostada.
- Kui kasutajal ei ole õigust, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
- Süsteem kontrollib, kas sisendandmed vastavad nõuetele.
- Kui andmed ei vasta nõuetele, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
Süsteem kontrollib, kas sisendis esitatud sektsioon (sectionId) eksisteerib ja kuulub muudetavasse arengukavasse (developmentPlanId):
- Süsteem otsib Objektid#DevelopmentPlanSection objekti, mille:
- id = sisendis esitatud sectionId väärtus
- developmentPlanId = sisendis esitatud developmentPlanId väärtus
- Kui vastavat sektsiooni ei leita, lõpetatakse päringu töötlemine ja tagastatakse http veakood:
- Süsteem otsib Objektid#DevelopmentPlan objekti, mille:
- id = sisendis esitatud developmentPlanId väärtus
- editable = true
- Kui vastavat arengukava ei leita, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
- Süsteem otsib Objektid#DevelopmentPlanSection objekti, mille:
- Süsteem eemaldab sektsiooni vormielemendid:
- Süsteem otsib kõik Objektid#DevelopmentPlanElement objektid, mille:
- developmentPlanSectionId = sisendis esitatud sectionId väärtus
- Iga leitud vormielemendi puhul:
- Kui vormielemendi inputType = "IMAGE", kustutatakse vormielemendiga seotud fail failihoidlast ning eemaldatakse ka selle metaandmed.
- Tuvastatakse faili asukoht failisüsteemis:
- Otsitakse Objektid#File objekti, mille id = leitud Objektid#DevelopmentPlanElement.file.id väärtus.
- Kui vastavat objekti ei leita, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
- Otsitakse failihoidlast faili, mille id = leitud Objektid#File.fileSystemId väärtus
- Kui faili ei leita, logitakse viga.
- Kui fail leitakse, eemaldatakse see jäädavalt süsteemist.
- Süsteem eemaldab faili metaandmed:
- Andmebaasist eemaldatakse jäädavalt varem leitud Objektid#File objekt.
- Tuvastatakse faili asukoht failisüsteemis:
- Eemaldatakse töödeldav Objektid#DevelopmentPlanElement objekt jäädavalt andmebaasist.
- Süsteem kordab tegevusi, kuni kõik vormielemendid on eemaldatud.
- Kui vormielemendi inputType = "IMAGE", kustutatakse vormielemendiga seotud fail failihoidlast ning eemaldatakse ka selle metaandmed.
- Süsteem otsib kõik Objektid#DevelopmentPlanElement objektid, mille:
- Süsteem uuendab sektsioonide järjekorda:
- Otsitakse sektsioon, mis hetkeseisuga järgneb kustutavale sektsioonile (sectionId) sektsioonide järjekorras:
- Otsitakse Objektid#DevelopmentPlanSection objekti, mille:
- developmentPlanId = sisendis esitatud developmentPlanId väärtus
- previousSectionId = sisendis esitatud sectionId väärtus.
- Otsitakse Objektid#DevelopmentPlanSection objekti, mille:
- Kui sobiv sektsioon leitakse, uuendatakse see järgmiselt:
- previousSectionId = kustutava sektsiooni previousSectionId väärtus (Objektid#DevelopmentPlanSection.previousSectionId, mille id = sisendis esitatud sectionId väärtus)
- Kui sobivat sektsiooni ei leita, liigub süsteem järgmise sammu juurde.
- Otsitakse sektsioon, mis hetkeseisuga järgneb kustutavale sektsioonile (sectionId) sektsioonide järjekorras:
- Süsteem eemaldab sektsiooni.
- Eemaldatakse andmebaasist jäädavalt Objektid#DevelopmentPlanSection objekt, mille id = sisendis esitatud sectionId väärtus.
- Süsteem tagastab kustutatud sektsiooni andmed.