mirror of
https://github.com/sergeyyarkov/node-docker-example.git
synced 2026-10-11 02:09:22 +03:00
refactor: handlers & sql queries
This commit is contained in:
parent
5a9799f210
commit
90d0833d1d
24
handlers.js
24
handlers.js
@ -20,12 +20,7 @@ export const indexPageHandler = async (req, res) => {
|
||||
articles: data.rows,
|
||||
});
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
res.render(
|
||||
'./views/500.hbs',
|
||||
{ title: '500 | Internal server error ' },
|
||||
500
|
||||
);
|
||||
res.serverError(error);
|
||||
}
|
||||
};
|
||||
|
||||
@ -60,22 +55,21 @@ export const getArticleHandler = async (req, res) => {
|
||||
article: data.rows[0],
|
||||
});
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
res.render(
|
||||
'./views/500.hbs',
|
||||
{ title: '500 | Internal server error ' },
|
||||
500
|
||||
);
|
||||
res.serverError(error);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* POST - Create article
|
||||
*
|
||||
* @param {http.ClientRequest} req
|
||||
* @param {http.RequestOptions} req
|
||||
* @param {Response} res
|
||||
*/
|
||||
export const createArticleHandler = async (req, res) => {
|
||||
res.json({ data: `POST ${req.url}` });
|
||||
return;
|
||||
try {
|
||||
res.json({ data: `POST ${req.url}` });
|
||||
return;
|
||||
} catch (error) {
|
||||
res.serverError(error);
|
||||
}
|
||||
};
|
||||
|
||||
@ -19,6 +19,7 @@ class DbHelper {
|
||||
await client.end();
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"start": "node index.js",
|
||||
"dev": "nodemon index.js -e",
|
||||
"dev": "nodemon index.js",
|
||||
"db:init": "node initSchema.js",
|
||||
"db:seed": "node seed.js"
|
||||
},
|
||||
|
||||
@ -30,6 +30,11 @@ class Response {
|
||||
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
|
||||
*
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
import http from 'node:http';
|
||||
import fs from 'node:fs';
|
||||
import qs from 'node:querystring';
|
||||
import mime from 'mime-types';
|
||||
import hbs from 'handlebars';
|
||||
import env from './env.js';
|
||||
|
||||
12
sql/seed.sql
12
sql/seed.sql
@ -11,22 +11,22 @@ INSERT INTO "articles" (
|
||||
'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. 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',
|
||||
'2022-03-17'
|
||||
now(),
|
||||
now()
|
||||
),
|
||||
(
|
||||
'2',
|
||||
'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. 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',
|
||||
'2022-03-17'
|
||||
now(),
|
||||
now()
|
||||
),
|
||||
(
|
||||
'3',
|
||||
'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. 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',
|
||||
'2022-03-17'
|
||||
now(),
|
||||
now()
|
||||
)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user