Advertisement
Guest User

harvestsGet2

a guest
Apr 23rd, 2019
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.00 KB | None | 0 0
  1. var AWS = require('aws-sdk');
  2. var dynamodb = new AWS.DynamoDB();
  3. const _ = require('lodash')
  4.  
  5. exports.handler = async (event) => {
  6. // TODO implement
  7. console.log(event)
  8.  
  9. const params = {
  10. "TableName": "Harvests",
  11. "ProjectionExpression":"id, plantCount, harvestGrams, totalPlantGrams, classification, bay, strain, harvestLbs, totalPlantLbs, percentHarvestedPlantWeight, lbsHarvestedPerSqFt, plantsPerLight, harvestLbsPerLight, sqFtPerPlant",
  12. "ConsistentRead": true,
  13. "ReturnConsumedCapacity": "TOTAL"
  14. }
  15. let newResponse;
  16. const promiseResponse = await dynamodb.scan(params).promise();
  17. if (promiseResponse.Items && promiseResponse.Items[0].totalPlantGrams) {
  18. newResponse = promiseResponse.Items.map((harvest) => {
  19. console.log(harvest)
  20. return {
  21. totalPlantGrams: harvest.totalPlantGrams.N,
  22. classification: harvest.classification.S,
  23. plantsPerLight: harvest.plantsPerLight.N,
  24. harvestLbs: harvest.harvestLbs.N,
  25. sqFtPerPlant: harvest.sqFtPerPlant.N,
  26. strain: harvest.strain.S,
  27. percentHarvestedPlantWeight: harvest.percentHarvestedPlantWeight.N,
  28. harvestLbsPerLight: harvest.harvestLbsPerLight.N,
  29. totalPlantLbs: harvest.totalPlantLbs.N,
  30. bay: harvest.bay.S,
  31. lbsHarvestedPerSqFt: harvest.lbsHarvestedPerSqFt.N,
  32. harvestGrams: harvest.harvestGrams.N,
  33. id: harvest.id.S,
  34. plantCount: harvest.plantCount.N
  35. }
  36. })
  37. }
  38.  
  39. if (event.strain) {
  40. return _.find(newResponse, ['strain', event.strain])
  41. } else if (event.bay) {
  42. return _.find(newResponse, ['bay', event.bay])
  43. } else if (event.sort_by && event.order) {
  44. let sorted = _.sortBy(newResponse, event.sort_by)
  45. if (event.order === 'ASC') {
  46. return sorted
  47. } else if (event.order === 'DESC') {
  48. return _.reverse(sorted)
  49. } else {
  50. return { errorMessage: "event.order required to be ASC or DESC" }
  51. }
  52. } else {
  53. return newResponse
  54. }
  55. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement