Commit fd2ab12b authored by Siiri Tann's avatar Siiri Tann
Browse files

TEIS-1959: new endpoint for validating authority's licences.

parent 79e468e1
package ee.sm.ti.teis.commongateway.authorities.authoritylicence.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ValidatedAuthorityLicenceDto {
@NotNull
private boolean licenceExists;
}
package ee.sm.ti.teis.commongateway.authorities.authoritylicence.request;
import ee.sm.ti.teis.AbstractDTO;
import ee.sm.ti.teis.ErrorDTO;
import ee.sm.ti.teis.types.enums.AuthorityLicenceType;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
import java.util.UUID;
public class ValidateAuthorityLicenceRequest extends AbstractDTO<ValidateAuthorityLicenceRequest.Parameters, ErrorDTO> {
public static final String ROUTING_KEY = "api.ValidateAuthorityLicenceRequest";
@Override
public String routingKey() {
return ROUTING_KEY;
}
@Data
@AllArgsConstructor
@NoArgsConstructor
public static class Parameters {
@NotNull
private UUID authorityId;
@NotNull
private AuthorityLicenceType licenceType;
private Boolean includeAll;
}
}
package ee.sm.ti.teis.commongateway.authorities.authoritylicence.response;
import ee.sm.ti.teis.AbstractDTO;
import ee.sm.ti.teis.ErrorDTO;
import ee.sm.ti.teis.commongateway.authorities.authoritylicence.dto.ValidatedAuthorityLicenceDto;
public class ValidateAuthorityLicenceResponse extends AbstractDTO<ValidatedAuthorityLicenceDto, ErrorDTO> {
public static final String ROUTING_KEY = "api.ValidateAuthorityLicenceResponse";
@Override
public String routingKey() {
return ROUTING_KEY;
}
}
......@@ -27,4 +27,10 @@ class AuthorityLicenceControllerTest extends CommonApiGatewayTestBase {
assertThrows(NoResponseFromRabbitException.class,
() -> controller.getLicencedAuthorities(AuthorityLicenceType.OH, new RequestMetaDTO()));
}
@Test
void validate_badRequest() {
assertThrows(NoResponseFromRabbitException.class,
() -> controller.validateAuthorityLicence(randomUUID(), AuthorityLicenceType.OH, null, new RequestMetaDTO()));
}
}
package ee.sm.ti.teis.commongateway.authorities.authoritylicence;
import ee.sm.ti.teis.commongateway.authorities.authoritylicence.dto.AuthorityLicenceDto;
import ee.sm.ti.teis.commongateway.authorities.authoritylicence.dto.ValidatedAuthorityLicenceDto;
import ee.sm.ti.teis.commongateway.authorities.authoritylicence.request.AuthorityLicencesRequest;
import ee.sm.ti.teis.commongateway.authorities.authoritylicence.request.LicencedAuthoritiesRequest;
import ee.sm.ti.teis.commongateway.authorities.authoritylicence.request.ValidateAuthorityLicenceRequest;
import ee.sm.ti.teis.commongateway.person.PersonDto;
import ee.sm.ti.teis.gatewaycommon.controller.TeisBaseController;
import ee.sm.ti.teis.gatewaycommon.rabbit.RequestProcessingService;
......@@ -45,4 +47,16 @@ public class AuthorityLicenceController extends TeisBaseController {
return (List<PersonDto>) service.sendAndReceive(request);
}
@ApiOperation(value = "${teis.api.authorities.validate-authority-licence}", response = ValidatedAuthorityLicenceDto.class)
@GetMapping("validate")
public ValidatedAuthorityLicenceDto validateAuthorityLicence(@RequestParam UUID authorityId,
@RequestParam AuthorityLicenceType licenceType,
@RequestParam(required = false) Boolean includeAll,
RequestMetaDTO requestMetaDTO) {
ValidateAuthorityLicenceRequest request = new ValidateAuthorityLicenceRequest();
request.setPayload(new ValidateAuthorityLicenceRequest.Parameters(authorityId, licenceType, includeAll), requestMetaDTO);
return (ValidatedAuthorityLicenceDto) service.sendAndReceive(request);
}
}
......@@ -175,3 +175,4 @@ teis.api.representatives.authority.get-list: Päringuteenus otsib sisendis esita
teis.api.authorities.get-authority-licences: Teenus väljastab teatud ülesandeid täitvale ettevõttele (nt töötervishoiuteenuse osutajale) nende ülesannete täitmiseks antud tegevusload. Kasutatakse selleks, et kuvada kasutajaliideses ettevõttele antud tegevusload. Kasutatakse halduse kontekstis, et kontrollida, mis andmed on süsteemis ettevõtte tegevuslubade kohta olemas.
teis.api.authorities.get-licenced-authorities: Teenus väljastab tegevuslube omavate ettevõtete andmed. Väljastatakse kehtivate tegevuslubadega ettevõtted. Kasutatakse selleks, et ettevõte saaks vaadata tegevuslube omavaid ettevõtteid, kellele anda juurdepääsu õigus.
teis.api.authorities.validate-authority-licence: Teenus võimaldab kontrollida, kas teatud ülesandeid täitvale ettevõtte kohta on olemas tegevusloa andmed. Kasutatakse näiteks töötervishoiuarsti süsteemi sisse logimise käigus, et kontrollida, kas töötervishoiuteenust osutaval ettevõttel on kehtiv tegevusluba. Kasutatakse ka TI ametniku ja iseteeninduse kasutajaliideses ligipääsu õiguste haldamise juures, et otsustada, kas ligipääse kuvada nagu tavalisele ettevõttele (ei oma tegevuslube, saab anda õigusi) või kui tegevuslube omavale ettevõttele (nt tervishoiuteenuse osutaja saab saada tegevuslube).
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment