Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const express = require('express');
- const router = new express.Router();
- const xss = require('xss');
- const pgp = require('pg-promise')();
- const language = require('./language');
- const logic = require('./logic');
- const DATABASE = process.env.DATABASE_URL
- || 'postgres://postgres:postgres@localhost/data';
- const db = pgp(DATABASE);
- // Todo:
- // Betra samræmi á milli elemeneta á öllum síðum.
- // CSS validator: jigsaw.w3.org/css-validator
- // Input á index.pug, nota reduce og fleira til að sía, sbr. verk5.
- // Athuga input á add.pug og login.
- // catch error á flestu í index.js og gera góða error siðu.+
- // npm run lint -s
- // index.pug þarf að þýða...
- let amount = 1000;
- router.post('/lb/:name', (req, res) => {
- let page = 'ISK';
- let titles = '';
- if (language.getLang() === 'en') {
- titles = 'Currency from Landbankinn';
- } else {
- titles = 'Gjaldmiðlar Landsbankans';
- }
- const url = 'lb';
- const url2 = req.params.name;
- let currentV = 1;
- let bidValue = 1;
- const amo = xss(req.body.textbox);
- amount = amo;
- logic.currency('lb')
- .then((results) => {
- for (let i = 0, len = results.data.results.length; i < len; i += 1) {
- if (results.data.results[i].shortName === url2) {
- currentV = results.data.results[i].askValue;
- bidValue = results.data.results[i].bidValue;
- page = 'index';
- break;
- }
- }
- logic.renderIndex(page, titles, url, res, currentV, url2, amo, bidValue);
- });
- });
- router.get('/lb/:name', (req, res) => {
- let page = 'ISK';
- const url = 'lb';
- const url2 = req.params.name;
- let titles = '';
- if (language.getLang() === 'en') {
- titles = 'Currency from Landbankinn';
- } else {
- titles = 'Gjaldmiðlar Landsbankans';
- }
- let currentV = 1;
- let bidValue = 1;
- logic.currency('lb')
- .then((results) => {
- for (let i = 0, len = results.data.results.length; i < len; i += 1) {
- if (results.data.results[i].shortName === url2) {
- currentV = results.data.results[i].askValue;
- bidValue = results.data.results[i].askValue;
- page = 'index';
- break;
- }
- }
- logic.renderIndex(page, titles, url, res, currentV, url2, amount, bidValue);
- });
- });
- router.post('/arion/:name', (req, res) => {
- let page = 'arionISK';
- let titles = '';
- if (language.getLang() === 'en') {
- titles = 'Currency from Arion Bank';
- } else {
- titles = 'Gjaldmiðlar Arion Banka';
- }
- const url = 'arion';
- const url2 = req.params.name;
- let currentV = 1;
- let bidValue = 1;
- const amo = xss(req.body.textbox);
- amount = amo;
- logic.currency('lb')
- .then((results) => {
- for (let i = 0, len = results.data.results.length; i < len; i += 1) {
- if (results.data.results[i].shortName === url2) {
- currentV = results.data.results[i].askValue;
- bidValue = results.data.results[i].bidValue;
- page = 'arion';
- break;
- }
- }
- logic.renderIndex(page, titles, url, res, currentV, url2, amo, bidValue);
- });
- });
- router.get('/arion/:name', (req, res) => {
- let page = 'arionISK';
- const url2 = req.params.name;
- let titles = '';
- if (language.getLang() === 'en') {
- titles = 'Currency from Arion Bank';
- } else {
- titles = 'Gjaldmiðlar Arion Banka';
- }
- let currentV = 1;
- let bidValue = 1;
- logic.currency('lb')
- .then((results) => {
- for (let i = 0, len = results.data.results.length; i < len; i += 1) {
- if (results.data.results[i].shortName === url2) {
- currentV = results.data.results[i].askValue;
- bidValue = results.data.results[i].askValue;
- page = 'arion';
- break;
- }
- }
- logic.renderIndex(page, titles, 'arion', res, currentV, url2, amount, bidValue);
- });
- });
- router.get('/lang/en', (req, res) => {
- language.setEn();
- res.redirect(req.get('referer'));
- });
- router.get('/lang/is', (req, res) => {
- language.setIs();
- res.redirect(req.get('referer'));
- });
- router.post('/delete/:id', (req, res) => {
- const id = parseInt(req.params.id, 10);
- db.one('SELECT commentid FROM response WHERE id = $1', [id])
- .then((data) => {
- db.none('DELETE FROM response WHERE id = $1', [id])
- .then(() => {
- logic.renderFaersla(data.commentid, res);
- });
- });
- });
- router.post('/guestbook/:id', (req, res) => {
- const id = parseInt(req.params.id, 10);
- logic.renderFaersla(id, res);
- });
- router.get('/guestbook/:id', (req, res) => {
- const id = parseInt(req.params.id, 10);
- logic.renderFaersla(id, res);
- });
- router.post('/addResponse/:id', (req, res) => {
- const id = parseInt(req.params.id, 10);
- const response = xss(req.body.data);
- db.none('INSERT INTO response (commentId, response, respondinguser) ' +
- 'VALUES ($1,$2,$3)', [id, response, logic.getName()])
- .then(() => {
- logic.renderFaersla(id,res);
- });
- });
- router.get('/frontpage', (req, res) => {
- logic.renderFrontpage(res);
- });
- router.get('/', (req, res) => {
- logic.setName('');
- logic.renderLogin(res);
- });
- router.post('/newuser', (req, res) => {
- res.render('newuser');
- });
- router.get('/login', (req, res) => {
- logic.setName('');
- logic.renderLogin(res);
- });
- router.get('/add', (req, res) => {
- renderAdd(res);
- });
- router.post('/add', (req, res) => {
- const text = xss(req.body.data);
- db.none('INSERT INTO data (name, data) VALUES ($1, $2)', [logic.getName(), text])
- .then(() => {
- logic.renderGuestbook(res);
- });
- });
- router.post('/register', (req, res) => {
- const username = xss(req.body.username);
- const password = xss(req.body.password);
- const passwordagain = xss(req.body.passwordagain);
- logic.setName(username);
- if (password === passwordagain) {
- db.none('INSERT INTO users (username, password) VALUES ($1, $2)',
- [username, password])
- .then(() => {
- res.redirect('/frontpage');
- })
- .catch(() => {
- res.render('errorlogin', {
- title: 'Error!',
- message: 'Notendanafn er nú þegar til!',
- });
- });
- } else {
- res.render('errorlogin', {
- title: 'Error!',
- message: 'Leyniorð ekki eins!',
- });
- }
- });
- router.post('/verify', (req, res) => {
- const username = xss(req.body.username);
- const password = xss(req.body.password);
- logic.setName(username);
- db.one('SELECT * FROM users WHERE username = $1 AND password = $2',
- [username, password])
- .then(() => {
- res.redirect('/frontpage');
- })
- .catch(() => {
- res.render('errorlogin', {
- title: 'Error!',
- message: 'Notendanafn/leyniorð ekki til!',
- });
- });
- });
- router.get('/guestbook', (req, res) => {
- logic.renderGuestbook(res);
- });
- module.exports = router;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement