import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose';
import mongoose, { Document } from 'mongoose';

export type QuoteDocument = Quote & Document;

export enum QuoteStatusEnum {
  Draft = 'Draft',
  InProgress = 'In Progress',
  Finalized = 'Finalized',
  Canceled = 'Canceled',
}

@Schema({ timestamps: true })
export class Quote {
  @Prop({ unique: true })
  number: number;

  @Prop({ type: mongoose.Schema.Types.ObjectId, ref: 'User' })
  client: string;

  @Prop({ type: mongoose.Schema.Types.ObjectId, ref: 'Project', require: true })
  project: string;

  @Prop({ default: 'Draft' })
  status: QuoteStatusEnum;

  @Prop()
  comment: string;

  @Prop()
  projectName: string;

  // @Prop()
  // total: string;

  // @Prop()
  // distance: number;

  // @Prop()
  // duration: number;

  @Prop()
  innerprice: string;

  @Prop({ type: mongoose.Schema.Types.Mixed })
  configurationPayload: any;

  @Prop({ default: false })
  revised: boolean;
}

export const QuoteSchema = SchemaFactory.createForClass(Quote);
