in services/shared-services/tenant-registration-service/src/main/java/com/amazonaws/saas/eks/TenantRegistrationService.java [552:601]
private TenantDetails updateTenant(TenantDetails tenant) {
String tenantId = "";
String companyName = tenant.getCompanyName();
if (companyName != null && companyName != "") {
tenantId = generateTenantId(companyName);
tenant.setTenantId(tenantId);
} else {
logger.error("Company Name is empty or null");
return null;
}
AmazonDynamoDB client = AmazonDynamoDBClientBuilder.standard().build();
DynamoDB dynamoDB = new DynamoDB(client);
Table table = dynamoDB.getTable(TENANT);
UpdateItemSpec updateItemSpec = new UpdateItemSpec().withPrimaryKey("TENANT_ID", tenant.getTenantId())
.withUpdateExpression(
"set AUTH_SERVER = :p1, AUTH_CLIENT_ID=:p2, AUTH_REDIRECT_URI=:p3, AUTH_SR_REDIRECT_URI=:p4, AUTH_USE_SR=:p5, AUTH_SR_TIMEOUT=:p6, AUTH_TIMEOUT_FACTOR=:p7, AUTH_SESSION_CHECKS_ENABLED=:p8, AUTH_SHOW_DEBUG_INFO=:p9, AUTH_CLEAR_HASH_AFTER_LOGIN=:p10, COGNITO_DOMAIN=:p11")
.withValueMap(new ValueMap()
.withString(":p1", tenant.getAuthServer())
.withString(":p2", tenant.getClientId())
.withString(":p3", tenant.getRedirectUrl())
.withString(":p4", tenant.getSilentRefreshRedirectUri())
.withBoolean(":p5", true)
.withNumber(":p6", 5000)
.withNumber(":p7", 0.25)
.withBoolean(":p8", true)
.withBoolean(":p9", true)
.withBoolean(":p10", false)
.withString(":p11", tenant.getCognitoDomain()))
.withReturnValues(ReturnValue.UPDATED_NEW);
try {
logger.info("Updating the item...");
UpdateItemOutcome outcome = table.updateItem(updateItemSpec);
logger.info("UpdateItem succeeded: " + outcome.getItem().toJSONPretty());
}
catch (Exception e) {
logger.error("Unable to update item: ");
logger.error(e.getMessage());
}
logger.info(
"Tenant Registration Complete! Calling CodePipeline to provision tenant application's backend EKS services");
return tenant;
}