Files
old-web/index.js

101 lines
2.4 KiB
JavaScript
Raw Normal View History

const express = require("express");
const path = require("path");
const bodyParser = require("body-parser");
const layout = require("express-layout");
const compression = require("compression");
2019-10-16 12:49:58 +02:00
const forceSSL = require("./app/helpers/forceSSL");
2020-02-13 17:08:49 +01:00
const { Storage } = require("@google-cloud/storage");
2020-02-12 11:44:56 +01:00
const validate = require("validate.js");
const {
APP_PORT,
CRAWLER_INTERVAL,
STOP_CRAWLER
} = require("./app/config/appConfig");
const routes = require("./app/routes");
const { crawlAll } = require("./app/crawler/crawl");
2020-01-24 01:01:10 +01:00
const { checkUpNotify } = require("./app/services/notificationService");
const {
notifyForNewRealEstates
} = require("./app/services/notificationService");
const app = express();
2019-10-16 12:49:58 +02:00
app.use(forceSSL());
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.set("views", path.join(__dirname, "/app/views"));
app.set("view engine", "ejs");
app.use(layout());
2019-03-26 05:09:53 +01:00
2019-04-13 10:38:25 +02:00
app.use(compression());
app.use("/", routes);
app.use("/assets", express.static("./app/public"));
2019-03-13 05:43:48 +01:00
app.listen(APP_PORT, () =>
console.log(`Example app listening on port ${APP_PORT}!`)
);
let crawlerRunning = STOP_CRAWLER;
const crawl = () => {
if (!crawlerRunning) {
crawlerRunning = true;
crawlAll().then(newRealEstates => {
crawlerRunning = false;
notifyForNewRealEstates(newRealEstates);
});
}
};
2020-01-24 01:01:10 +01:00
setInterval(crawl, CRAWLER_INTERVAL * 1000);
2020-01-24 01:01:10 +01:00
setInterval(checkUpNotify, 1000 * 60 * 60 * 24);
2020-02-13 17:08:49 +01:00
//Google storage req
const storage = new Storage();
2020-02-14 00:37:11 +01:00
const BUCKET_NAME = "kivi_original_photos";
const bucket = storage.bucket(BUCKET_NAME);
/*
async function generateSignedUrl() {
const options = {
version: "v2",
action: "write",
expires: Date.now() + 86400000
};
2020-02-13 17:08:49 +01:00
2020-02-14 00:37:11 +01:00
const [url] = bucket.file("aFile").getSignedUrl(options);
2020-02-13 17:08:49 +01:00
2020-02-14 00:37:11 +01:00
console.log(`The signed url for aFile is ${url}.`);
return url;
}*/
//generateSignedUrl().catch(console.error);
app.get("/generateSignedURL", (req, res) => {
console.log("Started server function!");
const options = {
version: "v2",
action: "write",
expires: Date.now() + 86400000
};
const filename = req.query.filename;
console.log("Filename: ", filename);
console.log("Bucket name:", bucket.name);
const url = bucket.file(filename).getSignedUrl(options, function(err, url) {
if (err) {
console.error(err);
return;
}
return url;
2020-02-13 17:08:49 +01:00
});
2020-02-14 00:37:11 +01:00
console.log(`The signed url for ${filename} is ${url}.`);
res.send(url);
});