NSILM

Üldkirjeldus

Teenus võimaldab kustutada arengukava sektsiooni vormielemendi.

Seotud andmeobjektid:

Seotud Jira taskid

NSIL-1001 - Getting issue details... STATUS

Eeltingimused ja kasutusõigused

  • Kui tegemist on asutusepõhise arengukavaga (DevelopmentPlan.developmentPlanScope = INSTITUTIONAL):
    • Kasutajal on 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.
  • Kui tegemist on isikupõhise arengukavaga (DevelopmentPlan.developmentPlanScope = INDIVIDUAL):
    • Kasutaja on arengukava omanik ja tal on 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.
  • 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

AtribuutKohustuslikkus, mitmesusTüüpVaikeväärtus, valideerimineKirjeldus, täiendav info
elementId

1

String
  • Peab eksisteerima ja olema seotud sektsiooniga.
    • elementId = DevelopmentPlanElement.id, mille developmentPlanSectionId = sectionId
Eemaldatava vormielemendi unikaalne identifikaator.

sectionId

1

String
  • Peab eksisteerima ja olema seotud arengukavaga.
    • sectionId = DevelopmentPlanSection.id, mille developmentPlanId = developmentPlanId
Viide arengukava sektsioonile, mille vormielement eemaldatakse.
developmentPlanId

1

String
  • Peab eksisteerima ja olema muudetav.
    • developmentPlanId = DevelopmentPlan.id, mille editable = true
Viide arengukavale, millesse sektsioon kuulub.

Väljundid

AtribuutKohustuslikkus, mitmesusTüüpKirjeldus, täiendav info
Samad nagu teenusel PM: API: DevelopmentPlan: PUT /planning-api/development-plans/{developmentPlanId}/sections/{sectionId}/elements/{elementId}.

Tegevused

  1. Süsteem kontrollib, kas kasutajal on õigust päringut teostada.
    1. Kui kasutajal ei ole õigust, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
  2. Süsteem kontrollib, kas sisendandmed vastavad nõuetele.
    1. Kui andmed ei vasta nõuetele, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
  3. Süsteem kontrollib, kas sisendis esitatud vormielement (elementId) eksisteerib ning kas see on seotud sisendis esitatud sektsiooniga:

    1. Otsitakse Objektid#DevelopmentPlanElement objekti, mille:
      1. id =  sisendis esitatud elementId väärtus.
      2. developmentPlanSectionId =  sisendis esitatud sectionId väärtus
    2. Kui vastavat vormielementi ei leita, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
  4. Süsteem kontrollib, kas sisendis esitatud sektsioon (sectionId) eksisteerib ja kuulub muudetava arengukavasse:
    1. Otsitakse Objektid#DevelopmentPlanSection objekti, mille:
      1. id =  sisendis esitatud sectionId väärtus
      2. developmentPlanId =  sisendis esitatud developmentPlanId väärtus
    2. Kui vastavat sektsiooni ei leita, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
    3. Otsitakse Objektid#DevelopmentPlan objekti, mille:
      1. id = leitud sektsiooni arengukava ID (Objektid#DevelopmentPlanSection.developmentPlanId)
      2. editable = true
    4. Kui tingimustele vastavat arengukava ei leita, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
  5. Kui kustutava vormielemendi tüüp on pilt (Objektid#DevelopmentPlanElement.inputType = IMAGE):
    1. Süsteem kustutab vormielemendiga seotud faili failihoidlast ning eemaldab ka selle metaandmed.
      1. Tuvastatakse faili asukoht failisüsteemis:
        1. Otsitakse Objektid#File objekti, mille id = leitud Objektid#DevelopmentPlanElement.file.id väärtus.
          1. Kui vastavat objekti ei leita, lõpetatakse päringu töötlemine ja tagastatakse http veakood. 
      2. Otsitakse failihoidlast faili, mille id = leitud Objektid#File.fileSystemId väärtus
        1. Kui faili ei leita, logitakse viga.
        2. Kui fail leitakse, eemaldatakse see jäädavalt failihoidlast.
      3. Süsteem eemaldab kustutatud faili meteandmed:
        1. Andmebaasist eemaldatakse jäädavalt varem leitud Objektid#File objekt.
  6. Süsteem uuendab vormielementide järjekorda:
    1. Otsitakse vormielement, mis hetkeseisuga järgneb kustutavale elemendile (elementId) vormielementide järjekorras:
      1. Otsitakse Objektid#DevelopmentPlanElement objekti, mille:
        1. previousElementId = sisendis esitatud elementId väärtus
        2. developmentPlanId = sisendis esitatud developmentPlanId väärtus 
        3. sectionId = sisendis esitatud sectionId väärtus 
    2. Kui sobiv vormielement leitakse, uuendatakse see järgmiselt:
      1. previousElementId = kustutava vormielemendi previousElementId väärtus (Objektid#DevelopmentPlanElement.previousElementId, mille id = sisendis esitatud elementId väärtus)
    3. Kui sobivat sektsiooni ei leita, liigub süsteem järgmise sammu juurde.
  7. Süsteem eemaldab vormielemendi.
    1. Andmebaasist eemaldatakse jäädavalt Objektid#DevelopmentPlanElement objekt, mille id =  sisendis esitatud elementId väärtus.
  8. Süsteem tagastab kustutatud vormielemendi andmed.