Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var AWS = require('aws-sdk');
- var dynamodb = new AWS.DynamoDB();
- const _ = require('lodash')
- exports.handler = async (event) => {
- // TODO implement
- console.log(event)
- const params = {
- "TableName": "Harvests",
- "ProjectionExpression":"id, plantCount, harvestGrams, totalPlantGrams, classification, bay, strain, harvestLbs, totalPlantLbs, percentHarvestedPlantWeight, lbsHarvestedPerSqFt, plantsPerLight, harvestLbsPerLight, sqFtPerPlant",
- "ConsistentRead": true,
- "ReturnConsumedCapacity": "TOTAL"
- }
- let newResponse;
- const promiseResponse = await dynamodb.scan(params).promise();
- if (promiseResponse.Items && promiseResponse.Items[0].totalPlantGrams) {
- newResponse = promiseResponse.Items.map((harvest) => {
- console.log(harvest)
- return {
- totalPlantGrams: harvest.totalPlantGrams.N,
- classification: harvest.classification.S,
- plantsPerLight: harvest.plantsPerLight.N,
- harvestLbs: harvest.harvestLbs.N,
- sqFtPerPlant: harvest.sqFtPerPlant.N,
- strain: harvest.strain.S,
- percentHarvestedPlantWeight: harvest.percentHarvestedPlantWeight.N,
- harvestLbsPerLight: harvest.harvestLbsPerLight.N,
- totalPlantLbs: harvest.totalPlantLbs.N,
- bay: harvest.bay.S,
- lbsHarvestedPerSqFt: harvest.lbsHarvestedPerSqFt.N,
- harvestGrams: harvest.harvestGrams.N,
- id: harvest.id.S,
- plantCount: harvest.plantCount.N
- }
- })
- }
- if (event.strain) {
- return _.find(newResponse, ['strain', event.strain])
- } else if (event.bay) {
- return _.find(newResponse, ['bay', event.bay])
- } else if (event.sort_by && event.order) {
- let sorted = _.sortBy(newResponse, event.sort_by)
- if (event.order === 'ASC') {
- return sorted
- } else if (event.order === 'DESC') {
- return _.reverse(sorted)
- } else {
- return { errorMessage: "event.order required to be ASC or DESC" }
- }
- } else {
- return newResponse
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement