From eb5bc26e5c29b74799cb5c9736d80ef7e4bb353d Mon Sep 17 00:00:00 2001 From: Michael Schramm Date: Fri, 29 May 2020 18:12:49 +0200 Subject: [PATCH] fix for create --- src/dto/form/form.create.input.ts | 19 ++----------------- src/service/form/form.create.service.ts | 10 ++++++++-- src/service/form/form.update.service.ts | 6 ++++-- 3 files changed, 14 insertions(+), 21 deletions(-) diff --git a/src/dto/form/form.create.input.ts b/src/dto/form/form.create.input.ts index 3bdeddf..0bb361f 100644 --- a/src/dto/form/form.create.input.ts +++ b/src/dto/form/form.create.input.ts @@ -1,23 +1,8 @@ import { Field, ID, InputType } from '@nestjs/graphql'; -import { FormFieldInput } from './form.field.input'; +import { FormUpdateInput } from './form.update.input'; @InputType('FormCreateInput') -export class FormCreateInput { +export class FormCreateInput extends FormUpdateInput { @Field(() => ID, { nullable: true }) readonly id: string - - @Field() - readonly title: string - - @Field() - readonly language: string - - @Field() - readonly showFooter: boolean - - @Field() - readonly isLive: boolean - - @Field(() => [FormFieldInput], { nullable: true }) - readonly fields: FormFieldInput[] } diff --git a/src/service/form/form.create.service.ts b/src/service/form/form.create.service.ts index d0b9a25..d75001b 100644 --- a/src/service/form/form.create.service.ts +++ b/src/service/form/form.create.service.ts @@ -4,15 +4,21 @@ import { Model } from 'mongoose'; import { FormCreateInput } from '../../dto/form/form.create.input'; import { FormDocument, FormSchemaName } from '../../schema/form.schema'; import { UserDocument } from '../../schema/user.schema'; +import { FormUpdateService } from './form.update.service'; @Injectable() export class FormCreateService { constructor( - @InjectModel(FormSchemaName) private formModel: Model, + @InjectModel(FormSchemaName) private readonly formModel: Model, + private readonly updateService: FormUpdateService, ) { } async create(admin: UserDocument, input: FormCreateInput): Promise { - return null + const form = await this.formModel.create({ + admin + }) + + return await this.updateService.update(form, input) } } diff --git a/src/service/form/form.update.service.ts b/src/service/form/form.update.service.ts index 88ff4f6..d6ffc9e 100644 --- a/src/service/form/form.update.service.ts +++ b/src/service/form/form.update.service.ts @@ -26,6 +26,10 @@ export class FormUpdateService { form.set('showFooter', input.showFooter) } + if (input.isLive !== undefined) { + form.set('isLive', input.isLive) + } + const fieldMapping = {} if (input.fields !== undefined) { @@ -48,8 +52,6 @@ export class FormUpdateService { return field })) - console.log('field mapping', fieldMapping) - form.set('fields', nextFields) }