import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose';
import { HydratedDocument } from 'mongoose';

export type DailySummaryDocument = HydratedDocument<DailySummary>;

@Schema({ timestamps: true, collection: 'daily_summaries' })
export class DailySummary {
  @Prop({ required: true, index: true })
  userId: string;

  @Prop({ required: true, index: true })
  date: Date;

  @Prop({ default: 0 })
  totalDistance: number;

  @Prop({ default: 0 })
  travelTime: number;

  @Prop({ default: 0 })
  meetingTime: number;

  @Prop({ default: 0 })
  idleTime: number;

  @Prop({ default: 0 })
  tripsCompleted: number;

  @Prop()
  productivityScore?: number;
}

export const DailySummarySchema = SchemaFactory.createForClass(DailySummary);
DailySummarySchema.index({ userId: 1, date: 1 }, { unique: true });
