import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose'; import { Document, Types } from 'mongoose'; import { ObjectType, Field, ID, Float } from '@nestjs/graphql'; import { Base } from '@/models/base.model'; @ObjectType() @Schema({ timestamps: true }) export class BuildAddress extends Base { @Field(() => ID) readonly _id: string; @Field() @Prop({ required: true }) buildNumber: string; @Field() @Prop({ required: true }) doorNumber: string; @Field() @Prop({ required: true }) floorNumber: string; @Field() @Prop({ required: true }) commentAddress: string; @Field() @Prop({ required: true }) letterAddress: string; @Field() @Prop({ required: true }) shortLetterAddress: string; @Field(() => Float) @Prop({ required: true }) latitude: number; @Field(() => Float) @Prop({ required: true }) longitude: number; @Field(() => ID, { nullable: true }) @Prop({ type: Types.ObjectId, ref: 'Street', required: false }) street?: Types.ObjectId; } export type BuildAddressDocument = BuildAddress & Document; export const BuildAddressSchema = SchemaFactory.createForClass(BuildAddress);