Backend: code formatted
This commit is contained in:
@ -1,13 +1,22 @@
|
||||
import { Request, Response } from 'express';
|
||||
import Beer from '../models/Beer';
|
||||
import { isValidObjectId, Types } from 'mongoose';
|
||||
import fs from 'fs';
|
||||
import path from 'path';
|
||||
import {Log} from 'nork'
|
||||
import Docs from '../services/docsService';
|
||||
import { addExam, delExam, editExam, IBeer } from '../validators/beerValidator';
|
||||
import { Request, Response } from "express";
|
||||
import Beer from "../models/Beer";
|
||||
import { isValidObjectId, Types } from "mongoose";
|
||||
import fs from "fs";
|
||||
import path from "path";
|
||||
import { Log } from "nork";
|
||||
import Docs from "../services/docsService";
|
||||
import { addExam, delExam, editExam, IBeer } from "../validators/beerValidator";
|
||||
|
||||
new Docs('beer', 'add', '/api/v1/beer/add', 'POST', 'beer add api', undefined, { ...addExam, photos: 'optional field | max 4 images | formData' }, 'status object | beer object');
|
||||
new Docs(
|
||||
"beer",
|
||||
"add",
|
||||
"/api/v1/beer/add",
|
||||
"POST",
|
||||
"beer add api",
|
||||
undefined,
|
||||
{ ...addExam, photos: "optional field | max 4 images | formData" },
|
||||
"status object | beer object",
|
||||
);
|
||||
export async function add_post(req: Request, res: Response) {
|
||||
try {
|
||||
if (req.files) {
|
||||
@ -19,28 +28,37 @@ export async function add_post(req: Request, res: Response) {
|
||||
}
|
||||
const beer = new Beer(req.body);
|
||||
await beer.save();
|
||||
res.status(201).json(Log.info(201, 'beer was created', beer));
|
||||
res.status(201).json(Log.info(201, "beer was created", beer));
|
||||
} catch (err: any) {
|
||||
Log.error(500, 'error in add_post', err);
|
||||
res.status(500).json(Log.error(500, 'something went wrong'));
|
||||
Log.error(500, "error in add_post", err);
|
||||
res.status(500).json(Log.error(500, "something went wrong"));
|
||||
}
|
||||
}
|
||||
|
||||
new Docs('beer', 'get', '/api/v1/beer/get', 'GET', 'beer get api', undefined, undefined, 'status object | array of beer objects');
|
||||
new Docs(
|
||||
"beer",
|
||||
"get",
|
||||
"/api/v1/beer/get",
|
||||
"GET",
|
||||
"beer get api",
|
||||
undefined,
|
||||
undefined,
|
||||
"status object | array of beer objects",
|
||||
);
|
||||
export async function get_get(req: Request, res: Response) {
|
||||
try {
|
||||
const beer = await Beer.find({}, '-__v');
|
||||
res.status(200).json(Log.info(200, 'beers fetched', beer));
|
||||
const beer = await Beer.find({}, "-__v");
|
||||
res.status(200).json(Log.info(200, "beers fetched", beer));
|
||||
} catch (err: any) {
|
||||
Log.error(500, 'error in get_get', err);
|
||||
res.status(500).json(Log.error(500, 'something went wrong'));
|
||||
Log.error(500, "error in get_get", err);
|
||||
res.status(500).json(Log.error(500, "something went wrong"));
|
||||
}
|
||||
}
|
||||
|
||||
new Docs('beer', 'del', '/api/v1/beer/del', 'POST', 'beer del api', undefined, delExam, 'status object');
|
||||
new Docs("beer", "del", "/api/v1/beer/del", "POST", "beer del api", undefined, delExam, "status object");
|
||||
export async function del_post(req: Request, res: Response) {
|
||||
try {
|
||||
if (!isValidObjectId(req.body._id)) throw Log.error(400, 'this is not valid _id');
|
||||
if (!isValidObjectId(req.body._id)) throw Log.error(400, "this is not valid _id");
|
||||
|
||||
const beer = await Beer.deleteOne(new Types.ObjectId(req.body._id));
|
||||
|
||||
@ -54,30 +72,39 @@ export async function del_post(req: Request, res: Response) {
|
||||
res.status(err.code).json(err);
|
||||
return;
|
||||
}
|
||||
Log.error(500, 'error in del_post', err);
|
||||
res.status(500).json(Log.error(500, 'something went wrong'));
|
||||
Log.error(500, "error in del_post", err);
|
||||
res.status(500).json(Log.error(500, "something went wrong"));
|
||||
}
|
||||
}
|
||||
|
||||
new Docs('beer', 'edit', '/api/v1/beer/edit', 'POST', 'beer edit api', undefined, { ...editExam, photos: 'optional field | max 4 images | formData' }, 'status object | beer data');
|
||||
new Docs(
|
||||
"beer",
|
||||
"edit",
|
||||
"/api/v1/beer/edit",
|
||||
"POST",
|
||||
"beer edit api",
|
||||
undefined,
|
||||
{ ...editExam, photos: "optional field | max 4 images | formData" },
|
||||
"status object | beer data",
|
||||
);
|
||||
export async function edit_post(req: Request, res: Response) {
|
||||
try {
|
||||
if (!isValidObjectId(req.body._id)) throw Log.error(400, 'this is not valid _id');
|
||||
if (!isValidObjectId(req.body._id)) throw Log.error(400, "this is not valid _id");
|
||||
|
||||
if (req.files) {
|
||||
if (!req.body.imgs) {
|
||||
req.body.imgs = [];
|
||||
}
|
||||
|
||||
if (typeof req.body.imgs == 'string') {
|
||||
if (typeof req.body.imgs == "string") {
|
||||
req.body.imgs = [req.body.imgs];
|
||||
}
|
||||
|
||||
if (req.body.imgs.length + req.files.length > 4) {
|
||||
req.body.imgs.forEach((el: string[]) => {
|
||||
fs.rmSync(path.join(__dirname, '../../uploads/' + el));
|
||||
fs.rmSync(path.join(__dirname, "../../uploads/" + el));
|
||||
});
|
||||
throw Log.error(400, 'exceeds the 4 image limit');
|
||||
throw Log.error(400, "exceeds the 4 image limit");
|
||||
}
|
||||
|
||||
const files: any = req.files;
|
||||
@ -90,11 +117,11 @@ export async function edit_post(req: Request, res: Response) {
|
||||
const beer = await Beer.findOneAndUpdate(new Types.ObjectId(req.body._id), payload, { new: true });
|
||||
res.json(Log.info(200, `beer ${req.body._id} edited`, beer));
|
||||
} catch (err: any) {
|
||||
if (err.code && typeof err.code == 'number') {
|
||||
if (err.code && typeof err.code == "number") {
|
||||
res.status(err.code).json(err);
|
||||
return;
|
||||
}
|
||||
Log.error(500, 'error in del_post', err);
|
||||
res.status(500).json(Log.error(500, 'something went wrong'));
|
||||
Log.error(500, "error in del_post", err);
|
||||
res.status(500).json(Log.error(500, "something went wrong"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user