import { Inject, Injectable } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; import { FormularEntity } from './formular.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 { constructor( @InjectRepository(FormularEntity) 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{ return await this.formularRepository.find({relations: ['fields',"results","results.results"]}); } async getFields( formularid:number ): Promise{ return await this.fieldRepository.findBy({formular: formularid}); } async submit( 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; } }