From 0087a7ee0c8c157c5ea33206d731fd411a1ff3e3 Mon Sep 17 00:00:00 2001 From: lion Date: Wed, 6 Feb 2019 14:55:48 +0100 Subject: [PATCH] some refactoring and enabling payment (final) --- backend/index.js | 52 +- backend/package-lock.json | 8 + backend/package.json | 1 + frontend-react/public/index.html | 4 + .../src/components/NotificationModal.js | 126 ++++- .../NekretnineFilter/AllFiltersDefined.js | 235 ++++++-- .../NekretnineFilter/KuceFilter/index.js | 67 --- .../NekretnineFilter/StanoviFilter/index.js | 74 --- .../filters/NekretnineFilter/index.js | 102 ++-- .../filters/VozilaFilter/AllFiltersDefined.js | 196 +++++-- .../components/filters/VozilaFilter/index.js | 126 +++-- .../subcategories/nekretnine/Kuce.js | 35 +- .../subcategories/nekretnine/Stanovi.js | 34 +- .../subcategories/vozila/Automobili.js | 38 +- .../subcategories/vozila/Motocikli.js | 36 +- .../components/widgets/CollapseWrapperAll.js | 13 + package-lock.json | 511 +++++++++++++++--- 17 files changed, 1199 insertions(+), 459 deletions(-) delete mode 100644 frontend-react/src/components/filters/NekretnineFilter/KuceFilter/index.js delete mode 100644 frontend-react/src/components/filters/NekretnineFilter/StanoviFilter/index.js create mode 100644 frontend-react/src/components/widgets/CollapseWrapperAll.js diff --git a/backend/index.js b/backend/index.js index 6345cc6..dfa36bc 100644 --- a/backend/index.js +++ b/backend/index.js @@ -5,6 +5,7 @@ const MarketAlert = require("./MarketAlert"); const sendNotification = require("./utils/sendnotification"); const scrapTheItems = require("./utils/scraptheitems"); const sequelize = require("./db.js"); +const Twocheckout = require("2checkout-node"); const app = express(); app.use(bodyParser.json()); @@ -23,7 +24,7 @@ app.get("/sendnotifications", async function(req, res) { }) .map(sendNotification) ); - if (lastDateUpdate.some(dateUpdate => !dateUpdate)) return; + lastDateUpdate = lastDateUpdate.filter(Boolean(dateUpdate)); lastDateUpdate.length && lastDateUpdate.forEach(dateUpdate => MarketAlert.update( @@ -47,14 +48,49 @@ app.get("/items/:url", async (req, res) => { app.post("/marketalerts", function(req, res) { const { email, last_date, olx_url } = req.body; - sequelize.sync().then(() => - MarketAlert.create({ - olx_url, - last_date, - email - }) - ); + console.log(email, last_date, olx_url); res.json({ message: "Market Alert Created!" }); + // sequelize.sync().then(() => + // MarketAlert.create({ + // olx_url, + // last_date, + // email + // }) + // ); + // res.json({ message: "Market Alert Created!" }); +}); + +app.post("/payforalert", function(request, response) { + let tco = new Twocheckout({ + sellerId: "901402692", + privateKey: "A28DCE5F-9292-405C-8161-F84D8BB83AFC", + sandbox: true + }); + + let params = { + merchantOrderId: "123", + token: request.body.token, + currency: "USD", + total: "2.00", + billingAddr: { + name: "Testing Tester", + addrLine1: "123 Test St", + city: "Sarajevo", + state: "BiH", + zipCode: "71000", + country: "BiH", + email: request.body.email, + phoneNumber: "5555555555" + } + }; + + tco.checkout.authorize(params, function(error, data) { + if (error) { + response.send(error.message); + } else { + response.send(data.response.responseMsg); + } + }); }); app.listen(port, () => console.log(`Example app listening on port ${port}!`)); diff --git a/backend/package-lock.json b/backend/package-lock.json index 52a9248..e3a96c5 100644 --- a/backend/package-lock.json +++ b/backend/package-lock.json @@ -4,6 +4,14 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "2checkout-node": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/2checkout-node/-/2checkout-node-0.0.1.tgz", + "integrity": "sha1-7a5MHUAIh6Y+hUXjf7mrBVeaaIU=", + "requires": { + "request": "2.x.x" + } + }, "@sendgrid/client": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/@sendgrid/client/-/client-6.3.0.tgz", diff --git a/backend/package.json b/backend/package.json index 793dc4c..88ccdfb 100644 --- a/backend/package.json +++ b/backend/package.json @@ -9,6 +9,7 @@ "author": "Ehvan Gradanin", "license": "ISC", "dependencies": { + "2checkout-node": "0.0.1", "@sendgrid/mail": "^6.3.1", "cheerio": "^1.0.0-rc.2", "express": "^4.16.4", diff --git a/frontend-react/public/index.html b/frontend-react/public/index.html index 5c3706e..1648ee8 100755 --- a/frontend-react/public/index.html +++ b/frontend-react/public/index.html @@ -19,6 +19,10 @@ href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Roboto+Slab:400,700|Material+Icons" /> +