Implementación CRUD de modulo de Precios de combustible
This commit is contained in:
64
backend/src/modules/fuel_prices/fuelPrices.controller.ts
Normal file
64
backend/src/modules/fuel_prices/fuelPrices.controller.ts
Normal file
@ -0,0 +1,64 @@
|
||||
import { Request, Response } from "express";
|
||||
import { FuelPriceService } from "./fuelPrices.service";
|
||||
|
||||
const fuelPriceService = new FuelPriceService();
|
||||
|
||||
export class FuelPriceController {
|
||||
|
||||
async getAll(
|
||||
req:Request,
|
||||
res:Response
|
||||
){
|
||||
const fuelPrices = await fuelPriceService.getAll();
|
||||
|
||||
res.json(fuelPrices);
|
||||
}
|
||||
|
||||
async getById(
|
||||
req:Request,
|
||||
res:Response
|
||||
){
|
||||
const fuelPrice = await fuelPriceService.getById(
|
||||
req.params.id as string
|
||||
);
|
||||
|
||||
res.json(fuelPrice);
|
||||
}
|
||||
|
||||
async create (
|
||||
req:Request,
|
||||
res:Response
|
||||
){
|
||||
const fuelPrice = await fuelPriceService.create(
|
||||
req.body
|
||||
);
|
||||
|
||||
res.status(201).json(fuelPrice);
|
||||
}
|
||||
|
||||
async update(
|
||||
req:Request,
|
||||
res:Response
|
||||
){
|
||||
|
||||
const fuelPrice = await fuelPriceService.update(
|
||||
req.params.id as string,
|
||||
req.body
|
||||
)
|
||||
|
||||
res.json(fuelPrice);
|
||||
}
|
||||
|
||||
async delete (
|
||||
req:Request,
|
||||
res:Response
|
||||
){
|
||||
const fuelPrice = await fuelPriceService.delete(
|
||||
req.params.id as string
|
||||
)
|
||||
|
||||
res.json({
|
||||
message:"Precio eliminado"}
|
||||
);
|
||||
}
|
||||
}
|
||||
12
backend/src/modules/fuel_prices/fuelPrices.interface.ts
Normal file
12
backend/src/modules/fuel_prices/fuelPrices.interface.ts
Normal file
@ -0,0 +1,12 @@
|
||||
import mongoose, { mongo, ObjectId } from "mongoose";
|
||||
|
||||
export interface IFuelPrince {
|
||||
|
||||
fueltypeId:ObjectId;
|
||||
|
||||
pricePerGallon:number;
|
||||
effectiveFrom:Date;
|
||||
effectiveTo:Date;
|
||||
active:boolean;
|
||||
createBy:ObjectId;
|
||||
}
|
||||
43
backend/src/modules/fuel_prices/fuelPrices.model.ts
Normal file
43
backend/src/modules/fuel_prices/fuelPrices.model.ts
Normal file
@ -0,0 +1,43 @@
|
||||
import mongoose, { mongo } from "mongoose";
|
||||
|
||||
const fuelPriceSchema = new mongoose.Schema({
|
||||
|
||||
fuelTypeId:{
|
||||
type:mongoose.Types.ObjectId,
|
||||
ref:"FuelType",
|
||||
required:true,
|
||||
|
||||
},
|
||||
|
||||
pricePerGallon:{
|
||||
type:Number,
|
||||
required:true
|
||||
},
|
||||
|
||||
effetiveFrom:{
|
||||
type:Date,
|
||||
required:true
|
||||
},
|
||||
|
||||
effetiveTo:{
|
||||
type:Date,
|
||||
required:true
|
||||
},
|
||||
|
||||
active:{
|
||||
type:Boolean,
|
||||
default:true
|
||||
},
|
||||
|
||||
createBy:{
|
||||
type:mongoose.Types.ObjectId,
|
||||
ref:"User",
|
||||
required:true
|
||||
}
|
||||
},
|
||||
{
|
||||
timestamps:true
|
||||
}
|
||||
);
|
||||
|
||||
export default mongoose.model("FuelPrices", fuelPriceSchema)
|
||||
20
backend/src/modules/fuel_prices/fuelPrices.routes.ts
Normal file
20
backend/src/modules/fuel_prices/fuelPrices.routes.ts
Normal file
@ -0,0 +1,20 @@
|
||||
import { Router } from "express";
|
||||
import { FuelPriceController } from "./fuelPrices.controller";
|
||||
import { authMiddleware } from "../auth/auth.middleware";
|
||||
|
||||
const fuelPriceRoute = Router();
|
||||
|
||||
const controller = new FuelPriceController();
|
||||
|
||||
fuelPriceRoute.get("/", authMiddleware, controller.getAll);
|
||||
|
||||
fuelPriceRoute.get("/id", authMiddleware, controller.getById);
|
||||
|
||||
fuelPriceRoute.post("/", authMiddleware, controller.create);
|
||||
|
||||
fuelPriceRoute.put("/id", authMiddleware, controller.update);
|
||||
|
||||
fuelPriceRoute.delete("/id", authMiddleware, controller.delete);
|
||||
|
||||
|
||||
export default fuelPriceRoute;
|
||||
49
backend/src/modules/fuel_prices/fuelPrices.service.ts
Normal file
49
backend/src/modules/fuel_prices/fuelPrices.service.ts
Normal file
@ -0,0 +1,49 @@
|
||||
import fuelPricesModel from "./fuelPrices.model";
|
||||
|
||||
export class FuelPriceService {
|
||||
|
||||
async getAll(){
|
||||
return await fuelPricesModel
|
||||
.find()
|
||||
.populate("fuelTypeId");
|
||||
}
|
||||
|
||||
async getById (
|
||||
id:string
|
||||
) {
|
||||
return await fuelPricesModel
|
||||
.findById()
|
||||
.populate("fuelTypeId");
|
||||
}
|
||||
|
||||
async create (
|
||||
data:any
|
||||
){
|
||||
|
||||
return await fuelPricesModel.create(
|
||||
data
|
||||
);
|
||||
}
|
||||
|
||||
async update (
|
||||
id:string,
|
||||
data:any
|
||||
|
||||
){
|
||||
return await fuelPricesModel.findByIdAndUpdate(
|
||||
id,
|
||||
data,
|
||||
{
|
||||
new:true
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
async delete (
|
||||
id:string
|
||||
){
|
||||
return await fuelPricesModel.findByIdAndDelete(
|
||||
id
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user