forked from Shared/esg
31 lines
943 B
TypeScript
31 lines
943 B
TypeScript
import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose';
|
|
import { HydratedDocument, Types } from 'mongoose';
|
|
|
|
export type EvaluationRequestDocument = HydratedDocument<EvaluationRequest>;
|
|
|
|
@Schema({ _id: false })
|
|
export class EvaluationHistoryEntry {
|
|
@Prop({ type: Types.ObjectId, ref: 'FieldExpert', required: true })
|
|
expertId!: Types.ObjectId;
|
|
|
|
@Prop()
|
|
expertCode?: number;
|
|
|
|
@Prop({ required: true, default: () => new Date() })
|
|
evaluatedAt!: Date;
|
|
}
|
|
|
|
export const EvaluationHistoryEntrySchema =
|
|
SchemaFactory.createForClass(EvaluationHistoryEntry);
|
|
|
|
@Schema({ timestamps: true, collection: 'evaluation_requests' })
|
|
export class EvaluationRequest {
|
|
@Prop({ required: true, unique: true, trim: true })
|
|
requestId!: string;
|
|
|
|
@Prop({ type: [EvaluationHistoryEntrySchema], default: [] })
|
|
evaluations!: EvaluationHistoryEntry[];
|
|
}
|
|
|
|
export const EvaluationRequestSchema = SchemaFactory.createForClass(EvaluationRequest);
|