Implementación modulo configuración adicional de vehiculos
This commit is contained in:
@ -1,7 +1,6 @@
|
||||
import bcrypt from "bcrypt";
|
||||
import jwt from "jsonwebtoken";
|
||||
import userModel from "../user/user.model";
|
||||
import { resolve } from "dns/promises";
|
||||
|
||||
export class AuthService {
|
||||
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
import mongoose, { mongo, ObjectId } from "mongoose";
|
||||
|
||||
export interface IFuelPrince {
|
||||
export interface IFuelPrice {
|
||||
|
||||
fueltypeId:ObjectId;
|
||||
fuelTypeId:ObjectId;
|
||||
|
||||
pricePerGallon:number;
|
||||
effectiveFrom:Date;
|
||||
|
||||
@ -16,12 +16,10 @@ const fuelPriceSchema = new mongoose.Schema({
|
||||
|
||||
effetiveFrom:{
|
||||
type:Date,
|
||||
required:true
|
||||
},
|
||||
|
||||
effetiveTo:{
|
||||
type:Date,
|
||||
required:true
|
||||
},
|
||||
|
||||
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