Fixed redirects with new dictionary
This commit is contained in:
@@ -104,7 +104,7 @@ def lambda_handler(event: dict, context):
|
||||
break
|
||||
t = c.tags[tag_key]
|
||||
|
||||
# crea un contenuto per il tag a seconda della lunghezza della chiave
|
||||
# Crea un contenuto per il tag a seconda della lunghezza della chiave
|
||||
file_name = keys[0]
|
||||
if file_name == "url.txt":
|
||||
with s3_client.get_object(Bucket=bucket_data, Key=record.s3.object.key)['Body'] as url_file:
|
||||
@@ -112,6 +112,7 @@ def lambda_handler(event: dict, context):
|
||||
else:
|
||||
content = Content(type='s3', key=file_name, url=None)
|
||||
|
||||
# Aggiungi il contenuto a una faccia o al tag a seconda della lunghezza del path
|
||||
match len(keys):
|
||||
case 2:
|
||||
if t.content is None or isinstance(t.content, Content):
|
||||
|
||||
@@ -47,9 +47,11 @@ def lambda_handler(event: dict, context):
|
||||
try:
|
||||
redirects = json.load(resp['Body'])
|
||||
|
||||
params = RequestParams(**event.get('queryStringParameters', {}))
|
||||
customer = redirects.get(params.id, {})
|
||||
tag = customer.get(params.tag_id, {})
|
||||
params = RequestParams(**event.get('queryStringParameters', {}))
|
||||
customers = redirects.get('customers', {})
|
||||
customer = customers.get(params.id, {})
|
||||
tags = customer.get('tags', {})
|
||||
tag = tags.get(params.tag_id, {})
|
||||
content = tag.get('content', None)
|
||||
|
||||
# In case of multi face tag select the correct face
|
||||
@@ -63,7 +65,8 @@ def lambda_handler(event: dict, context):
|
||||
content = Content(**content)
|
||||
match content.type:
|
||||
case "s3":
|
||||
key = f'{params.id}/{params.tag_id}/{content.key}'
|
||||
file_name = content.key.replace('+',' ') # remove slugify of filename
|
||||
key = f'{params.id}/{params.tag_id}{'/'+params.face_id if params.face_id else ''}/{file_name}'
|
||||
final_redirect = s3_client.generate_presigned_url('get_object',
|
||||
Params={'Bucket': bucket_data,
|
||||
'Key': key},
|
||||
@@ -71,7 +74,6 @@ def lambda_handler(event: dict, context):
|
||||
case "url":
|
||||
final_redirect = content.url
|
||||
|
||||
|
||||
except json.decoder.JSONDecodeError as je:
|
||||
print(je)
|
||||
return {
|
||||
@@ -104,8 +106,8 @@ if __name__ == "__main__":
|
||||
"httpMethod": "GET",
|
||||
"queryStringParameters": {
|
||||
"id": "customer1",
|
||||
"tag_id": "tag3",
|
||||
"face_id": "face1"
|
||||
"tag_id": "tag2",
|
||||
"face_id": "face2"
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user