Your IP : 216.73.216.220


Current Path : /home/deltalab/PMS/logistic-backend/src/models/routes/
Upload File :
Current File : //home/deltalab/PMS/logistic-backend/src/models/routes/route.schema.ts

import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose';
import { Document } from 'mongoose';
import { Order } from '../orders/order.schema';
import * as mongoose from 'mongoose';

export type RouteDocument = Route & Document;

class DeliverAddress extends Document {
  @Prop()
  address: string;

  @Prop({ type: [{ type: mongoose.Schema.Types.ObjectId, ref: 'Order' }] })
  pickupOrders: Order[];

  @Prop({ type: [{ type: mongoose.Schema.Types.ObjectId, ref: 'Order' }] })
  deliverOrders: Order[];
}

@Schema({ timestamps: true, versionKey: false })
export class Route {
  @Prop()
  carrier: string;

  @Prop()
  nVisitedCustomers: number;

  @Prop()
  kmDistance: number;

  @Prop()
  hoursWorked: number;

  @Prop()
  percentageKilogramsUsed: number;

  @Prop()
  percentageCubicMetersUsed: number;

  @Prop()
  addresses: DeliverAddress[];
}

export const RouteSchema = SchemaFactory.createForClass(Route);