Add alertContact POST validation
This commit is contained in:
		@@ -2,16 +2,16 @@ import { Request, Response } from 'express';
 | 
				
			|||||||
import db, { handlePrismaError } from '../../../handlers/db.js'; // Database
 | 
					import db, { handlePrismaError } from '../../../handlers/db.js'; // Database
 | 
				
			||||||
import log from '../../../handlers/log.js';
 | 
					import log from '../../../handlers/log.js';
 | 
				
			||||||
import { parseIntOrUndefined, parseDynamicSortBy } from '../../../helpers/prisma_helpers.js';
 | 
					import { parseIntOrUndefined, parseDynamicSortBy } from '../../../helpers/prisma_helpers.js';
 | 
				
			||||||
import { schema_get } from './alertContacts_schema.js';
 | 
					import { schema_get, schema_post } from './alertContacts_schema.js';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// MARK: GET AlertContact
 | 
					// MARK: GET alertContact
 | 
				
			||||||
async function get(req: Request, res: Response) {
 | 
					async function get(req: Request, res: Response) {
 | 
				
			||||||
	const { error, value } = schema_get.validate(req.query);
 | 
						const { error, value } = schema_get.validate(req.query);
 | 
				
			||||||
	if (error) {
 | 
						if (error) {
 | 
				
			||||||
		log.api?.debug('Error:', req.query, value);
 | 
							log.api?.debug('alertContact GET Error:', req.query, value, error.details[0].message);
 | 
				
			||||||
		res.status(400).json({ error: error.details[0].message });
 | 
							res.status(400).json({ status: 'ERROR', errorcode: 'VALIDATION_ERROR', message: error.details[0].message });
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
		log.api?.debug('Success:', req.query, value);
 | 
							log.api?.debug('alertContact GET Success:', req.query, value);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		// Query with FullTextSearch
 | 
							// Query with FullTextSearch
 | 
				
			||||||
		const query_fts = {
 | 
							const query_fts = {
 | 
				
			||||||
@@ -55,33 +55,38 @@ async function get(req: Request, res: Response) {
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// MARK: CREATE AlertContact
 | 
					// MARK: CREATE alertContact
 | 
				
			||||||
async function post(req: Request, res: Response) {
 | 
					async function post(req: Request, res: Response) {
 | 
				
			||||||
	// Check if undefined or null
 | 
						const { error, value } = schema_post.validate(req.body);
 | 
				
			||||||
	if (req.body.name != null && req.body.phone != null) {
 | 
						if (error) {
 | 
				
			||||||
		await db.alertContacts
 | 
							log.api?.debug('alertContact POST Error:', req.body, value, error.details[0].message);
 | 
				
			||||||
			.create({
 | 
							res.status(400).json({ status: 'ERROR', errorcode: 'VALIDATION_ERROR', message: error.details[0].message });
 | 
				
			||||||
				data: {
 | 
					 | 
				
			||||||
					name: req.body.name,
 | 
					 | 
				
			||||||
					phone: req.body.phone,
 | 
					 | 
				
			||||||
					comment: req.body.comment
 | 
					 | 
				
			||||||
				},
 | 
					 | 
				
			||||||
				select: {
 | 
					 | 
				
			||||||
					id: true
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
			})
 | 
					 | 
				
			||||||
			.then((result) => {
 | 
					 | 
				
			||||||
				res.status(201).json({ status: 'CREATED', message: 'Successfully created alertContact', id: result.id });
 | 
					 | 
				
			||||||
			});
 | 
					 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
		res.status(400).json({ status: 'ERROR', errorcode: 'VALIDATION_ERROR', message: 'One or more required fields are missing or invalid' });
 | 
							log.api?.debug('alertContact POST Success:', req.body, value);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							// // Check if undefined or null
 | 
				
			||||||
 | 
							// if (req.body.name != null && req.body.phone != null) {
 | 
				
			||||||
 | 
								await db.alertContacts
 | 
				
			||||||
 | 
									.create({
 | 
				
			||||||
 | 
										data: {
 | 
				
			||||||
 | 
											name: value.name,
 | 
				
			||||||
 | 
											phone: value.phone,
 | 
				
			||||||
 | 
											comment: value.comment
 | 
				
			||||||
 | 
										},
 | 
				
			||||||
 | 
										select: {
 | 
				
			||||||
 | 
											id: true
 | 
				
			||||||
 | 
										}
 | 
				
			||||||
 | 
									})
 | 
				
			||||||
 | 
									.then((result) => {
 | 
				
			||||||
 | 
										res.status(201).json({ status: 'CREATED', message: 'Successfully created alertContact', id: result.id });
 | 
				
			||||||
 | 
									});
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// MARK: UPDATE AlertContact
 | 
					// MARK: UPDATE alertContact
 | 
				
			||||||
async function patch(req: Request, res: Response) {}
 | 
					async function patch(req: Request, res: Response) {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// MARK: DELETE AlertContact
 | 
					// MARK: DELETE alertContact
 | 
				
			||||||
async function del(req: Request, res: Response) {}
 | 
					async function del(req: Request, res: Response) {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default { get, post, patch, del };
 | 
					export default { get, post, patch, del };
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user