diff --git a/src/main/java/org/opensearch/security/dlic/rest/api/AbstractApiAction.java b/src/main/java/org/opensearch/security/dlic/rest/api/AbstractApiAction.java index 38af115426..72268c2ca9 100644 --- a/src/main/java/org/opensearch/security/dlic/rest/api/AbstractApiAction.java +++ b/src/main/java/org/opensearch/security/dlic/rest/api/AbstractApiAction.java @@ -344,8 +344,9 @@ protected final ValidationResult addEntityToConfig(final if (configuration.exists(securityConfiguration.entityName())) { CEntry existingEntry = (CEntry) configuration.getCEntry(securityConfiguration.entityName()); System.out.println("Existing CEntry: " + existingEntry); + System.out.println("centry.getCreatedAt(): " + existingEntry.getCreatedAt()); System.out.println("Setting updatedAt only"); - if (centry.getCreatedAt() == null) { + if (existingEntry.getCreatedAt() == null) { centry.setCreatedAt(Instant.now().getEpochSecond()); } else { centry.setCreatedAt(existingEntry.getCreatedAt()); diff --git a/src/main/java/org/opensearch/security/dlic/rest/api/InternalUsersApiAction.java b/src/main/java/org/opensearch/security/dlic/rest/api/InternalUsersApiAction.java index bd671a95ea..2f1c6d361e 100644 --- a/src/main/java/org/opensearch/security/dlic/rest/api/InternalUsersApiAction.java +++ b/src/main/java/org/opensearch/security/dlic/rest/api/InternalUsersApiAction.java @@ -111,18 +111,16 @@ private void internalUsersApiRequestHandlers(RequestHandler.RequestHandlersBuild .error((status, toXContent) -> response(channel, status, toXContent)) ) .onChangeRequest(Method.PATCH, this::processPatchRequest) - .onChangeRequest( - Method.PUT, - request -> { - System.out.println("InternalUsers PUT Request"); - return endpointValidator.withRequiredEntityName(nameParam(request)) - .map(username -> loadConfigurationWithRequestContent(username, request)) - .map(endpointValidator::isAllowedToChangeImmutableEntity) - .map(this::validateSecurityRoles) - .map(securityConfiguration -> createOrUpdateAccount(request, securityConfiguration)) - .map(this::validateAndUpdatePassword) - .map(this::addEntityToConfig); - }); + .onChangeRequest(Method.PUT, request -> { + System.out.println("InternalUsers PUT Request"); + return endpointValidator.withRequiredEntityName(nameParam(request)) + .map(username -> loadConfigurationWithRequestContent(username, request)) + .map(endpointValidator::isAllowedToChangeImmutableEntity) + .map(this::validateSecurityRoles) + .map(securityConfiguration -> createOrUpdateAccount(request, securityConfiguration)) + .map(this::validateAndUpdatePassword) + .map(this::addEntityToConfig); + }); } ValidationResult withAuthTokenPath(final RestRequest request) throws IOException { diff --git a/src/main/java/org/opensearch/security/dlic/rest/api/SecurityConfiguration.java b/src/main/java/org/opensearch/security/dlic/rest/api/SecurityConfiguration.java index 5708b70bc2..a5df122559 100644 --- a/src/main/java/org/opensearch/security/dlic/rest/api/SecurityConfiguration.java +++ b/src/main/java/org/opensearch/security/dlic/rest/api/SecurityConfiguration.java @@ -12,12 +12,9 @@ package org.opensearch.security.dlic.rest.api; import com.fasterxml.jackson.databind.JsonNode; -import org.opensearch.security.securityconf.impl.CEntry; import org.opensearch.security.securityconf.impl.SecurityDynamicConfiguration; import javax.swing.*; -import java.time.Instant; -import java.util.Map; import java.util.Objects; import java.util.Optional; diff --git a/src/main/java/org/opensearch/security/securityconf/impl/v7/RoleV7.java b/src/main/java/org/opensearch/security/securityconf/impl/v7/RoleV7.java index 229cae0e6f..7794162751 100644 --- a/src/main/java/org/opensearch/security/securityconf/impl/v7/RoleV7.java +++ b/src/main/java/org/opensearch/security/securityconf/impl/v7/RoleV7.java @@ -39,9 +39,10 @@ import org.opensearch.security.securityconf.Hideable; import org.opensearch.security.securityconf.StaticDefinable; +import org.opensearch.security.securityconf.impl.CEntry; import org.opensearch.security.securityconf.impl.v6.RoleV6; -public class RoleV7 implements Hideable, StaticDefinable { +public class RoleV7 extends CEntry implements Hideable, StaticDefinable { private boolean reserved; private boolean hidden; @@ -299,6 +300,10 @@ public String toString() { + index_permissions + ", tenant_permissions=" + tenant_permissions + + ", created_at=" + + createdAt + + ", updated_at=" + + updatedAt + "]"; }