node-programmeren4-studentenhuis-master/controllers/deelnemer.controller.js
/**
     * Aanmelden voor een maaltijd in een studentenhuis.
     */
Aanmelden voor een maaltijd in een studentenhuis.
Aanmelden voor een maaltijd in een studentenhuis .
create(req, res, next) {
        try {
            assert(req.user && req.user.id, 'User ID is missing!')
        } catch (ex) {
            const error = new ApiError(ex.toString(), 500)
            next(error)
            return
        }
        try {
            const huisId = req.params.huisId
            const maaltijdId = req.params.maaltijdId
            const userId = req.user.id
            const query = 'INSERT INTO `deelnemers` (UserID, StudentenhuisID, MaaltijdID) VALUES (?, ?, ?)'
            const values = [userId, huisId, maaltijdId]
            pool.getConnection((err, connection) => {
                if (err) {
                    logger.error('Error getting connection from pool: ' + err.toString())
                    const error = new ApiError(err, 500)
                    next(error);
                    return
                }
                connection.query(query, values, (err, rows, fields) => {
                    connection.release()
                    if (err) {
                        let error;
                        if (err.code && err.code === 'ER_DUP_ENTRY') {
                            error = new ApiError('You have already been aangemeld as deelnemer.', 404)
                        } else {
                            error = new ApiError(err, 412)
                        }
                        next(error);
                    } else {
                        res.status(200).json({
                            status: rows
                        }).end()
                    }
                })
            })
        } catch (ex) {
            logger.error(ex)
            const error = new ApiError(ex, 500)
            next(error);
        }
    }
create ( req , res , next ) { try { assert ( req . user && req . user . id , 'User ID is missing!' ) } catch ( ex ) { const error = new ApiError ( ex . toString ( ) , 500 ) next ( error ) return } try { const huisId = req . params . huisId const maaltijdId = req . params . maaltijdId const userId = req . user . id const query = 'INSERT INTO `deelnemers` (UserID, StudentenhuisID, MaaltijdID) VALUES (?, ?, ?)' const values = [ userId , huisId , maaltijdId ] pool . getConnection ( ( err , connection ) => { if ( err ) { logger . error ( 'Error getting connection from pool: ' + err . toString ( ) ) const error = new ApiError ( err , 500 ) next ( error ) ; return } connection . query ( query , values , ( err , rows , fields ) => { connection . release ( ) if ( err ) { let error ; if ( err . code && err . code === 'ER_DUP_ENTRY' ) { error = new ApiError ( 'You have already been aangemeld as deelnemer.' , 404 ) } else { error = new ApiError ( err , 412 ) } next ( error ) ; } else { res . status ( 200 ) . json ( { status : rows } ) . end ( ) } } ) } ) } catch ( ex ) { logger . error ( ex ) const error = new ApiError ( ex , 500 ) next ( error ) ; } }
Aanmelden voor een maaltijd in een studentenhuis.
Aanmelden voor een maaltijd in een studentenhuis .
// Hier moeten meer validaties komen.