use of org.wso2.carbon.apimgt.rest.api.admin.v1.dto.TenantInfoDTO in project carbon-apimgt by wso2.
the class TenantInfoApiServiceImpl method getTenantInfoByUsername.
@Override
public Response getTenantInfoByUsername(String username, MessageContext messageContext) {
TenantInfoDTO tenantInfoDTO = new TenantInfoDTO();
String decodedUserName;
try {
if (StringUtils.isEmpty(username)) {
RestApiUtil.handleBadRequest("User Name should not be empty", log);
}
try {
decodedUserName = new String(Base64.getDecoder().decode(username));
} catch (IllegalArgumentException e) {
log.warn("Could not decode the username. Using original username");
decodedUserName = username;
}
if (!APIUtil.isUserExist(decodedUserName)) {
RestApiUtil.handleBadRequest("Requested User " + decodedUserName + " does not exist", log);
}
String tenantDomain = MultitenantUtils.getTenantDomain(decodedUserName);
int tenantId = APIUtil.getTenantIdFromTenantDomain(tenantDomain);
tenantInfoDTO.setTenantDomain(tenantDomain);
tenantInfoDTO.setTenantId(tenantId);
tenantInfoDTO.setUsername(decodedUserName);
return Response.status(Response.Status.OK).entity(tenantInfoDTO).build();
} catch (APIManagementException e) {
RestApiUtil.handleInternalServerError("Internal Server Error occurred while retrieving tenant " + "information", e, log);
}
return null;
}
Aggregations