NSILM

Üldkirjeldus

Teenus võimaldab kustutada olemasoleva arengukava versiooni.

Seotud andmeobjektid:

Seotud Jira taskid

NSIL-1016 - 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.
      • DevelopmentPlan.personalCode = Kasutaja isikukood
    • Eraldi privileegi ei ole vaja.
  • Planeerimise meeskonnaliikme rolli valinud kasutajatel ei ole antud funktsionaalsusele ligipääsu.

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

versionId

1

String
  • Peab eksisteerima ja olema seotud arengukavaga, mis ei ole muudetav ja kuulub samale asutusele / ametikohale ja isikule nagu sisendis esitatud versioon (versionId).
    • versionId = developmentPlanVersion.id, mille developmentPlanId = DevelopmentPlan.id, mille editable = false ja institution.id =  DevelopmentPlan.institution.id, jobsite =  DevelopmentPlan.jobsite ja personalCode =  DevelopmentPlan.personalCode, mille id = sisendis esitatud developmentPlanId
Eemaldatava arengukava versiooni unikaalne identifikaator.

developmentPlanId

1

String
  • Peab eksisteerima, olema muudetav ja kuuluma samale asutusele / ametikohale ja isikule nagu sisendis esitatud versioon (versionId).
    • developmentPlanId = DevelopmentPlan.id, mille editable = true
Viide asutuse / ametikoha muudetavale arengukavale, mille versiooni eemaldatakse.

Väljundid

AtribuutKohustuslikkus, mitmesusTüüpKirjeldus, täiendav info
Samad nagu teenusel: PM: API: DevelopmentPlan: POST /planning-api/development-plans/{developmentPlanId}/url-versions.

Tegevused

  1. Süsteem kontrollib, kas kasutajal on õigust päringut teostada.
    1. Kui kasutajal puudub vastav õigus, 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 arengukava versioon (versionId) eksisteerib:

    1. Otsitakse Objektid#DevelopmentPlanVersion objekti, mille:
      1. id = sisendis esitatud versionId väärtus
    2. Kui vastavat arengukava versiooni ei leita, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
  4. Kontrollitakse, kas sisendis esitatud arengukava (developmentPlanId) on muudetav.
    1. Otsitakse Objektid#DevelopmentPlan objekti, mille:
      1. id = sisendis esitatud developmentPlanId väärtus
      2. editable = true
    2. Kui tingimustele vastavat arengukava ei leita, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
  5. Kontrollitakse, kas sisendis esitatud arengukava versioon kuulub samale asutusele / isikule ja ametikohale nagu muudetav arengukava. 
    1. Otsitakse Objektid#DevelopmentPlan objekti, mille:
      1. id = sisendis esitatud versiooniga seotud arengukava ID (Objektid#DevelopmentPlanVersion.developmentPlanId)
      2. editable = false
      3. institution.id = sisendis esitatud arengukava asutus (Objektid#DevelopmentPlan.institution.id)
      4. jobsite = sisendis esitatud arengukava asutus (Objektid#DevelopmentPlan.jobsite)
      5. personalCode = sisendis esitatud arengukava asutus (Objektid#DevelopmentPlan.personalCode)
    2. Kui tingimustele vastavat arengukava ei leita, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
  6. Kui tegemist on PDF-failina jagatud versiooniga (Objektid#DevelopmentPlanVersion.versionType = "PDF"), eemaldatakse süsteemist sellega seotud fail:
    1. Tuvastatakse PDF-faili asukoht failihoidlas:
      1. Otsitakse Objektid#File objekti, mille:
        1. id =  sisendis esitatud versiooniga seotud faili ID (Objektid#DevelopmentPlanVersion.fileId)
      2. Kui sellist objekti ei leita, logitakse viga.
    2. Eemaldatakse fail ja selle metaandmed:
      1. Failihoidlast eemaldatakse fail, mille id = leitud Objektid#File.fileSystemId.
      2. Eemaldatakse varem leitud Objektid#File.
    3. kse päringu töötlemine ja tagastatakse http veakood.
  7. Kui tegemist on URL-ina jagatud versiooniga (Objektid#DevelopmentPlanVersion.versionType = "URL"), eemaldatakse süsteemist selle andmed:
    1. Süsteem eemaldab versiooni sektsioonid ja vormielemendid:
      1. Otsitakse versiooniga seotud sektsioone:
        1. Otsitakse kõiki Objektid#DevelopmentPlanSection objekte, mille:
          1. developmentPlanIdsisendis esitatud versiooniga seotud arengukava ID (Objektid#DevelopmentPlanVersion.developmentPlanId)
        2. Kui ühtegi sektsiooni ei leita, jätkub protsess sammust 7.b.
      2. Iga leitud sektsiooni kohta:
        1. Otsitakse kõiki sellega seotud vormielemente:
          1. Otsitakse kõiki Objektid#DevelopmentPlanElement objekte, mille:
            1. developmentPlanSectionId = töödeldava sektsiooni ID (Objektid#DevelopmentPlanSection.id)
          2. Kui ühtegi vormielementi ei leita, liigub süsteem järgmise sektsiooni juurde.
          3. Kui tingimustele vastavad vormielemendid leitakse:
            1. Iga leitud vormielemendi puhul, mille inputType = "IMAGE":
              1. Tuvastatakse vormielemendiga seotud pildifaili asukoht failihoidlas:
                1. Otsitakse Objektid#File objekti, mille:
                  1. id =  töödeldava vormielemendi Objektid#DevelopmentPlanElement.file.id väärtus
                2. Kui sellist objekti ei leita, logitakse viga.
              2. Süsteemist eemaldatakse fail ja selle metaandmed:
                1. Failihoidlast eemaldatakse fail, mille id = leitud Objektid#File.fileSystemId väärtus.
                2. Eemaldatakse varem leitud Objektid#File.
            2. Seejärel eemaldatakse töödeldav vormielement (Objektid#DevelopmentPlanElement.id) jäädavalt andmebaasist.
        2. Kui kõik sektsiooni vormielemendid on eemaldatud, eemaldatakse ka sektsioon (Objektid#DevelopmentPlanSection.id) jäädavalt andmebaasist.
    2. Süsteem eemaldab versiooniga seotud eesmärgid:
      1. Otsitakse versiooni eesmärke:
        1. Otsitakse kõiki Objektid#DevelopmentPlanGoal objekte, mille:
          1. developmentPlanIdsisendis esitatud versiooniga seotud arengukava ID (Objektid#DevelopmentPlanVersion.developmentPlanId)
        2. Kõik leitud eesmärgid eemaldatakse andmebaasist jäädavalt.
    3. Süsteem kustutab arengukava versiooni põhiandmed:
      1. Kui sisendis esitatud arengukava versioonil on logo (versiooniga seotud arengukava Objektid#DevelopmentPlan.logoFileId != NULL), kustutatakse see.
        1. Tuvastatakse logo faili asukoht failihoidlas:
          1. Otsitakse Objektid#File objekti, mille:
            1. id = versiooniga seotud arengukava Objektid#DevelopmentPlan.logoFileId väärtus
          2. Kui sellist objekti ei leita, logitakse viga.
        2. Süsteemist eemaldatakse fail ja selle metaandmed:
          1. Failihoidlast eemaldatakse fail, mille id = leitud Objektid#File.fileSystemId väärtus.
          2. Eemaldatakse varem leitud Objektid#File.
      2. Eemaldatakse andmebaasist jäädavalt versiooniga seotud Objektid#DevelopmentPlan objekt.
        1. Eemaldatakse Objektid#DevelopmentPlan objekt, mille idsisendis esitatud versiooni Objektid#DevelopmentPlanVersion.developmentPlanId väärtus.
  8. Süsteem kustutab arengukava versiooni:
    1. Eemaldatakse Objektid#DevelopmentPlanVersion objekti, mille id = sisendis esitatud versionId väärtus.
  9. Süsteem tagastab kustutatud arengukava versiooni andmed.