Implementacion CRUD de modelo de bombas de combusstible

This commit is contained in:
2026-06-04 22:18:15 +00:00
parent 938fed7ffc
commit c48f2f8537
6 changed files with 167 additions and 1 deletions

View File

@ -0,0 +1,63 @@
import { Request, Response} from "express";
import { FuelPumpService } from "./fuelPump.service";
const fuelPumpService = new FuelPumpService();
export class FuelPumpController {
async getAll(
req:Request,
res:Response
){
const fuelPumps = await fuelPumpService.getAll();
res.json(fuelPumps);
}
async getById(
req:Request,
res:Response
){
const fuelPump = await fuelPumpService.getById(
req.params.id as string
);
res.json(fuelPump)
}
async create(
req:Request,
res:Response
){
const fuelPump = await fuelPumpService.create(
req.body
);
res.status(201).json(fuelPump);
}
async update(
req:Request,
res:Response
){
const fuelPump = await fuelPumpService.update(
req.params.id as string,
req.body
);
res.json(fuelPump);
}
async delete(
req:Request,
res:Response
){
const fuelPump = await fuelPumpService.delete(
req.params.id as string
)
res.json({
message:"Bomba de combustible eliminada"
});
}
}

View File

@ -0,0 +1,8 @@
import { ObjectId } from "mongoose";
export interface IFuelPumps {
pumpName:string;
fuelTypeId:ObjectId;
active:boolean;
}

View File

@ -0,0 +1,28 @@
import mongoose from "mongoose";
const fuelPumpSchema = new mongoose.Schema({
pumpName:{
type:String,
required:true,
unique:true
},
fuelTypeId:{
type:mongoose.Types.ObjectId,
ref:"FuelType",
required:true
},
active:{
type:Boolean,
default:true
}
},
{
timestamps:true
}
);
export default mongoose.model ("FuelPump", fuelPumpSchema);

View File

@ -0,0 +1,19 @@
import { Router } from "express";
import { FuelPumpController } from "./fuelPump.controller";
import { authMiddleware } from "../auth/auth.middleware";
const fuelPumpRouter = Router();
const controller = new FuelPumpController();
fuelPumpRouter.get("/", authMiddleware, controller.getAll);
fuelPumpRouter.get("/id", authMiddleware, controller.getById);
fuelPumpRouter.post("/", authMiddleware, controller.create);
fuelPumpRouter.put("/id", authMiddleware, controller.update);
fuelPumpRouter.delete("/id", authMiddleware, controller.delete);
export default fuelPumpRouter;

View File

@ -0,0 +1,46 @@
import fuelPumpModel from "./fuelPump.model"
export class FuelPumpService {
async getAll() {
return await fuelPumpModel.find();
}
async getById(
id:string
){
return await fuelPumpModel.findById(
id
);
}
async create(
data:any
){
return await fuelPumpModel.create(
data
);
}
async update(
id:string,
data:any
){
return await fuelPumpModel.findByIdAndUpdate(
id,
data,
{
new:true
}
);
}
async delete(
id:string
){
return await fuelPumpModel.findByIdAndDelete(
id
);
}
}