bed3de76dd
This PR implemented ticket clevermicro/user-management#34 for the user-service-v1 endpoint, along with all the infrastructures required to support the endpoints. The changes are: + switch build tool to gradle for easier access to the private artifacts of clevermicro (although later Brian change the artifacts to public) + set up clevermicro amqp client + switched to official keycloak admin client instead of implementing it with webflux + implement the message formats for the RPC protocol, for now they are exclusive to auth-service, but in the future we will reuse (might with some changes) them for all RPC calls inside clevermicro (need a server lib for handling the message parsing and convertion) + implement the user query endpoint + implement unit test so the overall coverage is above 85% + fixed all issues found during the testing phase with shared env Currently the latest docker image has been deployed to the shared env, see https://docs.cleverthis.com/en/architecture/microservices/shared-env#multi-user-support Reviewed-on: #35
31 lines
1007 B
Java
31 lines
1007 B
Java
package com.cleverthis.authservice.dto.keycloakadmin;
|
|
|
|
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Set;
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.Data;
|
|
import lombok.NoArgsConstructor;
|
|
import org.keycloak.representations.idm.OrganizationDomainRepresentation;
|
|
|
|
/**
|
|
* Data Transfer Object for representing a Keycloak Organization when interacting with the Keycloak
|
|
* Admin API.
|
|
*/
|
|
@Data
|
|
@NoArgsConstructor
|
|
@AllArgsConstructor
|
|
@JsonIgnoreProperties(ignoreUnknown = true)
|
|
// Include only non-null fields during serialization, useful for update operations
|
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
|
public class KeycloakOrganizationRepresentation {
|
|
|
|
private String id;
|
|
private String name;
|
|
private Set<OrganizationDomainRepresentation> domains;
|
|
private String description;
|
|
private Boolean enabled;
|
|
private Map<String, List<String>> attributes;
|
|
} |