Actualización CRUD módulo precio de combustibles

This commit is contained in:
2026-07-02 22:26:31 +00:00
parent 913b02f549
commit 3133cacb7e
4 changed files with 96 additions and 35 deletions

View File

@ -9,31 +9,61 @@ export class FuelPriceController {
req:Request, req:Request,
res:Response res:Response
){ ){
const fuelPrices = await fuelPriceService.getAll(); try{
const fuelPrices = await fuelPriceService.getAll();
res.json(fuelPrices);
res.json(fuelPrices);
}catch(error){
res.status(500).json({
message:"Error al obtener precio de combustible",
error
});
}
} }
async getById( async getById(
req:Request, req:Request,
res:Response res:Response
){ ){
const fuelPrice = await fuelPriceService.getById( try{
req.params.id as string const fuelPrice = await fuelPriceService.getById(
); req.params.id as string
);
res.json(fuelPrice); if(!fuelPrice){
return res.status(404).json({
message:"Precio de combustible no encontrado"
});
}
res.json(fuelPrice);
}catch(error){
res.status(500).json({
message:"Error al obtener precio de combustible",
error
});
}
} }
async create ( async create (
req:Request, req:Request,
res:Response res:Response
){ ){
const fuelPrice = await fuelPriceService.create(
req.body
);
res.status(201).json(fuelPrice); try{
const fuelPrice = await fuelPriceService.create(
req.body
);
res.status(201).json(fuelPrice);
} catch(error){
res.status(500).json({
message:"Error al crear precio de combustible",
error
})
}
} }
async update( async update(
@ -41,24 +71,51 @@ export class FuelPriceController {
res:Response res:Response
){ ){
const fuelPrice = await fuelPriceService.update( try{
req.params.id as string, const fuelPrice = await fuelPriceService.update(
req.body req.params.id as string,
) req.body
);
if(!fuelPrice){
return res.status(404).json({
message:"Precio de combustible no encontrado"
});
}
res.json(fuelPrice); res.status(200).json(fuelPrice);
}catch(error){
res.status(500).json({
message:"Error al actualizar precio de combustible",
error
});
}
} }
async delete ( async delete (
req:Request, req:Request,
res:Response res:Response
){ ){
const fuelPrice = await fuelPriceService.delete( try{
req.params.id as string const fuelPrice = await fuelPriceService.delete(
) req.params.id as string
)
res.json({ if(!fuelPrice){
message:"Precio eliminado"} return res.status(404).json({
); message:"Precio de combustible no encontrado"
});
}
res.json({
message:"Precio eliminado"}
);
}catch(error){
res.status(500).json({
message:"Error al eliminar precio de combustible",
error
})
}
} }
} }

View File

@ -1,12 +1,16 @@
import mongoose, { mongo, ObjectId } from "mongoose"; import { Types } from "mongoose";
export interface IFuelPrice { export interface IFuelPrice {
fuelTypeId:ObjectId; fuelTypeId:Types.ObjectId;
pricePerGallon:number; pricePerGallon:number;
effectiveFrom:Date; effectiveFrom:Date;
effectiveTo:Date; effectiveTo:Date;
active:boolean; active:boolean;
createBy:ObjectId;
createdBy:Types.ObjectId;
} }

View File

@ -1,9 +1,9 @@
import mongoose, { mongo } from "mongoose"; import mongoose from "mongoose";
const fuelPriceSchema = new mongoose.Schema({ const fuelPriceSchema = new mongoose.Schema({
fuelTypeId:{ fuelTypeId:{
type:mongoose.Types.ObjectId, type:mongoose.Schema.Types.ObjectId,
ref:"FuelType", ref:"FuelType",
required:true, required:true,
@ -14,11 +14,11 @@ const fuelPriceSchema = new mongoose.Schema({
required:true required:true
}, },
effetiveFrom:{ effectiveFrom:{
type:Date, type:Date,
}, },
effetiveTo:{ effectiveTo:{
type:Date, type:Date,
}, },
@ -27,8 +27,8 @@ const fuelPriceSchema = new mongoose.Schema({
default:true default:true
}, },
createBy:{ createdBy:{
type:mongoose.Types.ObjectId, type:mongoose.Schema.Types.ObjectId,
ref:"User", ref:"User",
required:true required:true
} }
@ -38,4 +38,4 @@ const fuelPriceSchema = new mongoose.Schema({
} }
); );
export default mongoose.model("FuelPrices", fuelPriceSchema) export default mongoose.model("FuelPrices", fuelPriceSchema);

View File

@ -8,13 +8,13 @@ const controller = new FuelPriceController();
fuelPriceRoute.get("/", authMiddleware, controller.getAll); fuelPriceRoute.get("/", authMiddleware, controller.getAll);
fuelPriceRoute.get("/id", authMiddleware, controller.getById); fuelPriceRoute.get("/:id", authMiddleware, controller.getById);
fuelPriceRoute.post("/", authMiddleware, controller.create); fuelPriceRoute.post("/", authMiddleware, controller.create);
fuelPriceRoute.put("/id", authMiddleware, controller.update); fuelPriceRoute.put("/:id", authMiddleware, controller.update);
fuelPriceRoute.delete("/id", authMiddleware, controller.delete); fuelPriceRoute.delete("/:id", authMiddleware, controller.delete);
export default fuelPriceRoute; export default fuelPriceRoute;