You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.4 KiB
51 lines
1.4 KiB
package com.cm.demanderetraiteanticipe.service.mapper;
|
|
|
|
|
|
import com.cm.demanderetraiteanticipe.security.SecurityUtils;
|
|
import com.cm.demanderetraiteanticipe.service.dto.PersonneTitulaireDTO;
|
|
import org.springframework.http.HttpHeaders;
|
|
import org.springframework.http.MediaType;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.web.reactive.function.client.WebClient;
|
|
|
|
import reactor.core.publisher.Mono;
|
|
|
|
@Service
|
|
public class ConnectionService {
|
|
private static final String BASE_URL = "http://localhost:3001/services/";
|
|
|
|
|
|
public WebClient webClient() {
|
|
return WebClient.builder()
|
|
.baseUrl(BASE_URL)
|
|
.defaultHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE)
|
|
.defaultHeader(HttpHeaders.AUTHORIZATION, "Bearer " + SecurityUtils.getCurrentUserJWT().get())
|
|
.build();
|
|
}
|
|
|
|
public Mono<PersonneTitulaireDTO> getPersonne(Long id)
|
|
{
|
|
return this.webClient()
|
|
.get()
|
|
.uri("personnetitulaire/api/personne-titulaires/"+id)
|
|
.retrieve()
|
|
.bodyToMono(PersonneTitulaireDTO.class);
|
|
}
|
|
public Mono<PersonneTitulaireDTO> updatStatut(PersonneTitulaireDTO p)
|
|
{
|
|
return this.webClient()
|
|
.put()
|
|
.uri("personnetitulaire/api/personne-titulaires")
|
|
.body(Mono.just(p), PersonneTitulaireDTO.class)
|
|
.retrieve().bodyToMono(PersonneTitulaireDTO.class);
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|