diff --git a/node-postgres/index.js b/node-postgres/index.js index f3f4c74..877f312 100644 --- a/node-postgres/index.js +++ b/node-postgres/index.js @@ -1,6 +1,10 @@ const express = require('express') const cors = require('cors') const faculty = require('./models/faculty') +const direction = require('./models/direction') +const subject = require('./models/Subject') +const teacher = require('./models/teacher') +const test = require('./models/test') const app = express() const port = 3001 @@ -22,7 +26,7 @@ app.post('/faculty', (req, res) => { .catch(error => res.status(500).send(error)) }) -app.get('/', (req, res) => { +app.get('/faculty', (req, res) => { faculty.get() .then(response => res.status(200).send(response)) .catch(error => res.status(500).send(error)) @@ -41,19 +45,110 @@ app.put('/faculty/upd/:id', (req, res) => { }) //---------------------------------------------- +// TEST TYPE------------------------------------- +app.post('/test', (req, res) => { + test.create(req.body.name) + .then(response => res.status(200).send(response)) + .catch(error => res.status(500).send(error)) +}) -// -// app.post('/direction', (req, res) => { -// faculty.createFaculty(req.body.name) -// .then(response => res.status(200).send(response)) -// .catch(error => res.status(500).send(error)) -// }) +app.get('/test', (req, res) => { + test.get() + .then(response => res.status(200).send(response)) + .catch(error => res.status(500).send(error)) +}) -// app.get('/', (req, res) => { -// faculty.getFaculties() -// .then(response => res.status(200).send(response)) -// .catch(error => res.status(500).send(error)) -// }) +app.delete('/test/del/:id', (req, res) => { + test.del(req.params.id) + .then(response => res.status(200).send(response)) + .catch(error => res.status(500).send(error)) +}) + +app.put('/test/upd/:id', (req, res) => { + test.update(req.params.id, req.body.name) + .then(response => res.status(200).send(response)) + .catch(error => res.status(500).send(error)) +}) +//---------------------------------------------- + +// TEACHER------------------------------------- +app.post('/teacher', (req, res) => { + teacher.create(req.body.name, req.body.surname,req.body.post) + .then(response => res.status(200).send(response)) + .catch(error => res.status(500).send(error)) +}) + +app.get('/teacher', (req, res) => { + teacher.get() + .then(response => res.status(200).send(response)) + .catch(error => res.status(500).send(error)) +}) + +app.delete('/teacher/del/:id', (req, res) => { + teacher.del(req.params.id) + .then(response => res.status(200).send(response)) + .catch(error => res.status(500).send(error)) +}) + +app.put('/teacher/upd/:id', (req, res) => { + teacher.update(req.params.id, req.body.name, req.body.surname,req.body.post) + .then(response => res.status(200).send(response)) + .catch(error => res.status(500).send(error)) +}) +//---------------------------------------------- + + +// SUBJECT------------------------------------- +app.post('/subject', (req, res) => { + subject.create(req.body.name, req.body.hours) + .then(response => res.status(200).send(response)) + .catch(error => res.status(500).send(error)) +}) + +app.get('/subject', (req, res) => { + subject.get() + .then(response => res.status(200).send(response)) + .catch(error => res.status(500).send(error)) +}) + +app.delete('/subject/del/:id', (req, res) => { + subject.del(req.params.id) + .then(response => res.status(200).send(response)) + .catch(error => res.status(500).send(error)) +}) + +app.put('/subject/upd/:id', (req, res) => { + subject.update(req.params.id, req.body.name, req.body.hours) + .then(response => res.status(200).send(response)) + .catch(error => res.status(500).send(error)) +}) +//---------------------------------------------- + +// DIRECTION------------------------------------- +app.post('/direction', (req, res) => { + direction.create(req.body.name, req.body.facultyId) + .then(response => res.status(200).send(response)) + .catch(error => res.status(500).send(error)) +}) + +app.get('/direction', (req, res) => { + direction.get() + .then(response => res.status(200).send(response)) + .catch(error => res.status(500).send(error)) +}) + +app.delete('/direction/del/:id', (req, res) => { + direction.del(req.params.id) + .then(response => res.status(200).send(response)) + .catch(error => res.status(500).send(error)) +}) + +app.put('/direction/upd/:id', (req, res) => { + direction.update(req.params.id, req.body.name) + .then(response => res.status(200).send(response)) + .catch(error => res.status(500).send(error)) +}) +//---------------------------------------------- app.listen(port, () => { console.log(`app runnong on port ${port}`) diff --git a/node-postgres/models/direction.js b/node-postgres/models/direction.js index b778952..9e58c7f 100644 --- a/node-postgres/models/direction.js +++ b/node-postgres/models/direction.js @@ -1,3 +1,4 @@ +const { request } = require('express'); var config = require('../config.json'); const Pool = require('pg').Pool @@ -9,28 +10,51 @@ const pool = new Pool({ port: config.port }) -const createDirection = (nameF) => { +const create = (nameF, facultyId) => { return new Promise((resolve, reject) => { - pool.query('INSERT INTO faculty (id, name) VALUES (nextval($1), $2) RETURNING *', ["seq_faculty", nameF], (error, result) => { + pool.query('INSERT INTO direction (id, name, faculty_id) VALUES (nextval($1), $2, $3) RETURNING *', + ["seq_direction", nameF, facultyId], (error, result) => { if(error) reject(error) - resolve('success added in faculty') + resolve('success added') }) }) } -const getFaculties = () => { +const del = (id) => { + return new Promise((resolve, reject) => { + pool.query('DELETE FROM direction WHERE id = $1', [id], (error, result) => { + if(error) + reject(error) + resolve(result.rows) + }) + }) +} + +const update = (id, name) => { + return new Promise((resolve, reject) => { + pool.query('UPDATE direction SET name = $1 WHERE id = $2', [name, id], (error, result) => { + if(error) + reject(error) + resolve(result.rows) + }) + }) +} + +const get = () => { return new Promise(function(resolve, reject) { - pool.query('SELECT * FROM faculty', (error, results) => { + pool.query('SELECT * FROM direction', (error, results) => { if (error) { reject(error) } - resolve(results.rows); + resolve(results.rows) }) }) } module.exports = { - createFaculty: createDirection, - getFaculties + create, + get, + del, + update } \ No newline at end of file diff --git a/node-postgres/models/subject.js b/node-postgres/models/subject.js new file mode 100644 index 0000000..cb7801c --- /dev/null +++ b/node-postgres/models/subject.js @@ -0,0 +1,60 @@ +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 +} \ No newline at end of file diff --git a/node-postgres/models/teacher.js b/node-postgres/models/teacher.js new file mode 100644 index 0000000..4c3ce96 --- /dev/null +++ b/node-postgres/models/teacher.js @@ -0,0 +1,60 @@ +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, surname, post) => { + return new Promise((resolve, reject) => { + pool.query('INSERT INTO teacher (id, name, surname, post) VALUES (nextval($1), $2, $3, $4) RETURNING *', + ["seq_teacher", name, surname, post], (error, result) => { + if(error) + reject(error) + resolve('success added') + }) + }) +} + +const del = (id) => { + return new Promise((resolve, reject) => { + pool.query('DELETE FROM teacher WHERE id = $1', [id], (error, result) => { + if(error) + reject(error) + resolve(result.rows) + }) + }) +} + +const update = (id, name, surname, post) => { + return new Promise((resolve, reject) => { + pool.query('UPDATE teacher SET name = $1, surname = $2, post = $3 WHERE id = $4', [name, surname, post, id], (error, result) => { + if(error) + reject(error) + resolve(result.rows) + }) + }) +} + +const get = () => { + return new Promise(function(resolve, reject) { + pool.query('SELECT * FROM teacher', (error, results) => { + if (error) { + reject(error) + } + resolve(results.rows) + }) + }) + } + +module.exports = { + create, + get, + del, + update +} \ No newline at end of file diff --git a/node-postgres/models/test.js b/node-postgres/models/test.js new file mode 100644 index 0000000..f08123d --- /dev/null +++ b/node-postgres/models/test.js @@ -0,0 +1,59 @@ +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 = (nameF) => { + return new Promise((resolve, reject) => { + pool.query('INSERT INTO test_type (id, name) VALUES (nextval($1), $2) RETURNING *', ["seq_test_type", nameF], (error, result) => { + if(error) + reject(error) + resolve('success added') + }) + }) +} + +const del = (id) => { + return new Promise((resolve, reject) => { + pool.query('DELETE FROM test_type WHERE id = $1', [id], (error, result) => { + if(error) + reject(error) + resolve(result.rows) + }) + }) +} + +const update = (id, name) => { + return new Promise((resolve, reject) => { + pool.query('UPDATE test_type SET name = $1 WHERE id = $2', [name, id], (error, result) => { + if(error) + reject(error) + resolve(result.rows) + }) + }) +} + +const get = () => { + return new Promise(function(resolve, reject) { + pool.query('SELECT * FROM test_type', (error, results) => { + if (error) { + reject(error) + } + resolve(results.rows) + }) + }) + } + +module.exports = { + create, + get, + del, + update +} \ No newline at end of file