From 40a66a640b20975c851a0ad5f73b6cf18623f40c Mon Sep 17 00:00:00 2001 From: Timo Bejan Date: Wed, 21 Jun 2023 15:01:16 +0300 Subject: [PATCH] RED-6686 tenant details --- .../tenantcommons/TenantProvider.java | 5 +++++ .../fforesight/tenantcommons/TenantsClient.java | 8 ++++++++ .../model/UpdateDetailsRequest.java | 17 +++++++++++++++++ 3 files changed, 30 insertions(+) create mode 100644 src/main/java/com/knecon/fforesight/tenantcommons/model/UpdateDetailsRequest.java diff --git a/src/main/java/com/knecon/fforesight/tenantcommons/TenantProvider.java b/src/main/java/com/knecon/fforesight/tenantcommons/TenantProvider.java index 5807613..4c269f7 100644 --- a/src/main/java/com/knecon/fforesight/tenantcommons/TenantProvider.java +++ b/src/main/java/com/knecon/fforesight/tenantcommons/TenantProvider.java @@ -3,11 +3,16 @@ package com.knecon.fforesight.tenantcommons; import java.util.List; import com.knecon.fforesight.tenantcommons.model.TenantResponse; +import com.knecon.fforesight.tenantcommons.model.UpdateDetailsRequest; public interface TenantProvider { + void updateDetails(String tenantId, UpdateDetailsRequest request); + + TenantResponse getTenant(String tenantId); + List getTenants(); } diff --git a/src/main/java/com/knecon/fforesight/tenantcommons/TenantsClient.java b/src/main/java/com/knecon/fforesight/tenantcommons/TenantsClient.java index b54815d..4bf9947 100644 --- a/src/main/java/com/knecon/fforesight/tenantcommons/TenantsClient.java +++ b/src/main/java/com/knecon/fforesight/tenantcommons/TenantsClient.java @@ -9,9 +9,12 @@ import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseStatus; import com.knecon.fforesight.tenantcommons.model.TenantResponse; +import com.knecon.fforesight.tenantcommons.model.UpdateDetailsRequest; @FeignClient(name = "TenantsResource", url = "${tenant-user-management-service.url}") @ResponseStatus(value = HttpStatus.OK) @@ -20,9 +23,14 @@ public interface TenantsClient extends TenantProvider { String TENANT_PATH = "/tenants"; String TENANT_ID_PARAM = "tenantId"; + String DETAILS_PATH = "/details"; String TENANT_ID_PATH_PARAM = "/{" + TENANT_ID_PARAM + "}"; + @PostMapping(value = TENANT_PATH + TENANT_ID_PATH_PARAM + DETAILS_PATH, consumes = MediaType.APPLICATION_JSON_VALUE) + void updateDetails(@PathVariable("tenantId") String tenantId, @RequestBody UpdateDetailsRequest request); + + @GetMapping(value = TENANT_PATH + TENANT_ID_PATH_PARAM, produces = MediaType.APPLICATION_JSON_VALUE) TenantResponse getTenant(@PathVariable(TENANT_ID_PARAM) String tenantId); diff --git a/src/main/java/com/knecon/fforesight/tenantcommons/model/UpdateDetailsRequest.java b/src/main/java/com/knecon/fforesight/tenantcommons/model/UpdateDetailsRequest.java new file mode 100644 index 0000000..8512dd6 --- /dev/null +++ b/src/main/java/com/knecon/fforesight/tenantcommons/model/UpdateDetailsRequest.java @@ -0,0 +1,17 @@ +package com.knecon.fforesight.tenantcommons.model; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class UpdateDetailsRequest { + + private String key; + private Object value; + +}