Added form results

This commit is contained in:
2026-03-20 14:09:38 +01:00
parent f7925e6248
commit 6b68570e46
8 changed files with 90 additions and 8 deletions

View File

@@ -9,6 +9,8 @@ import { EventEntity } from './events/events.entity';
import { FormularModule } from './formular/formular.module';
import { FormularEntity } from './formular/formular.entity';
import { FieldEntity } from './formular/fields.entity';
import { FormResultEntity } from './formular/result.entity';
import { FormResultsEntity } from './formular/results.entity';
@Module({
imports: [
@@ -26,7 +28,7 @@ import { FieldEntity } from './formular/fields.entity';
password: process.env.DB_PASSWORD || 'root',
database: process.env.DB_NAME || 'ritzenbergen',
synchronize: true,
entities: [EventEntity, FormularEntity,FieldEntity]
entities: [EventEntity, FormularEntity,FieldEntity,FormResultEntity,FormResultsEntity]
}),
FormularModule,

Submodule src/dto updated: 7a379bf72e...12938c8125

View File

@@ -27,4 +27,12 @@ export class FormularController {
return await this.formularService.getFields(formularid);
}
@Get("/submit/:formularid")
async submit(
@Param("formularid")
formularid:number
){
return await this.formularService.submit(formularid);
}
}

View File

@@ -1,7 +1,8 @@
import { Field, ObjectType } from "@nestjs/graphql";
import { Formular, MyField } from "src/dto/formular.dto";
import { Column, Entity, OneToMany, PrimaryColumn, PrimaryGeneratedColumn } from "typeorm";
import { Formular, FormularResults, MyField } from "src/dto/formular.dto";
import { Column, Entity, ManyToOne, OneToMany, PrimaryColumn, PrimaryGeneratedColumn } from "typeorm";
import { FieldEntity } from "./fields.entity";
import { FormResultsEntity } from "./results.entity";
@ObjectType()
@@ -30,4 +31,8 @@ export class FormularEntity implements Formular{
@Field(()=>[FieldEntity])
@OneToMany(()=>FieldEntity,field=>field.formularObject)
public fields: FieldEntity[];
}
@Field(()=>[FormResultsEntity])
@OneToMany(()=>FormResultsEntity,entity=>entity.formular)
public results: FormResultsEntity[];
}

View File

@@ -4,10 +4,12 @@ import { FormularEntity } from './formular.entity';
import { FormularController } from './formular.controller';
import { FormularService } from './formular.service';
import { FieldEntity } from './fields.entity';
import { FormResultEntity } from './result.entity';
import { FormResultsEntity } from './results.entity';
@Module({
imports:[
TypeOrmModule.forFeature([FormularEntity,FieldEntity])
TypeOrmModule.forFeature([FormularEntity,FieldEntity,FormResultEntity,FormResultsEntity])
],
controllers: [
FormularController

View File

@@ -1,6 +1,7 @@
import { 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';
@@ -11,16 +12,20 @@ export class FormularService {
@InjectRepository(FormularEntity)
private readonly formularRepository: Repository<FormularEntity>,
@InjectRepository(FieldEntity)
private readonly fieldRepository: Repository<FieldEntity>
private readonly fieldRepository: Repository<FieldEntity>,
){}
async getFormulare(): Promise<Formular[]>{
return await this.formularRepository.find({relations: ['fields']});
return await this.formularRepository.find({relations: ['fields',"results","results.results"]});
}
async getFields(
formularid:number
): Promise<MyField[]>{
return await this.fieldRepository.findBy({formular: formularid});
}
async submit(
formularid:number
){
}
}

View File

@@ -0,0 +1,32 @@
import { Field, ObjectType } from "@nestjs/graphql";
import { FormularResult, FormularResults } from "src/dto/formular.dto";
import { Column, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn } from "typeorm";
import { FormResultsEntity } from "./results.entity";
@ObjectType()
@Entity()
export class FormResultEntity implements FormularResult{
@PrimaryGeneratedColumn()
@Field()
id: number;
@Column()
@Field()
parentid: number;
@Field(()=>FormResultsEntity)
@ManyToOne(()=>FormResultsEntity,entity=>entity.id)
@JoinColumn({"name":"parentid"})
parentobj: FormResultsEntity;
@Column()
@Field()
name: string;
@Column()
@Field()
value: string;
}

View File

@@ -0,0 +1,28 @@
import { Field, ObjectType } from "@nestjs/graphql";
import { Formular, FormularResult, FormularResults } from "src/dto/formular.dto";
import { Column, Entity, JoinColumn, ManyToOne, OneToMany, PrimaryGeneratedColumn } from "typeorm";
import { FormularEntity } from "./formular.entity";
import { FormResultEntity } from "./result.entity";
@ObjectType()
@Entity()
export class FormResultsEntity implements FormularResults{
@PrimaryGeneratedColumn()
@Field()
id: number;
@ManyToOne(()=>FormularEntity,entity=>entity.id)
@Field(()=>FormularEntity)
@JoinColumn({name:"formularid"})
formular: FormularEntity;
@Field()
@Column()
formularid: number;
@Field(()=>[FormResultEntity])
@OneToMany(()=>FormResultEntity,entity=>entity.parentobj)
results: FormResultEntity[];
}