Backend: code formatted

This commit is contained in:
2024-05-12 21:25:52 +02:00
parent fa25015472
commit bf791db47f
26 changed files with 574 additions and 469 deletions

View File

@ -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"));
}
}
}