60 lines
1.4 KiB
JavaScript
60 lines
1.4 KiB
JavaScript
const { request } = require('express');
|
|
var config = require('../config.json');
|
|
|
|
const Pool = require('pg').Pool
|
|
const pool = new Pool({
|
|
user: config.user,
|
|
host: config.host,
|
|
database: config.database,
|
|
password: config.password,
|
|
port: config.port
|
|
})
|
|
|
|
const create = (name, hours) => {
|
|
return new Promise((resolve, reject) => {
|
|
pool.query('INSERT INTO subject (id, name, hours_count) VALUES (nextval($1), $2, $3) RETURNING *',
|
|
["seq_subject", name, hours], (error, result) => {
|
|
if(error)
|
|
reject(error)
|
|
resolve('success added')
|
|
})
|
|
})
|
|
}
|
|
|
|
const del = (id) => {
|
|
return new Promise((resolve, reject) => {
|
|
pool.query('DELETE FROM subject WHERE id = $1', [id], (error, result) => {
|
|
if(error)
|
|
reject(error)
|
|
resolve(result.rows)
|
|
})
|
|
})
|
|
}
|
|
|
|
const update = (id, name, hours) => {
|
|
return new Promise((resolve, reject) => {
|
|
pool.query('UPDATE subject SET name = $1, hours_count = $2 WHERE id = $3', [name, hours, id], (error, result) => {
|
|
if(error)
|
|
reject(error)
|
|
resolve(result.rows)
|
|
})
|
|
})
|
|
}
|
|
|
|
const get = () => {
|
|
return new Promise(function(resolve, reject) {
|
|
pool.query('SELECT * FROM subject', (error, results) => {
|
|
if (error) {
|
|
reject(error)
|
|
}
|
|
resolve(results.rows)
|
|
})
|
|
})
|
|
}
|
|
|
|
module.exports = {
|
|
create,
|
|
get,
|
|
del,
|
|
update
|
|
} |