PM: API: Goal: PATCH /planning-api/goals/{goalId}/activities/{goalActivityId}/move
Üldkirjeldus
Teenus võimaldab muuta tegevuse asukohta eesmärgi tegevuste järjekorras.
Seotud andmeobjektid:
Seotud Jira taskid
NSIL-848 - Getting issue details... STATUS
Eeltingimused ja kasutusõigused
- Kui tegemist on asutusepõhise eesmärgiga (Goal.goalScope = INSTITUTIONAL):
- Kasutajal on seos eesmärgi asutusega ja sama asutuse eesmärkide lisamise ja muutmise õigus.
- Goal.institution.id = Kasutaja poolt valitud rolliga seotud asutus
- Õigust reguleerib privileeg: HSILM_PLANNING_GOAL_MANAGE.
- Kasutajal on seos eesmärgi asutusega ja sama asutuse eesmärkide lisamise ja muutmise õigus.
- Kui tegemist on isikupõhise eesmärgiga (Goal.goalScope = INDIVIDUAL):
- Kasutaja on eesmärgi omanik ja tal on seos eesmärgi asutuse ja ametikohaga.
- Goal.personalCode = Päringu käivitanud kasutaja isikukood.
- Goal.institution.id = Kasutaja poolt valitud rolliga seotud asutus
- Goal.jobsite = Kasutaja poolt valitud rolliga seotud ametikoht
- Eraldi privileegi ei ole vaja.
- Kasutaja on eesmärgi omanik ja tal on seos eesmärgi asutuse ja ametikohaga.
- Või kasutaja on eesmärgi meeskonnas ja planeerimise meeskonna liikme rollil on eesmärkide lisamise ja muutmise õigus.
- Goal.goalScope = INSTITUTIONAL või INDIVIDUAL
- Goal.teamMembers.id = GoalTeamMember.id, mille personalCode = Päringu käivitanud kasutaja isikukood
- Õigust reguleerib privileeg: HSILM_PLANNING_GOAL_MANAGE.
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 |
|---|---|---|---|---|
goalActivityId | 1 | String |
| Tegevuse unikaalne identifikaator, mille asukohta tegevuste järjekorras muudetakse. |
targetGoalActivityId | 1 | String |
| Tegevuse unikaalne identifikaator, millega liigutatav tegevus vahetab asukohta. |
goalId | 1 | String |
| Eesmärgi unikaalne identifikaator, millele liigutatavad tegevused kuuluvad. |
Väljundid
Atribuut | Kohustuslikkus, mitmesus | Tüüp | Kirjeldus, täiendav info |
|---|---|---|---|
goalActivityId | 1 | String | Tegevuse unikaalne identifikaator, mis põhjustas tegevuste järjekorda muutmise. |
previousGoalActivityId | 1 | String | Tegevuse unikaalne identifikaator, mis eelneb goalActivityId tegevusele tegevuste järjekorras. |
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 päringu käivitanud kasutajal on õigus hallata eesmärgi (goalId) andmeid.
- Kontroll toimub vastavalt üldreeglites kirjeldatud loogikale.
- Kui eesmärki ei leita või see ei vasta üldreeglitele, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
- Süsteem kontrollib, kas mõlemad sisendis esitatud tegevused eksisteerivad ja on seotud eesmärgiga:
- Süsteem otsib Objektid#GoalActivity objekte, mille:
- id = Sisendis esitatud "goalActivityId"/"targetGoalActivityId" väärtus.
- goalId = Sisendis esitatud "goalId" väärtus.
- Kui mõnda tegevustest ei leita, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
- Süsteem otsib Objektid#GoalActivity objekte, mille:
- Süsteem kontrollib, kas tegevust (goalActivityId) liigutatakse ainult ühe positsiooni võrra:
- Süsteem otsib mõlemat sisendis esitatud tegevust ja kontrollib, kas üks tegevus viitab teisele oma "previousGoalActivityId" väärtuses.
- Süsteem otsib Objektid#GoalActivity objekti, mille:
- id = Sisendis esitatud "goalActivityId" väärtus.
- Süsteem kontrollib, kas leitud Objektid#GoalActivity.previousGoalActivityId = Sisendis esitatud "targetGoalActivityId" väätus.
- Süsteem otsib Objektid#GoalActivity objekti, mille:
- id = Sisendis esitatud "targetGoalActivityId" väärtus.
- Süsteem kontrollib, kas leitud Objektid#GoalActivity.previousGoalActivityId = Sisendis esitatud "goalActivityId" väärtus.
- Kui ükski tegevus ei vasta tingimustele või mõlemad vastavad, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
- Süsteem otsib Objektid#GoalActivity objekti, mille:
- Süsteem otsib mõlemat sisendis esitatud tegevust ja kontrollib, kas üks tegevus viitab teisele oma "previousGoalActivityId" väärtuses.
- Süsteem uuendab liigutatava tegevuse positsiooni järjekorras:
- Süsteem otsib Objektid#GoalActivity objekti, mille:
- id = Sisendis esitatud "goalActivityId" väärtus.
- Süsteem uuendab leitud objekti andmeid:
- previousGoalActivityId = Objektid#GoalActivity.previousGoalActivityId, mille id = Sisendis esitatud "targetGoalActivityId" väärtus.
- Süsteem otsib Objektid#GoalActivity objekti, mille:
- Süsteem uuendab ka eesmärgi kõigi teiste tegevuste previousGoalActivityId väärtusi, mis järgnevad goalActivityId ja targetGoalActivityId tegevusele.
- Süsteem otsib kõik tegevused, mille järjekorda peab uuendama.
- Iga leitud tegevuse previousGoalActivityId väärtus uuendatakse.
- Süsteem tagastab tegevuse andmed, mis põhjustas eesmärgi tegevuste järjekorda muutmise.