Implementación modulo configuración adicional de vehiculos
This commit is contained in:
@ -7,6 +7,7 @@ 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";
|
import fuelPriceRoute from "./modules/fuel_prices/fuelPrices.routes";
|
||||||
import fuelPumpRouter from "./modules/fuel_pumps/fuelPump.routes";
|
import fuelPumpRouter from "./modules/fuel_pumps/fuelPump.routes";
|
||||||
|
import vehicleConfigRouter from "./modules/vehicles-config/vehiclesConfigs.routes";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -21,6 +22,7 @@ app.use("/api/fuel", fuelRoutes);
|
|||||||
app.use("/api/auth", authRouter);
|
app.use("/api/auth", authRouter);
|
||||||
app.use("/api/fuelprice", fuelPriceRoute);
|
app.use("/api/fuelprice", fuelPriceRoute);
|
||||||
app.use("/api/pump", fuelPumpRouter);
|
app.use("/api/pump", fuelPumpRouter);
|
||||||
|
app.use("/api/vconfig", vehicleConfigRouter);
|
||||||
|
|
||||||
|
|
||||||
app.use(express.urlencoded({
|
app.use(express.urlencoded({
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
import bcrypt from "bcrypt";
|
import bcrypt from "bcrypt";
|
||||||
import jwt from "jsonwebtoken";
|
import jwt from "jsonwebtoken";
|
||||||
import userModel from "../user/user.model";
|
import userModel from "../user/user.model";
|
||||||
import { resolve } from "dns/promises";
|
|
||||||
|
|
||||||
export class AuthService {
|
export class AuthService {
|
||||||
|
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
import mongoose, { mongo, ObjectId } from "mongoose";
|
import mongoose, { mongo, ObjectId } from "mongoose";
|
||||||
|
|
||||||
export interface IFuelPrince {
|
export interface IFuelPrice {
|
||||||
|
|
||||||
fueltypeId:ObjectId;
|
fuelTypeId:ObjectId;
|
||||||
|
|
||||||
pricePerGallon:number;
|
pricePerGallon:number;
|
||||||
effectiveFrom:Date;
|
effectiveFrom:Date;
|
||||||
|
|||||||
@ -16,12 +16,10 @@ const fuelPriceSchema = new mongoose.Schema({
|
|||||||
|
|
||||||
effetiveFrom:{
|
effetiveFrom:{
|
||||||
type:Date,
|
type:Date,
|
||||||
required:true
|
|
||||||
},
|
},
|
||||||
|
|
||||||
effetiveTo:{
|
effetiveTo:{
|
||||||
type:Date,
|
type:Date,
|
||||||
required:true
|
|
||||||
},
|
},
|
||||||
|
|
||||||
active:{
|
active:{
|
||||||
|
|||||||
@ -0,0 +1,64 @@
|
|||||||
|
import { Request, Response } from "express";
|
||||||
|
|
||||||
|
import { VehicleConfigService } from "./vehiclesConfig.service";
|
||||||
|
|
||||||
|
const vehicleConfigService = new VehicleConfigService();
|
||||||
|
|
||||||
|
export class VehicleConfigController {
|
||||||
|
|
||||||
|
async getAll(
|
||||||
|
req:Request,
|
||||||
|
res:Response
|
||||||
|
){
|
||||||
|
const vehicleConfigs = await vehicleConfigService.getAll();
|
||||||
|
|
||||||
|
res.json(vehicleConfigs);
|
||||||
|
}
|
||||||
|
|
||||||
|
async getById(
|
||||||
|
req:Request,
|
||||||
|
res:Response
|
||||||
|
){
|
||||||
|
const vehicleConfig = await vehicleConfigService.getById(
|
||||||
|
req.params.id as string
|
||||||
|
);
|
||||||
|
|
||||||
|
res.json(vehicleConfig);
|
||||||
|
}
|
||||||
|
|
||||||
|
async create (
|
||||||
|
req:Request,
|
||||||
|
res:Response
|
||||||
|
){
|
||||||
|
const vehicleConfig = await vehicleConfigService.create(
|
||||||
|
req.body
|
||||||
|
);
|
||||||
|
|
||||||
|
res.status(201).json(vehicleConfig);
|
||||||
|
}
|
||||||
|
|
||||||
|
async update(
|
||||||
|
req:Request,
|
||||||
|
res:Response
|
||||||
|
){
|
||||||
|
const vehicleConfig = await vehicleConfigService.update(
|
||||||
|
req.params.id as string,
|
||||||
|
req.body
|
||||||
|
);
|
||||||
|
|
||||||
|
res.json(vehicleConfig);
|
||||||
|
}
|
||||||
|
|
||||||
|
async delete (
|
||||||
|
req:Request,
|
||||||
|
res:Response
|
||||||
|
){
|
||||||
|
const vehicleConfig = await vehicleConfigService.delete(
|
||||||
|
req.params.id as string
|
||||||
|
);
|
||||||
|
|
||||||
|
res.json({
|
||||||
|
messaje:"Configuración de vehículo eliminada"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,11 @@
|
|||||||
|
import { ObjectId } from "mongoose";
|
||||||
|
|
||||||
|
export interface IVehicleConfig {
|
||||||
|
|
||||||
|
vehicleId:number;
|
||||||
|
fuelTypeId:ObjectId;
|
||||||
|
tankCapacity:number;
|
||||||
|
currentMileage:number;
|
||||||
|
odometerWorking:boolean;
|
||||||
|
active:boolean;
|
||||||
|
}
|
||||||
41
backend/src/modules/vehicles-config/vehiclesConfig.model.ts
Normal file
41
backend/src/modules/vehicles-config/vehiclesConfig.model.ts
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
import mongoose from "mongoose";
|
||||||
|
|
||||||
|
const vehicleConfigSchema = new mongoose.Schema ({
|
||||||
|
|
||||||
|
vehicleid:{
|
||||||
|
type:Number,
|
||||||
|
required:true,
|
||||||
|
unique:true
|
||||||
|
},
|
||||||
|
|
||||||
|
fuelTypeId:{
|
||||||
|
type:mongoose.Schema.Types.ObjectId,
|
||||||
|
ref:"FuelType",
|
||||||
|
required:true,
|
||||||
|
},
|
||||||
|
|
||||||
|
tankcapacity:{
|
||||||
|
type:Number,
|
||||||
|
required:true
|
||||||
|
},
|
||||||
|
|
||||||
|
currentMileage:{
|
||||||
|
type:Number
|
||||||
|
},
|
||||||
|
|
||||||
|
odometerWorking:{
|
||||||
|
type:Boolean,
|
||||||
|
default:true
|
||||||
|
},
|
||||||
|
|
||||||
|
active:{
|
||||||
|
type:Boolean,
|
||||||
|
default:true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
timestamps:true
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
export default mongoose.model("VehicleConfig", vehicleConfigSchema);
|
||||||
@ -0,0 +1,48 @@
|
|||||||
|
import vehiclesConfigModel from "./vehiclesConfig.model";
|
||||||
|
|
||||||
|
export class VehicleConfigService {
|
||||||
|
|
||||||
|
async getAll()
|
||||||
|
{
|
||||||
|
return await vehiclesConfigModel
|
||||||
|
.find()
|
||||||
|
.populate("fuelTypeId");
|
||||||
|
}
|
||||||
|
|
||||||
|
async getById(
|
||||||
|
id:string
|
||||||
|
)
|
||||||
|
{
|
||||||
|
return await vehiclesConfigModel
|
||||||
|
.findById(id)
|
||||||
|
.populate("fuelTypeId");
|
||||||
|
}
|
||||||
|
|
||||||
|
async create(
|
||||||
|
data:any
|
||||||
|
){
|
||||||
|
return await vehiclesConfigModel.create(
|
||||||
|
data);
|
||||||
|
}
|
||||||
|
|
||||||
|
async update(
|
||||||
|
id:string,
|
||||||
|
data:any
|
||||||
|
){
|
||||||
|
return await vehiclesConfigModel.findByIdAndUpdate(
|
||||||
|
id,
|
||||||
|
data,
|
||||||
|
{
|
||||||
|
new:true
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
async delete(
|
||||||
|
id:string
|
||||||
|
){
|
||||||
|
return await vehiclesConfigModel.findByIdAndDelete(
|
||||||
|
id
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,19 @@
|
|||||||
|
import { Router } from "express";
|
||||||
|
import { VehicleConfigController } from "./vehiclesConfig.controller";
|
||||||
|
import { authMiddleware } from "../auth/auth.middleware";
|
||||||
|
|
||||||
|
const vehicleConfigRouter = Router();
|
||||||
|
|
||||||
|
const controller = new VehicleConfigController();
|
||||||
|
|
||||||
|
vehicleConfigRouter.get("/", authMiddleware, controller.getAll);
|
||||||
|
|
||||||
|
vehicleConfigRouter.get("/id", authMiddleware, controller.getById);
|
||||||
|
|
||||||
|
vehicleConfigRouter.post("/", authMiddleware, controller.create);
|
||||||
|
|
||||||
|
vehicleConfigRouter.put("/id", authMiddleware, controller.update);
|
||||||
|
|
||||||
|
vehicleConfigRouter.delete("/id", authMiddleware.apply, controller.delete);
|
||||||
|
|
||||||
|
export default vehicleConfigRouter;
|
||||||
Reference in New Issue
Block a user