helper.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. const axios = require("axios");
  2. module.exports = {
  3. getSquareData: function(merchant){
  4. let now = new Date().toISOString();
  5. now = `${now.substring(0, now.length - 1)}+00:00`;
  6. let before = new Date(merchant.lastUpdatedTime).toISOString();
  7. before = `${before.substring(0, before.length - 1)}+00:00`;
  8. axios.post(`${process.env.SQUARE_ADDRESS}/v2/orders/search`, {
  9. location_ids: [merchant.squareLocation],
  10. query: {
  11. filter: {
  12. date_time_filter: {
  13. closed_at: {
  14. start_at: before,
  15. end_at: now
  16. }
  17. },
  18. state_filter: {
  19. states: ["COMPLETED"]
  20. }
  21. },
  22. sort: {
  23. sort_field: "CLOSED_AT",
  24. sort_order: "DESC"
  25. }
  26. }
  27. }, {
  28. headers: {
  29. Authorization: `Bearer ${merchant.posAccessToken}`
  30. }
  31. })
  32. .then((response)=>{
  33. if(response.data.orders){
  34. console.log(response.data.orders[0].line_items);
  35. for(let i = 0; i < response.data.orders.length; i++){
  36. for(let j = 0; j < merchant.recipes.length; j++){
  37. if(response.data.orders[i].name === merchant.recipes[j].name){
  38. break;
  39. }
  40. }
  41. }
  42. }
  43. })
  44. .catch((err)=>{
  45. console.log(err);
  46. // console.log(err.response.data.errors);
  47. });
  48. }
  49. }