forked from AnomalyInnovations/serverless-stack-demo-api
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlist.js
25 lines (23 loc) · 905 Bytes
/
list.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import * as dynamoDbLib from './libs/dynamodb-lib';
import { success, failure } from './libs/response-lib';
export async function main(event, context, callback) {
const params = {
TableName: 'notes',
// 'KeyConditionExpression' defines the condition for the query
// - 'userId = :userId': only return items with matching 'userId' partition key
// 'ExpressionAttributeValues' defines the value in the condition
// - ':userId': defines 'userId' to be User Pool sub of the authenticated user
KeyConditionExpression: "userId = :userId",
ExpressionAttributeValues: {
":userId": event.requestContext.authorizer.claims.sub,
}
};
try {
const result = await dynamoDbLib.call('query', params);
// Return the matching list of items in response body
callback(null, success(result.Items));
}
catch(e) {
callback(null, failure({status: false}));
}
};