OSDN Git Service

11fe11d0209064c27ee783787d838d859f00abfe
[projectv/server.git] / src / user / create_user_post.ts
1 import { Pool } from "pg";
2
3 const pool = new Pool({
4     user: 'dbuser',
5     host: 'localhost',
6     database: 'mydb',
7     password: 'secretpassword',
8     port: 5432,
9 });
10
11 export const createUserPost = async ({req, res}:any) => {
12     const { name, email } = req.body;
13     const client = await pool.connect();
14     try {
15         await client.query('BEGIN');
16         const queryText = 'INSERT INTO users(name, email) VALUES($1, $2) RETURNING *';
17         const values = [name, email];
18         const { rows } = await client.query(queryText, values);
19         await client.query('COMMIT');
20         return res.status(201).send(rows[0]);
21     } catch (e) {
22         await client.query('ROLLBACK');
23         throw e;
24     } finally {
25         client.release();
26     }
27 }