Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
mfriesen committed Jun 1, 2024
1 parent c274fdc commit 9375bd2
Show file tree
Hide file tree
Showing 12 changed files with 175 additions and 47 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
import java.util.Map;
import com.formkiq.aws.dynamodb.DynamicObject;
import com.formkiq.aws.dynamodb.DynamoDbService;
import com.formkiq.aws.dynamodb.model.MappingRecord;
import com.formkiq.aws.dynamodb.objects.Strings;
import com.formkiq.module.actions.Action;
import com.formkiq.module.actions.ActionType;
Expand All @@ -57,7 +58,7 @@ public class ActionsValidatorImpl implements ActionsValidator {
/** Notification Email. */
private static final String NOTIFICATION_EMAIL = "NotificationEmail";
/** {@link DynamoDbService}. */
private DynamoDbService db;
private final DynamoDbService db;

/**
* constructor.
Expand All @@ -69,9 +70,7 @@ public ActionsValidatorImpl(final DynamoDbService dbService) {
}

private Map<String, String> getParameters(final Action action) {
Map<String, String> parameters =
action.parameters() != null ? action.parameters() : Collections.emptyMap();
return parameters;
return action.parameters() != null ? action.parameters() : Collections.emptyMap();
}

private boolean hasValue(final Map<String, String> parameters, final String key) {
Expand Down Expand Up @@ -162,6 +161,24 @@ private void validateQueue(final String siteId, final Action action,
}
}

private void validateIdp(final String siteId, final Action action,
final Collection<ValidationError> errors) {

Map<String, String> parameters = getParameters(action);

if (!hasValue(parameters, "mappingId")) {
errors.add(new ValidationErrorImpl().key("mappingId").error("'mappingId' is required"));

} else {
String mappingId = parameters.get("mappingId");
MappingRecord m = new MappingRecord().setDocumentId(mappingId);

if (!this.db.exists(m.fromS(m.pk(siteId)), m.fromS(m.sk()))) {
errors.add(new ValidationErrorImpl().key("mappingId").error("'mappingId' does not exist"));
}
}
}

@Override
public Collection<ValidationError> validation(final String siteId, final Action action,
final DynamicObject configs) {
Expand Down Expand Up @@ -193,6 +210,8 @@ public Collection<ValidationError> validation(final String siteId, final Action
validateNotificationEmail(configs, action, errors);
} else if (ActionType.QUEUE.equals(action.type())) {
validateQueue(siteId, action, errors);
} else if (ActionType.IDP.equals(action.type())) {
validateIdp(siteId, action, errors);
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
package com.formkiq.stacks.dynamodb.mappings;
package com.formkiq.aws.dynamodb.model;

import static com.formkiq.aws.dynamodb.SiteIdKeyGenerator.createDatabaseKey;
import static com.formkiq.aws.dynamodb.objects.Strings.isEmpty;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@

import com.formkiq.aws.dynamodb.PaginationMapToken;
import com.formkiq.aws.dynamodb.PaginationResults;
import com.formkiq.aws.dynamodb.model.MappingRecord;
import com.formkiq.validation.ValidationError;
import com.formkiq.validation.ValidationException;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
import com.formkiq.aws.dynamodb.PaginationToAttributeValue;
import com.formkiq.aws.dynamodb.QueryConfig;
import com.formkiq.aws.dynamodb.QueryResponseToPagination;
import com.formkiq.aws.dynamodb.model.MappingRecord;
import com.formkiq.stacks.dynamodb.attributes.AttributeRecord;
import com.formkiq.stacks.dynamodb.attributes.AttributeService;
import com.formkiq.stacks.dynamodb.attributes.AttributeServiceDynamodb;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
*/
package com.formkiq.stacks.dynamodb.mappings;

import com.formkiq.aws.dynamodb.model.MappingRecord;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@
import com.formkiq.aws.dynamodb.DynamoDbService;
import com.formkiq.aws.dynamodb.DynamoDbServiceImpl;
import com.formkiq.aws.dynamodb.PaginationResults;
import com.formkiq.stacks.dynamodb.mappings.MappingRecord;
import com.formkiq.aws.dynamodb.model.MappingRecord;
import com.formkiq.stacks.dynamodb.mappings.MappingService;
import com.formkiq.stacks.dynamodb.mappings.MappingServiceDynamodb;
import com.formkiq.testutils.aws.DynamoDbExtension;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
import com.formkiq.aws.services.lambda.exceptions.NotFoundException;
import com.formkiq.module.lambdaservices.AwsServiceCache;
import com.formkiq.stacks.api.transformers.MappingRecordToMap;
import com.formkiq.stacks.dynamodb.mappings.MappingRecord;
import com.formkiq.aws.dynamodb.model.MappingRecord;
import com.formkiq.stacks.dynamodb.mappings.MappingService;

import java.util.Map;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
import com.formkiq.aws.services.lambda.services.CacheService;
import com.formkiq.module.lambdaservices.AwsServiceCache;
import com.formkiq.stacks.api.transformers.MappingRecordToMap;
import com.formkiq.stacks.dynamodb.mappings.MappingRecord;
import com.formkiq.aws.dynamodb.model.MappingRecord;
import com.formkiq.stacks.dynamodb.mappings.MappingService;

import java.util.HashMap;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
package com.formkiq.stacks.api.transformers;

import com.formkiq.stacks.dynamodb.mappings.MappingAttribute;
import com.formkiq.stacks.dynamodb.mappings.MappingRecord;
import com.formkiq.aws.dynamodb.model.MappingRecord;
import com.formkiq.stacks.dynamodb.mappings.MappingService;

import java.util.List;
Expand Down
Loading

0 comments on commit 9375bd2

Please sign in to comment.