#set( $limit = $util.defaultIfNull($context.args.limit, 100) ) #set( $query = { "expression": "#connectionAttribute = :connectionAttribute", "expressionNames": { "#connectionAttribute": "gameId" }, "expressionValues": { ":connectionAttribute": { "S": "$context.source.id" } } } ) ## [Start] Applying Key Condition ** #if( !$util.isNull($ctx.args.createdAt) && !$util.isNull($ctx.args.createdAt.beginsWith) ) #set( $query.expression = "$query.expression AND begins_with(#sortKey, :sortKey)" ) $util.qr($query.expressionNames.put("#sortKey", "createdAt")) $util.qr($query.expressionValues.put(":sortKey", { "S": "$ctx.args.createdAt.beginsWith" })) #end #if( !$util.isNull($ctx.args.createdAt) && !$util.isNull($ctx.args.createdAt.between) ) #set( $query.expression = "$query.expression AND #sortKey BETWEEN :sortKey0 AND :sortKey1" ) $util.qr($query.expressionNames.put("#sortKey", "createdAt")) $util.qr($query.expressionValues.put(":sortKey0", { "S": "$ctx.args.createdAt.between[0]" })) $util.qr($query.expressionValues.put(":sortKey1", { "S": "$ctx.args.createdAt.between[1]" })) #end #if( !$util.isNull($ctx.args.createdAt) && !$util.isNull($ctx.args.createdAt.eq) ) #set( $query.expression = "$query.expression AND #sortKey = :sortKey" ) $util.qr($query.expressionNames.put("#sortKey", "createdAt")) $util.qr($query.expressionValues.put(":sortKey", { "S": "$ctx.args.createdAt.eq" })) #end #if( !$util.isNull($ctx.args.createdAt) && !$util.isNull($ctx.args.createdAt.lt) ) #set( $query.expression = "$query.expression AND #sortKey < :sortKey" ) $util.qr($query.expressionNames.put("#sortKey", "createdAt")) $util.qr($query.expressionValues.put(":sortKey", { "S": "$ctx.args.createdAt.lt" })) #end #if( !$util.isNull($ctx.args.createdAt) && !$util.isNull($ctx.args.createdAt.le) ) #set( $query.expression = "$query.expression AND #sortKey <= :sortKey" ) $util.qr($query.expressionNames.put("#sortKey", "createdAt")) $util.qr($query.expressionValues.put(":sortKey", { "S": "$ctx.args.createdAt.le" })) #end #if( !$util.isNull($ctx.args.createdAt) && !$util.isNull($ctx.args.createdAt.gt) ) #set( $query.expression = "$query.expression AND #sortKey > :sortKey" ) $util.qr($query.expressionNames.put("#sortKey", "createdAt")) $util.qr($query.expressionValues.put(":sortKey", { "S": "$ctx.args.createdAt.gt" })) #end #if( !$util.isNull($ctx.args.createdAt) && !$util.isNull($ctx.args.createdAt.ge) ) #set( $query.expression = "$query.expression AND #sortKey >= :sortKey" ) $util.qr($query.expressionNames.put("#sortKey", "createdAt")) $util.qr($query.expressionValues.put(":sortKey", { "S": "$ctx.args.createdAt.ge" })) #end ## [End] Applying Key Condition ** { "version": "2017-02-28", "operation": "Query", "query": $util.toJson($query), "scanIndexForward": #if( $context.args.sortDirection ) #if( $context.args.sortDirection == "ASC" ) true #else false #end #else true #end, "filter": #if( $context.args.filter ) $util.transform.toDynamoDBFilterExpression($ctx.args.filter) #else null #end, "limit": $limit, "nextToken": #if( $context.args.nextToken ) $util.toJson($context.args.nextToken) #else null #end, "index": "gsi-GameEvents" }