text: import * as dynamoDbLib from './libs/dynamodb-lib';
  import { success, failure } from './libs/response-lib';
  
  export async function main (event, context){
    // also possible to remove `JSON.parse()` and just use `event.body` but then the JSON
    // will need to be updated to work with the new format
    const data = JSON.parse(event.body);
    const params = {
      TableName: "notes",
      // 'Key' defines the partition key and sort key of the item to be updated
      // - 'userId': Identity Pool identity id of the authenticated user
      // - 'noteId': path parameter
      Key: {
        userId: event.requestContext.identity.cognitoIdentityId,
        noteId: event.pathParameters.id
      },
      // 'UpdateExpression' defines the attributes to be updated
      // 'ExpressionAttributeValues' defines the value in the update expression
      UpdateExpression: "SET content = :content, attachment = :attachment",
      ExpressionAttributeValues: {
        ":attachment": data.attachment || null,
        ":content": data.content || null
      },
      // 'ReturnValues' specifies if and how to return the item's attributes,
      // where ALL_NEW returns all attributes of the item after the update; you
      // can inspect 'result' below to see how it works with different settings
      ReturnValues: "ALL_NEW"
    }
    try {
      const result = await dynamoDbLib.call('update', params);
      return success ({ status: true });
    } catch (e) {
      // console.log('***** error', e)
      return failure ({ status: false })
    }
  }