Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OK-751 käyttöoikeuskäsittelyn tehostamista #84

Open
wants to merge 32 commits into
base: main
Choose a base branch
from
Open

Conversation

marjakari
Copy link
Contributor

No description provided.

Copy link
Contributor

@jkorri jkorri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lokitukset kantsiii katsoa, ja käyttää sessiota aina jos mahdollista.

* Hakee lähetyksen viestin lukumäärän
*
* @param lahetysTunniste lähetyksen tunniste
* @return lähetyksen viestien määrä
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tämä kommentti lienee copypastettu

@@ -58,8 +58,10 @@ class LahetysResource {
@RequestParam(name = HAKU_ALKAEN_PARAM_NAME, required = false) hakuAlkaen: Optional[String],
@RequestParam(name = HAKU_PAATTYEN_PARAM_NAME, required = false) hakuPaattyen: Optional[String],
request: HttpServletRequest): ResponseEntity[PalautaLahetyksetResponse] =
val securityOperaatiot = new SecurityOperaatiot
LOG.info("Haetaan lähetyksiä")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tämä ei sisällä paljonkaan informaatiota, jos tämän haluaa lokittaa niin voisi laittaa debug-tasolla kaikilla parametreilla.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Joo, nämä oli tarkoitus jättää vaan tilapäisesti, katselin lokitusten aikaleimoista miten pyynnöt etenee ja missä kohtaa kestää

val kayttooikeusTunnisteet =
if (securityOperaatiot.onPaakayttaja()) Option.empty
else Option.apply(kantaOperaatiot.getKayttooikeusTunnisteet(securityOperaatiot.getKayttajanOikeudet().toSeq))
LOG.info("haetaan käyttäjän käyttöoikeustunnisteet")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tämä yleiskommenttina kaikista lokituksista. Suurin osa kantsii varmaan vaan poistaa ja loppuihin lisätä tunnisteet.

getUsername: () => String = () => SecurityContextHolder.getContext.getAuthentication.getName(),
organisaatioClient: OrganisaatioService = OrganisaatioService,
kantaOperaatiot: KantaOperaatiot = new KantaOperaatiot(DbUtil.database),
optionalHttpSession: Option[HttpSession] = None) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Miksi sessio on optionaalinen, eikö olisi yksinkertaisempaa vaatia se aina?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

En siinä kohti halunnut uusia joka kohtaa missä luodaan SecurityOperaatiot-intanssi niin oli helpompaa jättää se optionaaliseksi, kun ihan joka kohdassa missä sitä käytettiin ei tarvittu käyttöoikeuksia eikä siis myöskään sessiota vaan esim käyttäjän henkilö-oidin kysely. Ehkä yksinkertaistaisi jos sen passaisi silti aina.

else
optionalHttpSession match {
case None =>
LOG.warn("ei sessiota, oikkatunnisteet kannasta!")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Liittyen aikaisempaan kommenttiin, onko tämä skeenario jota halutaan/pakko tukea?

case _ =>
LOG.warn("oikkatunnisteet kannasta ja laitetaan sessioon!")
val tunnisteet = kantaOperaatiot.getKayttooikeusTunnisteet(kayttajanOikeudet.toSeq)
val uusinTunniste = kantaOperaatiot.getUusinKayttooikeusTunniste()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

koska tunnisteiden ja uusimman tunnisteen haku ei tapahtu transaktionaalisesti, voi periaatteessa näiden kahden välissä kantaan tulla uusia tunnisteita, getKayttooikeusTunnisteet voisi palauttaa transaktionaalisesti tuplen.

Copy link
Contributor

@jkorri jkorri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hyvältää näyttää, lähinnä kaipaisin tiettyihin kohtiin kommentteja


@Test def testKayttajanOikeudet(): Unit =
@Test def testKayttajaSaaOikeudetLapsiorganisaatioihin(): Unit =
reset(mockOrganisaatioService, mockKantaoperaatiot)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Näissä testeissä olisi hyvä avata parilla lyhyellä kommentilla miten data alustetaan ja miksi ulos tulee mitä tulee

@@ -352,7 +352,7 @@ object ViestiValidator:
virheet.incl("Metadata \"" + avain + "\": " + avainVirheet.mkString(",")) else virheet))
.fold(l => l, r => r)

val oidPattern: Regex = ("[0-9]+(\\.[0-9]+)+").r
val organisaatioOidPattern: Regex = "^1\\.2\\.246\\.562\\.(10|99)\\.\\d+$".r
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

VALIDATION_ORGANISAATIO_INVALID -tekstissä voisi selittää mikä on validi organisaatio nyt kun tuo patterni on monimutkaisempi

/**
* Viestin haku
*/
@WithMockUser(value = "kayttaja", authorities = Array(SecurityConstants.SECURITY_ROOLI_LAHETYS_FULL, SecurityConstants.SECURITY_ROOLI_KATSELU_FULL, "ROLE_APP_HAKEMUS_CRUD"))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Näihin testeihin kaipaisin paria lyhyttä kommenttia jossa kerrotaan mitä tehdään ja miksi tapahtuu mitä tapahtuu.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants