Skip to content

Commit

Permalink
Merge pull request #12 from HicResearch/list-pagination-ignore-90
Browse files Browse the repository at this point in the history
Ignore egress requests updated more than 90 days ago
  • Loading branch information
manics authored Mar 20, 2024
2 parents 4c5ca2f + 79bec9f commit c676eed
Showing 1 changed file with 15 additions and 2 deletions.
17 changes: 15 additions & 2 deletions egress_backend/lambda/egress_api/list_requests.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,13 @@
# agreement between Customer and Amazon Web Services, Inc.

import os
from datetime import datetime

import boto3
from aws_lambda_powertools import Logger, Tracer

MAX_REQUEST_AGE_DAYS = 90

tracer = Tracer(service="ListRequestsAPI")
logger = Logger(service="ListRequestsAPI")

Expand All @@ -18,9 +21,19 @@
def list_requests():
logger.debug("List Requests API invoked")

now = datetime.now()

def is_recent(item):
updated_dt = datetime.strptime(item["updated_dt"], "%Y-%m-%dT%H:%M:%S.%fZ")
return (now - updated_dt).days < MAX_REQUEST_AGE_DAYS

ddb_table = ddb.Table(table)

response = ddb_table.scan()
data = [item for item in response["Items"] if is_recent(item)]
while response.get("LastEvaluatedKey"):
response = ddb_table.scan(ExclusiveStartKey=response["LastEvaluatedKey"])
data.extend([item for item in response["Items"] if is_recent(item)])

logger.debug("Succesful database scan of all egress requests")
return response["Items"]
logger.debug("Successful database scan of all egress requests")
return data

0 comments on commit c676eed

Please sign in to comment.