Skip to content

Instantly share code, notes, and snippets.

@manico
Created January 7, 2020 15:23
Show Gist options
  • Save manico/fece8bccb576a2166ef7cf5476eb73ff to your computer and use it in GitHub Desktop.
Save manico/fece8bccb576a2166ef7cf5476eb73ff to your computer and use it in GitHub Desktop.
Lambda Boards
import db from './utility/db';
export async function handler(event, context) {
context.callbackWaitsForEmptyEventLoop = false;
const query = event.queryStringParameters;
const queryLimit = query.limit ? Number(query.limit) : 10;
const queryOffset = query.offset ? Number(query.offset) : 0;
const queryFind = {};
if (query.name) {
queryFind.name = {
$regex: query.name,
$options: 'i',
};
};
const dbConnection = await db.connect();
const dbBoardCollection = dbConnection.collection('board');
const dbBoardDocs = await dbBoardCollection
.find(queryFind)
.skip(queryOffset)
.limit(queryLimit)
.toArray();
return {
statusCode: 200,
body: JSON.stringify({
data: dbBoardDocs,
pagination: {
limit: queryLimit,
offset: queryOffset,
},
}),
};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment