clean code

This commit is contained in:
Bilal Catic
2019-05-16 19:58:48 +02:00
parent c505062770
commit 1542310a81
9 changed files with 52 additions and 54 deletions

View File

@@ -1,25 +1,24 @@
const db = require('../models/index'); const { currentRERequest } = require('../helpers/url');
const { currentRERequest } = require('../helpers/url');
const { places } = require('../helpers/codes'); const { places } = require('../helpers/codes');
const getNeighborhood = async (req,res) => { const getNeighborhood = async (req,res) => {
let request = await currentRERequest(req); let request = await currentRERequest(req);
const neighborhoods = places(request.city); const neighborhoods = places(request.city);
const nextStep = req.query.nextStep || '/'; const nextStep = req.query.nextStep || '/';
res.render('neighborhood', { res.render('neighborhood', {
nextStep, nextStep,
neighborhoods neighborhoods
}); });
} };
const postgNeighborhood = async (req, res) => { const postgNeighborhood = async (req, res) => {
let request = await currentRERequest(req); let request = await currentRERequest(req);
request.neighborhood = req.body.neighborhood; request.neighborhood = req.body.neighborhood;
await request.save(); await request.save();
res.send("Result is " + JSON.stringify(request)); res.send("Result is " + JSON.stringify(request));
} };
module.exports = { module.exports = {
getNeighborhood, getNeighborhood,
postgNeighborhood postgNeighborhood
}; };

View File

@@ -6,7 +6,6 @@ const realEstateTypes = [
{ ime: "Vikendica", id: "vikendica" } { ime: "Vikendica", id: "vikendica" }
]; ];
const getRealEstateTypes = (req,res) => { const getRealEstateTypes = (req,res) => {
const nextStep = req.query.nextStep; const nextStep = req.query.nextStep;
res.render('realEstateType', { res.render('realEstateType', {

View File

@@ -1,7 +1,7 @@
const getWelcome = (req,res) => { const getWelcome = (req,res) => {
res.render('welcome', { nextStep: '/vrstanekretnine' } ); res.render('welcome', { nextStep: '/vrstanekretnine' } );
} };
module.exports = { module.exports = {
getWelcome getWelcome
}; };

View File

@@ -1,10 +1,8 @@
const geographies = [ const geographies = [
{ {
"ime":" Sarajevo", "ime":" Sarajevo",
"id":"sarajevo", "id":"sarajevo",
"olxid": "9", "olxid": "9",
"mjesta":[ "mjesta":[
{ {
"ime":"Hadžići", "ime":"Hadžići",
@@ -56,7 +54,7 @@ const geographies = [
{ {
"ime":" Unsko-sanski", "ime":" Unsko-sanski",
"id":"unskosanski", "id":"unskosanski",
"olxid": "9", "olxid": "9",
"mjesta":[ "mjesta":[
{ {
"ime":"Bihać", "ime":"Bihać",
@@ -103,7 +101,7 @@ const geographies = [
{ {
"ime":" Posavski", "ime":" Posavski",
"id":"posavski", "id":"posavski",
"olxid": "15", "olxid": "15",
"mjesta":[ "mjesta":[
{ {
"ime":"Domaljevac", "ime":"Domaljevac",
@@ -130,7 +128,7 @@ const geographies = [
{ {
"ime":" Tuzlanski", "ime":" Tuzlanski",
"id":"tuzlanski", "id":"tuzlanski",
"olxid": "15", "olxid": "15",
"mjesta":[ "mjesta":[
{ {
"ime":"Banovići", "ime":"Banovići",
@@ -202,7 +200,7 @@ const geographies = [
{ {
"ime":" Zeničko-dobojski", "ime":" Zeničko-dobojski",
"id":"zenickodobojski", "id":"zenickodobojski",
"olxid": "15", "olxid": "15",
"mjesta":[ "mjesta":[
{ {
"ime":"Breza", "ime":"Breza",
@@ -269,7 +267,7 @@ const geographies = [
{ {
"ime":" Bosansko-podrinjski", "ime":" Bosansko-podrinjski",
"id":"bosanskopodrinjski", "id":"bosanskopodrinjski",
"olxid": "15", "olxid": "15",
"mjesta":[ "mjesta":[
{ {
"ime":"Foča", "ime":"Foča",
@@ -291,7 +289,7 @@ const geographies = [
{ {
"ime":" Srednjobosanski", "ime":" Srednjobosanski",
"id":"srednjobosanski", "id":"srednjobosanski",
"olxid": "6", "olxid": "6",
"mjesta":[ "mjesta":[
{ {
"ime":"Bugojno", "ime":"Bugojno",
@@ -358,7 +356,7 @@ const geographies = [
{ {
"ime":" Hercegovačko-neretvanski", "ime":" Hercegovačko-neretvanski",
"id":"hercegovackoneretvanski", "id":"hercegovackoneretvanski",
"olxid": "7", "olxid": "7",
"mjesta":[ "mjesta":[
{ {
"ime":"Grad Mostar", "ime":"Grad Mostar",
@@ -410,7 +408,7 @@ const geographies = [
{ {
"ime":" Zapadno-hercegovački", "ime":" Zapadno-hercegovački",
"id":"zapadnohercegovacki", "id":"zapadnohercegovacki",
"olxid": "8", "olxid": "8",
"mjesta":[ "mjesta":[
{ {
"ime":"Grude", "ime":"Grude",
@@ -437,7 +435,7 @@ const geographies = [
{ {
"ime":" Livanjski", "ime":" Livanjski",
"id":"livanjski", "id":"livanjski",
"olxid": "10", "olxid": "10",
"mjesta":[ "mjesta":[
{ {
"ime":"Bosansko Grahovo", "ime":"Bosansko Grahovo",
@@ -474,7 +472,7 @@ const geographies = [
{ {
"ime":" Banjalučka", "ime":" Banjalučka",
"id":"banjalučka", "id":"banjalučka",
"olxid": "14", "olxid": "14",
"mjesta":[ "mjesta":[
{ {
"ime":"Banja Luka", "ime":"Banja Luka",
@@ -586,7 +584,7 @@ const geographies = [
{ {
"ime":" Dobojsko-Bijeljinska", "ime":" Dobojsko-Bijeljinska",
"id":"dobojskobijeljinska", "id":"dobojskobijeljinska",
"olxid": "15", "olxid": "15",
"mjesta":[ "mjesta":[
{ {
"ime":"Bijeljina", "ime":"Bijeljina",
@@ -682,8 +680,8 @@ const geographies = [
}, },
{ {
"ime":" Sarajevsko-Zvornička", "ime":" Sarajevsko-Zvornička",
"id":"sarajevskozvornicka", "id":"sarajevskozvornicka",
"olxid": "16", "olxid": "16",
"mjesta":[ "mjesta":[
{ {
"ime":"Bratunac", "ime":"Bratunac",
@@ -805,7 +803,7 @@ const geographies = [
{ {
"ime":" Trebinjsko-Fočanska", "ime":" Trebinjsko-Fočanska",
"id":"trebinjskofocanska", "id":"trebinjskofocanska",
"olxid": "17", "olxid": "17",
"mjesta":[ "mjesta":[
{ {
"ime":"Berkovići", "ime":"Berkovići",
@@ -862,7 +860,7 @@ const geographies = [
{ {
"ime":"Distrikt Brčko", "ime":"Distrikt Brčko",
"id":"distriktbrcko", "id":"distriktbrcko",
"olxid": "12", "olxid": "12",
"mjesta":[ "mjesta":[
{ {
"ime":"Brčko", "ime":"Brčko",
@@ -872,22 +870,22 @@ const geographies = [
] ]
} }
] ];
const regions = () => { const regions = () => {
return geographies.map( (g) => ({ ime: g.ime, id: g.id, olxid: g.olxid }) ); return geographies.map( (g) => ({ ime: g.ime, id: g.id, olxid: g.olxid }) );
} };
const places = (regionId) => { const places = (regionId) => {
for (geo of geographies) { for (geo of geographies) {
if(geo.id === regionId) { if(geo.id === regionId) {
return geo.mjesta; return geo.mjesta;
} }
} }
return null; return null;
} };
module.exports = { module.exports = {
regions, regions,
places places
} };

View File

@@ -6,8 +6,8 @@ const currentRERequest = async (req) => {
const request = await db.RealEstateRequest.findOne({ where: {uniqueId} }); const request = await db.RealEstateRequest.findOne({ where: {uniqueId} });
return request; return request;
} };
module.exports = { module.exports = {
currentRERequest currentRERequest
} };

View File

@@ -1,8 +1,10 @@
const convertToDate = require("./convertToDate"); const convertToDate = require("./convertToDate");
function areThereAnyNewItems(lastItemDate, controlDate) { function areThereAnyNewItems(lastItemDate, controlDate) {
if (!lastItemDate) { if (!lastItemDate) {
return true; return true;
} }
return new Date(controlDate) < convertToDate(lastItemDate); return new Date(controlDate) < convertToDate(lastItemDate);
} }
module.exports = areThereAnyNewItems; module.exports = areThereAnyNewItems;

View File

@@ -1,6 +1,6 @@
let fetch = require("node-fetch"); let fetch = require("node-fetch");
let cheerio = require("cheerio"); let cheerio = require("cheerio");
const areThereAnyNewItems = require("./arethereanynewitems"); const areThereAnyNewItems = require("./areThereAnyNewItems");
async function scrapTheItems(url, controlDate, noNewItems = false) { async function scrapTheItems(url, controlDate, noNewItems = false) {
let items = []; let items = [];

View File

@@ -1,11 +1,11 @@
const scrapTheItems = require("./scraptheitems"); const scrapTheItems = require("./scrapTheItems");
const convertToDate = require("./convertToDate"); const convertToDate = require("./convertToDate");
const AWS = require('aws-sdk'); const AWS = require('aws-sdk');
AWS.config.update({region: 'eu-central-1'}); AWS.config.update({region: 'eu-central-1'});
async function sendNotification(marketAlert) { async function sendNotification(marketAlert) {
const { id, email, olx_url, last_date } = marketAlert; const { id, email, olx_url } = marketAlert;
let url = let url =
"https://www.olx.ba/pretraga?" + olx_url + "&sort_order=desc&sort_po=datum"; "https://www.olx.ba/pretraga?" + olx_url + "&sort_order=desc&sort_po=datum";
let newItems = await scrapTheItems(url); let newItems = await scrapTheItems(url);
@@ -17,8 +17,8 @@ async function sendNotification(marketAlert) {
"" ""
); );
// Create sendEmail params // Create sendEmail params
var params = { const params = {
Destination: { /* required */ Destination: { /* required */
CcAddresses: [ CcAddresses: [
], ],
@@ -50,7 +50,7 @@ async function sendNotification(marketAlert) {
if (message) { if (message) {
const sendPromise = new AWS.SES({apiVersion: '2010-12-01'}).sendEmail(params).promise(); const sendPromise = new AWS.SES({apiVersion: '2010-12-01'}).sendEmail(params).promise();
await sendPromise; await sendPromise;
return { id, date: String(convertToDate(lastDate)) }; return { id, date: String(convertToDate(lastDate)) };
} }
} }

View File

@@ -7,8 +7,8 @@ let express = require("express");
const path = require("path"); const path = require("path");
const bodyParser = require("body-parser"); const bodyParser = require("body-parser");
const MarketAlert = require("./app/models/marketalert"); const MarketAlert = require("./app/models/marketalert");
const sendNotification = require("./app/lib/sendnotification"); const sendNotification = require("./app/lib/sendNotification");
const scrapTheItems = require("./app/lib/scraptheitems"); const scrapTheItems = require("./app/lib/scrapTheItems");
const sequelize = require("./app/models/index").sequelize; const sequelize = require("./app/models/index").sequelize;
const Twocheckout = require("2checkout-node"); const Twocheckout = require("2checkout-node");
const layout = require('express-layout'); const layout = require('express-layout');
@@ -26,7 +26,7 @@ app.use(layout());
const compression = require('compression'); const compression = require('compression');
app.use(compression()); app.use(compression());
app.get("/api/sendnotifications", async function(req, res) { app.get("/api/sendnotifications", async (req, res) => {
let marketAlerts = await MarketAlert.findAll(); let marketAlerts = await MarketAlert.findAll();
let lastDateUpdate = await Promise.all( let lastDateUpdate = await Promise.all(
@@ -59,7 +59,7 @@ app.get("/api/items/:url", async (req, res) => {
}); });
}); });
app.post("/api/marketalerts", function(req, res) { app.post("/api/marketalerts", (req, res) => {
const { email, last_date, olx_url } = req.body; const { email, last_date, olx_url } = req.body;
console.log(email, last_date, olx_url); console.log(email, last_date, olx_url);
sequelize.sync().then(() => { sequelize.sync().then(() => {
@@ -75,7 +75,7 @@ app.post("/api/marketalerts", function(req, res) {
}); });
}); });
app.post("/api/payforalert", function(request, response) { app.post("/api/payforalert", (req, res) => {
let tco = new Twocheckout({ let tco = new Twocheckout({
sellerId: "901402692", sellerId: "901402692",
privateKey: "A28DCE5F-9292-405C-8161-F84D8BB83AFC", privateKey: "A28DCE5F-9292-405C-8161-F84D8BB83AFC",
@@ -84,7 +84,7 @@ app.post("/api/payforalert", function(request, response) {
let params = { let params = {
merchantOrderId: "123", merchantOrderId: "123",
token: request.body.token, token: req.body.token,
currency: "USD", currency: "USD",
total: "2.00", total: "2.00",
billingAddr: { billingAddr: {
@@ -94,16 +94,16 @@ app.post("/api/payforalert", function(request, response) {
state: "BiH", state: "BiH",
zipCode: "71000", zipCode: "71000",
country: "BiH", country: "BiH",
email: request.body.email, email: req.body.email,
phoneNumber: "5555555555" phoneNumber: "5555555555"
} }
}; };
tco.checkout.authorize(params, function(error, data) { tco.checkout.authorize(params, function(error, data) {
if (error) { if (error) {
response.send(error.message); res.send(error.message);
} else { } else {
response.send(data.response.responseMsg); res.send(data.response.responseMsg);
} }
}); });
}); });