From 2e329d8dfe4fd67f614a3957c9be97f043677f36 Mon Sep 17 00:00:00 2001 From: Berkay Date: Fri, 14 Nov 2025 20:08:13 +0300 Subject: [PATCH] updated graphql dtos & build and it depends --- backend/src/app.module.ts | 5 +-- .../build-area/dto/create-build-area.input.ts | 6 +-- .../dto/create-build-part.input.ts | 5 ++- backend/src/build/build.module.ts | 8 +++- backend/src/build/build.resolver.ts | 2 + backend/src/build/dto/create-build.input.ts | 9 ++-- backend/src/models/person.model.ts | 25 ++++++++++- backend/src/people/dto/create-person.input.ts | 44 ++++++++++++++++++- .../user-types/dto/create-user-types.input.ts | 6 ++- backend/src/user-types/user-types.module.ts | 7 ++- backend/src/users/users.module.ts | 8 ++-- 11 files changed, 102 insertions(+), 23 deletions(-) diff --git a/backend/src/app.module.ts b/backend/src/app.module.ts index d9aded6..1e62928 100644 --- a/backend/src/app.module.ts +++ b/backend/src/app.module.ts @@ -6,7 +6,6 @@ import { ApolloDriver, ApolloDriverConfig } from '@nestjs/apollo'; import { MongooseModule } from '@nestjs/mongoose'; import { UsersModule } from './users/users.module'; import { PeopleModule } from './people/people.module'; -import { BuildService } from './build/build.service'; import { BuildModule } from './build/build.module'; import { BuildPartsModule } from './build-parts/build-parts.module'; import { BuildAreaModule } from './build-area/build-area.module'; @@ -20,14 +19,14 @@ import { UserTypesModule } from './user-types/user-types.module'; playground: true, }), MongooseModule.forRoot(process.env.MONGODB_URI || "mongodb://evyosdbuser:evyosdbpassword@10.10.2.13:27017/evyosdb"), + BuildModule, UsersModule, PeopleModule, - BuildModule, BuildPartsModule, BuildAreaModule, UserTypesModule, ], controllers: [AppController], - providers: [AppService, BuildService], + providers: [AppService], }) export class AppModule { } diff --git a/backend/src/build-area/dto/create-build-area.input.ts b/backend/src/build-area/dto/create-build-area.input.ts index cf67cd4..5496e2a 100644 --- a/backend/src/build-area/dto/create-build-area.input.ts +++ b/backend/src/build-area/dto/create-build-area.input.ts @@ -1,7 +1,7 @@ -import { InputType } from "@nestjs/graphql"; - +import { InputType, Field } from "@nestjs/graphql"; @InputType() export class CreateBuildAreaInput { - + @Field() + uuid: string; } diff --git a/backend/src/build-parts/dto/create-build-part.input.ts b/backend/src/build-parts/dto/create-build-part.input.ts index 63d8a40..d8cea58 100644 --- a/backend/src/build-parts/dto/create-build-part.input.ts +++ b/backend/src/build-parts/dto/create-build-part.input.ts @@ -1,7 +1,10 @@ -import { InputType, Field, ID } from '@nestjs/graphql'; +import { InputType, Field } from '@nestjs/graphql'; @InputType() export class CreateBuildPartsInput { + @Field() + uuid: string; + } diff --git a/backend/src/build/build.module.ts b/backend/src/build/build.module.ts index fdd4114..6911a4d 100644 --- a/backend/src/build/build.module.ts +++ b/backend/src/build/build.module.ts @@ -1,7 +1,11 @@ import { Module } from '@nestjs/common'; import { BuildResolver } from './build.resolver'; +import { MongooseModule } from '@nestjs/mongoose'; +import { BuildSchema } from '@/models/build.model'; +import { BuildService } from './build.service'; @Module({ - providers: [BuildResolver] + imports: [MongooseModule.forFeature([{ name: 'Build', schema: BuildSchema }])], + providers: [BuildResolver, BuildService] }) -export class BuildModule {} +export class BuildModule { } diff --git a/backend/src/build/build.resolver.ts b/backend/src/build/build.resolver.ts index 425b71a..7cf767e 100644 --- a/backend/src/build/build.resolver.ts +++ b/backend/src/build/build.resolver.ts @@ -8,6 +8,7 @@ import type { GraphQLResolveInfo } from 'graphql'; @Resolver() export class BuildResolver { + constructor(private readonly buildService: BuildService) { } @Query(() => [Build], { name: 'Builds' }) @@ -24,4 +25,5 @@ export class BuildResolver { async createBuild(@Args('input') input: CreateBuildInput): Promise { return this.buildService.create(input); } + } diff --git a/backend/src/build/dto/create-build.input.ts b/backend/src/build/dto/create-build.input.ts index 75b0c10..ca7dab2 100644 --- a/backend/src/build/dto/create-build.input.ts +++ b/backend/src/build/dto/create-build.input.ts @@ -1,8 +1,9 @@ -import { InputType } from "@nestjs/graphql"; - +import { InputType, Field, ID } from "@nestjs/graphql"; @InputType() export class CreateBuildInput { - - + + @Field() + uuid: string; + } diff --git a/backend/src/models/person.model.ts b/backend/src/models/person.model.ts index 705cc9c..7528e52 100644 --- a/backend/src/models/person.model.ts +++ b/backend/src/models/person.model.ts @@ -1,51 +1,74 @@ import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose'; import { Document } from 'mongoose'; +import { ObjectType, Field, ID, GraphQLISODateTime } from '@nestjs/graphql'; import { Base } from '@/models/base.model'; @Schema({ timestamps: true }) +@ObjectType() export class Person extends Base { + + @Field(() => ID) + _id: string; + @Prop({ required: true }) + @Field() firstName: string; @Prop({ required: true }) + @Field() surname: string; @Prop({ required: true }) + @Field() middleName: string; @Prop({ required: true }) + @Field() sexCode: string; @Prop({ required: true }) + @Field() personRef: string; @Prop({ required: true }) + @Field() personTag: string; @Prop({ required: true }) + @Field() fatherName: string; @Prop({ required: true }) + @Field() motherName: string; @Prop({ required: true }) + @Field() countryCode: string; - @Prop({ required: true }) + @Prop({ required: true, unique: true }) + @Field() nationalIdentityId: string; @Prop({ required: true }) + @Field() birthPlace: string; @Prop({ required: true }) + @Field(() => GraphQLISODateTime) birthDate: Date; @Prop({ required: true }) + @Field() taxNo: string; @Prop({ required: true }) + @Field() birthname: string; } export type PersonDocument = Person & Document; export const PersonSchema = SchemaFactory.createForClass(Person); + +// PersonSchema.index({ firstName: 1, surname: 1, middleName: 1 }, { unique: true }); +// PersonSchema.index({ nationalIdentityId: 1 }, { unique: true }); diff --git a/backend/src/people/dto/create-person.input.ts b/backend/src/people/dto/create-person.input.ts index 32d5e43..fb9fa6f 100644 --- a/backend/src/people/dto/create-person.input.ts +++ b/backend/src/people/dto/create-person.input.ts @@ -1,7 +1,47 @@ -import { InputType, Field, ID } from '@nestjs/graphql'; - +import { InputType, Field, GraphQLISODateTime } from "@nestjs/graphql"; @InputType() export class CreatePersonInput { + @Field() + firstName: string; + + @Field() + surname: string; + + @Field() + middleName: string; + + @Field() + sexCode: string; + + @Field() + personRef: string; + + @Field() + personTag: string; + + @Field() + fatherName: string; + + @Field() + motherName: string; + + @Field() + countryCode: string; + + @Field() + nationalIdentityId: string; + + @Field() + birthPlace: string; + + @Field(() => GraphQLISODateTime) + birthDate: Date; + + @Field() + taxNo: string; + + @Field() + birthname: string; } diff --git a/backend/src/user-types/dto/create-user-types.input.ts b/backend/src/user-types/dto/create-user-types.input.ts index b1de0e5..42c2f26 100644 --- a/backend/src/user-types/dto/create-user-types.input.ts +++ b/backend/src/user-types/dto/create-user-types.input.ts @@ -1,7 +1,9 @@ -import { InputType, Field, ID } from '@nestjs/graphql'; - +import { InputType, Field } from '@nestjs/graphql'; @InputType() export class CreateUserTypesInput { + @Field() + uuid: string; + } diff --git a/backend/src/user-types/user-types.module.ts b/backend/src/user-types/user-types.module.ts index 07c214d..2961183 100644 --- a/backend/src/user-types/user-types.module.ts +++ b/backend/src/user-types/user-types.module.ts @@ -1,8 +1,11 @@ import { Module } from '@nestjs/common'; import { UserTypesResolver } from './user-types.resolver'; import { UserTypesService } from './user-types.service'; +import { UserTypeSchema, UserType } from '@/models/user-type.model'; +import { MongooseModule } from '@nestjs/mongoose'; @Module({ - providers: [UserTypesResolver, UserTypesService] + imports: [MongooseModule.forFeature([{ name: UserType.name, schema: UserTypeSchema }])], + providers: [UserTypesResolver, UserTypesService], }) -export class UserTypesModule {} +export class UserTypesModule { } diff --git a/backend/src/users/users.module.ts b/backend/src/users/users.module.ts index b948981..28c9716 100644 --- a/backend/src/users/users.module.ts +++ b/backend/src/users/users.module.ts @@ -5,7 +5,9 @@ import { UsersService } from './users.service'; import { UserSchema, User } from '@/models/user.model'; @Module({ - imports: [MongooseModule.forFeature([{ name: User.name, schema: UserSchema }])], - providers: [UsersResolver, UsersService], + imports: [ + MongooseModule.forFeature([{ name: User.name, schema: UserSchema }]) + ], + providers: [UsersService, UsersResolver], }) -export class UsersModule { } \ No newline at end of file +export class UsersModule { }