in src/fileManager.ts [95:120]
export async function saveGuFile(file: FileJSON): Promise<boolean> {
console.log(`Saving ${file.metaData.id} - ${file.metaData.title} to dynamodb`)
const lastModified = notEmpty(file.metaData.modifiedDate) ? new Date(file.metaData.modifiedDate).getTime() : new Date().getTime();
const Item = {
"key": `file:${file.metaData.id}`,
file: file,
lastModified,
"type": "file",
};
try {
await dynamo.put({
TableName: DYNAMODB_TABLE,
Item,
ExpressionAttributeValues: {
':limit': lastModified,
},
ConditionExpression: "attribute_not_exists(lastModified) or lastModified <= :limit"
});
return true;
} catch(e) {
console.error(`Failed to save file ${file.metaData.id} - ${file.metaData.title} (last modified = ${lastModified})`, e)
return false;
}
}