Implementación CRUD de modulo de Precios de combustible
This commit is contained in:
@ -5,6 +5,7 @@ import roleRouter from "./modules/roles/role.routes";
|
|||||||
import userRouter from "./modules/user/user.routes";
|
import userRouter from "./modules/user/user.routes";
|
||||||
import authRouter from "./modules/auth/auth.routes";
|
import authRouter from "./modules/auth/auth.routes";
|
||||||
import fuelRoutes from "./modules/fuel-types/fuelType.routes";
|
import fuelRoutes from "./modules/fuel-types/fuelType.routes";
|
||||||
|
import fuelPriceRoute from "./modules/fuel_prices/fuelPrices.routes";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -17,6 +18,7 @@ app.use("/api/roles", roleRouter);
|
|||||||
app.use("/api/user", userRouter);
|
app.use("/api/user", userRouter);
|
||||||
app.use("/api/fuel", fuelRoutes);
|
app.use("/api/fuel", fuelRoutes);
|
||||||
app.use("/api/auth", authRouter);
|
app.use("/api/auth", authRouter);
|
||||||
|
app.use("/api/fuelprice", fuelPriceRoute)
|
||||||
|
|
||||||
|
|
||||||
app.use(express.urlencoded({
|
app.use(express.urlencoded({
|
||||||
|
|||||||
@ -43,6 +43,7 @@ export class FuelTypeController {
|
|||||||
res.status(201).json(fuelType);
|
res.status(201).json(fuelType);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Actualizar tipo de combustible
|
||||||
async update(
|
async update(
|
||||||
req:Request,
|
req:Request,
|
||||||
res:Response
|
res:Response
|
||||||
@ -56,6 +57,7 @@ export class FuelTypeController {
|
|||||||
res.json(fuelType);
|
res.json(fuelType);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Eliminar tipo de combustible
|
||||||
async delete (
|
async delete (
|
||||||
req:Request,
|
req:Request,
|
||||||
res:Response
|
res:Response
|
||||||
|
|||||||
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