in code/lambda_layer/metadata-services/python/datastore.py [0:0]
def registerDocument(self, documentId, bucketName, documentName, documentLink, principalIAMWriter, timestamp, documentMetadata, documentVersion=None):
ret = None
dynamodb = AwsHelper().getResource("dynamodb")
table = dynamodb.Table(self._registryTableName)
item = {
"documentId": documentId,
"principalIAMWriter": principalIAMWriter,
"bucketName": bucketName,
"documentName": documentName,
"documentLink": documentLink,
"documentMetadata": documentMetadata,
"timestamp": timestamp
}
if documentVersion:
item['documentVersion'] = documentVersion
try:
table.put_item(
ConditionExpression = "attribute_not_exists(documentId)",
Item = item
)
ret = {
'Status': 200
}
except ClientError as e:
print(e)
ret = {
'Error': e.response['Error']['Message'],
'Status': e.response['ResponseMetadata']['HTTPStatusCode']
}
except Exception as e:
print(e)
ret = {
'Error': 'Unknown error occurred during updating document',
'Status': 400
}
return ret