Skip to content
Snippets Groups Projects
Commit c1a8a7ba authored by Amanda Pollyanna da Silva Rodrigues's avatar Amanda Pollyanna da Silva Rodrigues
Browse files

FIX implants handlers

parent 9c129caf
Branches
No related tags found
1 merge request!17FIX implants handlers
......@@ -2,11 +2,11 @@ import { type Request, type Response } from 'express';
import { implantsTable } from '@/db/schema';
import { db } from "@/db";
import { eq } from 'drizzle-orm';
import { implantSchema } from '@/validators/implantsValidator';
import { implantSchema, updateImplantSchema } from '@/validators/implantsValidator';
export default class implant{
static implantRequestValidation (req: Request){
const validation = implantSchema.safeParse(req.body);
const validation = updateImplantSchema.safeParse(req.body);
return validation.success;
}
......@@ -19,13 +19,19 @@ export default class implant{
return searched[0] || null;
}
static async implantRead(id: number, req: Request, res: Response){
if (!this.implantRequestValidation(req))
static async implantRead(req: Request, res: Response){
if (!implant.implantRequestValidation(req))
{
return res.status(400).json({ error: "Invalid Request"});
}
const holder = await this.getImplant(id);
const { id } = req.params;
const parsedId = parseInt(id, 10);
if (isNaN(parsedId)) {
return res.status(400).json({ error: "ID inválido" });
}
const holder = await implant.getImplant(parsedId);
if (!holder)
{
return res.status(404).json({ error: "Not Found"});
......@@ -35,13 +41,19 @@ export default class implant{
}
static async implantUpdate(id: number, req: Request, res: Response){
if (!this.implantRequestValidation(req))
static async implantUpdate(req: Request, res: Response){
if (!implant.implantRequestValidation(req))
{
return res.status(400).json({ error: "Invalid Request"});
}
const updated_implant = await this.getImplant(id);
const { id } = req.params;
const parsedId = parseInt(id, 10);
if (isNaN(parsedId)) {
return res.status(400).json({ error: "ID inválido" });
}
const updated_implant = await implant.getImplant(parsedId);
if (!updated_implant)
{
return res.status(404).json({ error: "Not Found"});
......@@ -55,7 +67,7 @@ export default class implant{
};
try{
await db.update(implantsTable).set(updates).where(eq(implantsTable.id, id));
await db.update(implantsTable).set(updates).where(eq(implantsTable.id, parsedId));
} catch (error) {
return res.status (500).json({ error: "Update User Error"})
}
......@@ -63,19 +75,25 @@ export default class implant{
return res.status(200).json({ message: "OK"});
}
static async implantDelete(id: number, req: Request, res: Response){
if (!this.implantRequestValidation(req))
static async implantDelete(req: Request, res: Response){
if (!implant.implantRequestValidation(req))
{
return res.status(400).json("Invalid Request");
}
if (!this.getImplant(id))
const { id } = req.params;
const parsedId = parseInt(id, 10);
if (isNaN(parsedId)) {
return res.status(400).json({ error: "ID inválido" });
}
if (!implant.getImplant(parsedId))
{
return res.status(404).json("Not Found");
}
try{
await db.delete(implantsTable).where(eq(implantsTable.id, id));
await db.delete(implantsTable).where(eq(implantsTable.id, parsedId));
return res.status(200).json({ message: "Implant removed successfully"});
} catch (error) {
return res.status(500).json({ error: "Implant Removal Error"});
......@@ -83,7 +101,7 @@ export default class implant{
}
static async implantCreate(req: Request, res: Response){
const implant_package = this.implantRequestUnzip(req);
const implant_package = implant.implantRequestUnzip(req);setInterval
if (!implant_package.success)
{
return res.status(400).json("Invalid Request");
......
......@@ -133,7 +133,7 @@ export default class User{
static readUser = async (req: Request, res: Response): Promise<any> => {
try {
// extrair id e nome da requisição
// extrair id da requisição
const { id } = req.params;
// converter id para número
......@@ -182,7 +182,7 @@ export default class User{
return res.status(401).json({ message: 'Senha incorreta' });
}
// criar chave secreta para assinar e validar tokens, guardar no .env
// acessar no .env a chave secreta para assinar e validar tokens
const jwtSecret = process.env["APP_SECRET"];
if (!jwtSecret) {
return res.status(500).json({ error: "Chave secreta do JWT não configurada" });
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment