export async function saveGuFile()

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;
    }
}