DBLabs/abitur_list_client/controllers/enrollment.controller.js

32 lines
1.3 KiB
JavaScript

const db = require('../db')
const EnrollmentControllerInterface = require('./interfaces/enrollment.controller.interface')
class EnrollmentController extends EnrollmentControllerInterface {
async createEnrollment(req, res) {
const {request_id} = req.body
const newEnrollment = await db.query('INSERT INTO enrollment (request_id, date) VALUES ($1, $2) RETURNING *', [request_id, new Date()])
res.json(newEnrollment.rows[0])
}
async getEnrollments(req, res) {
const enrollments = await db.query('SELECT * FROM enrollment')
res.json(enrollments.rows)
}
async getOneEnrollment(req, res) {
const id = req.params.id
const enrollments = await db.query('SELECT * FROM enrollment WHERE id=$1', [id])
res.json(enrollments.rows[0])
}
async updateEnrollment(req, res) {
const {id, request_id, date} = req.body
const newEnrollment = await db.query('UPDATE enrollment SET request_id=$1, date=$2 WHERE id=$3 RETURNING *', [request_id, date, id])
res.json(newEnrollment.rows[0])
}
async deleteEnrollment(req, res) {
const id = req.params.id
const enrollments = await db.query('DELETE FROM enrollment WHERE id=$1', [id])
res.json(enrollments.rows[0])
}
}
module.exports = new EnrollmentController()