private static Map<String, AttributeValue> buildTableAttributeValuesMap(final ConsentDecision record) {
        val values = new HashMap<String, AttributeValue>();
        values.put(ColumnNames.PRINCIPAL.getColumnName(), AttributeValue.builder().s(record.getPrincipal()).build());
        values.put(ColumnNames.SERVICE.getColumnName(), AttributeValue.builder().s(record.getService()).build());
        values.put(ColumnNames.ID.getColumnName(), AttributeValue.builder().n(String.valueOf(record.getId())).build());

        val body = FunctionUtils.doUnchecked(() -> MAPPER.writeValueAsString(record));
        values.put(ColumnNames.BODY.getColumnName(), AttributeValue.builder().s(body).build());

        val time = DateTimeUtils.dateOf(record.getCreatedDate());
        values.put(ColumnNames.CREATED_DATE.getColumnName(), AttributeValue.builder().s(String.valueOf(time)).build());

        LOGGER.debug("Created attribute values [{}] based on [{}]", values, record);
        return values;
    }
This is {@link DynamoDbConsentFacilitator}.

@author Misagh Moayyed
@since 6.5.0
support/cas-server-support-consent-dynamodb/src/main/java/org/apereo/cas/consent/DynamoDbConsentFacilitator.java