refactor: handlers & sql queries

This commit is contained in:
Sergey Yarkov 2022-03-18 00:52:42 +03:00
parent 5a9799f210
commit 90d0833d1d
6 changed files with 23 additions and 22 deletions

View File

@ -20,12 +20,7 @@ export const indexPageHandler = async (req, res) => {
articles: data.rows, articles: data.rows,
}); });
} catch (error) { } catch (error) {
console.error(error); res.serverError(error);
res.render(
'./views/500.hbs',
{ title: '500 | Internal server error ' },
500
);
} }
}; };
@ -60,22 +55,21 @@ export const getArticleHandler = async (req, res) => {
article: data.rows[0], article: data.rows[0],
}); });
} catch (error) { } catch (error) {
console.error(error); res.serverError(error);
res.render(
'./views/500.hbs',
{ title: '500 | Internal server error ' },
500
);
} }
}; };
/** /**
* POST - Create article * POST - Create article
* *
* @param {http.ClientRequest} req * @param {http.RequestOptions} req
* @param {Response} res * @param {Response} res
*/ */
export const createArticleHandler = async (req, res) => { export const createArticleHandler = async (req, res) => {
try {
res.json({ data: `POST ${req.url}` }); res.json({ data: `POST ${req.url}` });
return; return;
} catch (error) {
res.serverError(error);
}
}; };

View File

@ -19,6 +19,7 @@ class DbHelper {
await client.end(); await client.end();
} catch (error) { } catch (error) {
console.error(error); console.error(error);
process.exit(1);
} }
} }
} }

View File

@ -6,7 +6,7 @@
"type": "module", "type": "module",
"scripts": { "scripts": {
"start": "node index.js", "start": "node index.js",
"dev": "nodemon index.js -e", "dev": "nodemon index.js",
"db:init": "node initSchema.js", "db:init": "node initSchema.js",
"db:seed": "node seed.js" "db:seed": "node seed.js"
}, },

View File

@ -30,6 +30,11 @@ class Response {
this.send(text, 404); this.send(text, 404);
} }
serverError(error, text = '500 | Internal server error') {
console.error(error);
this.render('./views/500.hbs', { title: text }, 500);
}
/** /**
* Response with rendered page * Response with rendered page
* *

View File

@ -1,5 +1,6 @@
import http from 'node:http'; import http from 'node:http';
import fs from 'node:fs'; import fs from 'node:fs';
import qs from 'node:querystring';
import mime from 'mime-types'; import mime from 'mime-types';
import hbs from 'handlebars'; import hbs from 'handlebars';
import env from './env.js'; import env from './env.js';

View File

@ -11,22 +11,22 @@ INSERT INTO "articles" (
'First article', 'First article',
'Lorem ipsum dolor, sit amet consectetur adipisicing elit. Officia dolorum quae voluptas odio quisquam nihil tempora quis accusamus reprehenderit qui.', 'Lorem ipsum dolor, sit amet consectetur adipisicing elit. Officia dolorum quae voluptas odio quisquam nihil tempora quis accusamus reprehenderit qui.',
'Lorem ipsum dolor sit amet consectetur adipisicing elit. Laboriosam, cupiditate consequatur odit est voluptas praesentium minima? Obcaecati itaque exercitationem magnam maiores dolores, quae voluptate facere repellendus minus quas rem corporis. Cumque quidem repellendus voluptatem nostrum laudantium voluptates accusamus error exercitationem dolorem id tempora suscipit reiciendis, odit aliquid libero possimus sit similique quaerat unde. Ullam, iusto dicta magni dolore minima molestias, repellendus mollitia reiciendis praesentium illo corporis ipsam provident aut, corrupti pariatur nulla. Iste debitis perspiciatis itaque! Sed at ab dolores? Dolorum voluptate possimus deserunt sit libero similique doloremque? Mollitia esse nam obcaecati repellendus quaerat iure tempore fugiat. Id, eligendi dolorem!', 'Lorem ipsum dolor sit amet consectetur adipisicing elit. Laboriosam, cupiditate consequatur odit est voluptas praesentium minima? Obcaecati itaque exercitationem magnam maiores dolores, quae voluptate facere repellendus minus quas rem corporis. Cumque quidem repellendus voluptatem nostrum laudantium voluptates accusamus error exercitationem dolorem id tempora suscipit reiciendis, odit aliquid libero possimus sit similique quaerat unde. Ullam, iusto dicta magni dolore minima molestias, repellendus mollitia reiciendis praesentium illo corporis ipsam provident aut, corrupti pariatur nulla. Iste debitis perspiciatis itaque! Sed at ab dolores? Dolorum voluptate possimus deserunt sit libero similique doloremque? Mollitia esse nam obcaecati repellendus quaerat iure tempore fugiat. Id, eligendi dolorem!',
'2022-03-17', now(),
'2022-03-17' now()
), ),
( (
'2', '2',
'Second article', 'Second article',
'Lorem ipsum dolor, sit amet consectetur adipisicing elit. Officia dolorum quae voluptas odio quisquam nihil tempora quis accusamus reprehenderit qui.', 'Lorem ipsum dolor, sit amet consectetur adipisicing elit. Officia dolorum quae voluptas odio quisquam nihil tempora quis accusamus reprehenderit qui.',
'Lorem ipsum dolor sit amet consectetur adipisicing elit. Laboriosam, cupiditate consequatur odit est voluptas praesentium minima? Obcaecati itaque exercitationem magnam maiores dolores, quae voluptate facere repellendus minus quas rem corporis. Cumque quidem repellendus voluptatem nostrum laudantium voluptates accusamus error exercitationem dolorem id tempora suscipit reiciendis, odit aliquid libero possimus sit similique quaerat unde. Ullam, iusto dicta magni dolore minima molestias, repellendus mollitia reiciendis praesentium illo corporis ipsam provident aut, corrupti pariatur nulla. Iste debitis perspiciatis itaque! Sed at ab dolores? Dolorum voluptate possimus deserunt sit libero similique doloremque? Mollitia esse nam obcaecati repellendus quaerat iure tempore fugiat. Id, eligendi dolorem!', 'Lorem ipsum dolor sit amet consectetur adipisicing elit. Laboriosam, cupiditate consequatur odit est voluptas praesentium minima? Obcaecati itaque exercitationem magnam maiores dolores, quae voluptate facere repellendus minus quas rem corporis. Cumque quidem repellendus voluptatem nostrum laudantium voluptates accusamus error exercitationem dolorem id tempora suscipit reiciendis, odit aliquid libero possimus sit similique quaerat unde. Ullam, iusto dicta magni dolore minima molestias, repellendus mollitia reiciendis praesentium illo corporis ipsam provident aut, corrupti pariatur nulla. Iste debitis perspiciatis itaque! Sed at ab dolores? Dolorum voluptate possimus deserunt sit libero similique doloremque? Mollitia esse nam obcaecati repellendus quaerat iure tempore fugiat. Id, eligendi dolorem!',
'2022-03-17', now(),
'2022-03-17' now()
), ),
( (
'3', '3',
'Third article', 'Third article',
'Lorem ipsum dolor, sit amet consectetur adipisicing elit. Officia dolorum quae voluptas odio quisquam nihil tempora quis accusamus reprehenderit qui.', 'Lorem ipsum dolor, sit amet consectetur adipisicing elit. Officia dolorum quae voluptas odio quisquam nihil tempora quis accusamus reprehenderit qui.',
'Lorem ipsum dolor sit amet consectetur adipisicing elit. Laboriosam, cupiditate consequatur odit est voluptas praesentium minima? Obcaecati itaque exercitationem magnam maiores dolores, quae voluptate facere repellendus minus quas rem corporis. Cumque quidem repellendus voluptatem nostrum laudantium voluptates accusamus error exercitationem dolorem id tempora suscipit reiciendis, odit aliquid libero possimus sit similique quaerat unde. Ullam, iusto dicta magni dolore minima molestias, repellendus mollitia reiciendis praesentium illo corporis ipsam provident aut, corrupti pariatur nulla. Iste debitis perspiciatis itaque! Sed at ab dolores? Dolorum voluptate possimus deserunt sit libero similique doloremque? Mollitia esse nam obcaecati repellendus quaerat iure tempore fugiat. Id, eligendi dolorem!', 'Lorem ipsum dolor sit amet consectetur adipisicing elit. Laboriosam, cupiditate consequatur odit est voluptas praesentium minima? Obcaecati itaque exercitationem magnam maiores dolores, quae voluptate facere repellendus minus quas rem corporis. Cumque quidem repellendus voluptatem nostrum laudantium voluptates accusamus error exercitationem dolorem id tempora suscipit reiciendis, odit aliquid libero possimus sit similique quaerat unde. Ullam, iusto dicta magni dolore minima molestias, repellendus mollitia reiciendis praesentium illo corporis ipsam provident aut, corrupti pariatur nulla. Iste debitis perspiciatis itaque! Sed at ab dolores? Dolorum voluptate possimus deserunt sit libero similique doloremque? Mollitia esse nam obcaecati repellendus quaerat iure tempore fugiat. Id, eligendi dolorem!',
'2022-03-17', now(),
'2022-03-17' now()
) )