From 2a99323c9109fa6604d3a54938553039f686bfbd Mon Sep 17 00:00:00 2001 From: Jonas Date: Wed, 15 Apr 2026 17:33:44 +0200 Subject: [PATCH] Update Submodules --- .gitmodules | 2 +- src/formular/formular.controller.ts | 22 +++++++++++++---- src/formular/formular.service.ts | 38 ++++++++++++++++++++++++++--- src/formular/result.entity.ts | 6 +++-- 4 files changed, 56 insertions(+), 12 deletions(-) diff --git a/.gitmodules b/.gitmodules index 1b19ede..81c4e8f 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ [submodule "src/dto"] path = src/dto - url = git@github.com:R40fendt/ritzenbergen-dto.git + url = https://git.ritzenbergen.de/Jonas/ritzenbergen-dto.git diff --git a/src/formular/formular.controller.ts b/src/formular/formular.controller.ts index 9a7e5c1..ab89318 100644 --- a/src/formular/formular.controller.ts +++ b/src/formular/formular.controller.ts @@ -1,9 +1,10 @@ -import { Controller, Get, Inject, Param } from '@nestjs/common'; +import { Body, Controller, Get, Inject, Param, Post } from '@nestjs/common'; import { FormularService } from './formular.service'; import { Query } from '@nestjs/graphql'; import { Formular, MyField } from 'src/dto/formular.dto'; import { FormularEntity } from './formular.entity'; import { FieldEntity } from './fields.entity'; +import { ApiBody } from '@nestjs/swagger'; @Controller('/api/formulare') export class FormularController { @@ -27,12 +28,23 @@ export class FormularController { return await this.formularService.getFields(formularid); } - @Get("/submit/:formularid") + @Post("/submit/:formularid") + @ApiBody({ + schema: { + type: 'object', + additionalProperties: { + type: 'string', + }, + }, + }) async submit( @Param("formularid") - formularid:number - ){ - return await this.formularService.submit(formularid); + formularid:number, + + @Body() + body:any + ): Promise{ + return await this.formularService.submit(formularid,Object.keys(body),Object.values(body)); } } diff --git a/src/formular/formular.service.ts b/src/formular/formular.service.ts index 57c92a4..460a943 100644 --- a/src/formular/formular.service.ts +++ b/src/formular/formular.service.ts @@ -1,10 +1,11 @@ -import { Injectable } from '@nestjs/common'; +import { Inject, Injectable } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; import { FormularEntity } from './formular.entity'; -import { FormResultsEntity } from './results.entity'; import { Repository } from 'typeorm'; import { Formular, MyField } from 'src/dto/formular.dto'; import { FieldEntity } from './fields.entity'; +import { FormResultEntity } from './result.entity'; +import { FormResultsEntity } from './results.entity'; @Injectable() export class FormularService { @@ -13,6 +14,10 @@ export class FormularService { private readonly formularRepository: Repository, @InjectRepository(FieldEntity) private readonly fieldRepository: Repository, + @InjectRepository(FormResultsEntity) + private readonly formularResultsRepository: Repository, + @InjectRepository(FormResultEntity) + private readonly formularResultRepository: Repository ){} async getFormulare(): Promise{ @@ -24,8 +29,33 @@ export class FormularService { return await this.fieldRepository.findBy({formular: formularid}); } async submit( - formularid:number - ){ + formularid:number, + names:string[], + values:string[] + ): Promise{ + if(names.length!=values.length) return false; + let formResult=await this.formularResultsRepository.create({ + formular: await this.formularRepository.findBy({id:formularid})[0], + formularid: formularid + } as FormResultsEntity); + + await this.formularResultsRepository.save(formResult); + + let entities=names.map((name,i)=>{ + return { + name, + value: values[i], + parentobj: formResult, + parentid: formResult.id + } as FormResultEntity; + }); + + const formularResult=this.formularResultRepository.create(entities); + + + await this.formularResultRepository.save(formularResult); + + return true; } } diff --git a/src/formular/result.entity.ts b/src/formular/result.entity.ts index 9ec1c8c..e660f45 100644 --- a/src/formular/result.entity.ts +++ b/src/formular/result.entity.ts @@ -1,7 +1,9 @@ import { Field, ObjectType } from "@nestjs/graphql"; -import { FormularResult, FormularResults } from "src/dto/formular.dto"; +import { FormularResult } from "src/dto/formular.dto"; import { Column, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn } from "typeorm"; import { FormResultsEntity } from "./results.entity"; +import { FieldEntity } from "./fields.entity"; +import { RelationIdAttribute } from "typeorm/query-builder/relation-id/RelationIdAttribute.js"; @ObjectType() @@ -21,8 +23,8 @@ export class FormResultEntity implements FormularResult{ @JoinColumn({"name":"parentid"}) parentobj: FormResultsEntity; - @Column() @Field() + @Column() name: string; @Column()