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,
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(
req:Request,
res:Response
){
const fuelPrice = await fuelPriceService.getById(
req.params.id as string
);
try{
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 (
req:Request,
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(
@ -41,24 +71,51 @@ export class FuelPriceController {
res:Response
){
const fuelPrice = await fuelPriceService.update(
req.params.id as string,
req.body
)
try{
const fuelPrice = await fuelPriceService.update(
req.params.id as string,
req.body
);
res.json(fuelPrice);
if(!fuelPrice){
return res.status(404).json({
message:"Precio de combustible no encontrado"
});
}
res.status(200).json(fuelPrice);
}catch(error){
res.status(500).json({
message:"Error al actualizar precio de combustible",
error
});
}
}
async delete (
req:Request,
res:Response
){
const fuelPrice = await fuelPriceService.delete(
req.params.id as string
)
try{
const fuelPrice = await fuelPriceService.delete(
req.params.id as string
)
res.json({
message:"Precio eliminado"}
);
if(!fuelPrice){
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 {
fuelTypeId:ObjectId;
fuelTypeId:Types.ObjectId;
pricePerGallon:number;
effectiveFrom:Date;
effectiveTo:Date;
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({
fuelTypeId:{
type:mongoose.Types.ObjectId,
type:mongoose.Schema.Types.ObjectId,
ref:"FuelType",
required:true,
@ -14,11 +14,11 @@ const fuelPriceSchema = new mongoose.Schema({
required:true
},
effetiveFrom:{
effectiveFrom:{
type:Date,
},
effetiveTo:{
effectiveTo:{
type:Date,
},
@ -27,8 +27,8 @@ const fuelPriceSchema = new mongoose.Schema({
default:true
},
createBy:{
type:mongoose.Types.ObjectId,
createdBy:{
type:mongoose.Schema.Types.ObjectId,
ref:"User",
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("/id", authMiddleware, controller.getById);
fuelPriceRoute.get("/:id", authMiddleware, controller.getById);
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;