File tree Expand file tree Collapse file tree 4 files changed +44
-16
lines changed
infrastructure/terraform/modules/backend-api
backend-api/src/__tests__/templates/app Expand file tree Collapse file tree 4 files changed +44
-16
lines changed Original file line number Diff line number Diff line change 508508 }
509509 }
510510 },
511- "LetterProperties " : {
511+ "CreateLetterProperties " : {
512512 "type" : " object" ,
513513 "required" : [
514514 " letterType" ,
520520 },
521521 "language" : {
522522 "$ref" : " #/components/schemas/Language"
523- },
524- "files" : {
525- "$ref" : " #/components/schemas/LetterFiles"
526523 }
527524 }
528525 },
526+ "LetterProperties" : {
527+ "allOf" : [
528+ {
529+ "$ref" : " #/components/schemas/CreateLetterProperties"
530+ },
531+ {
532+ "type" : " object" ,
533+ "required" : [
534+ " files"
535+ ],
536+ "properties" : {
537+ "files" : {
538+ "$ref" : " #/components/schemas/LetterFiles"
539+ }
540+ }
541+ }
542+ ]
543+ },
529544 "BaseTemplate" : {
530545 "type" : " object" ,
531546 "required" : [
559574 "$ref" : " #/components/schemas/SmsProperties"
560575 },
561576 {
562- "$ref" : " #/components/schemas/LetterProperties "
577+ "$ref" : " #/components/schemas/CreateLetterProperties "
563578 }
564579 ]
565580 }
594609 "$ref" : " #/components/schemas/SmsProperties"
595610 },
596611 {
597- "$ref" : " #/components/schemas/LetterProperties "
612+ "$ref" : " #/components/schemas/CreateLetterProperties "
598613 }
599614 ]
600615 }
Original file line number Diff line number Diff line change 33 LetterFiles ,
44 TemplateDto ,
55 UpdateTemplate ,
6+ ValidatedCreateTemplate ,
67} from 'nhs-notify-backend-client' ;
78import {
89 DatabaseTemplate ,
@@ -237,7 +238,7 @@ describe('templateClient', () => {
237238 } ,
238239 } ;
239240
240- const dataWithFiles : CreateTemplate = {
241+ const dataWithFiles : ValidatedCreateTemplate = {
241242 templateType : 'LETTER' ,
242243 name : 'name' ,
243244 language : 'en' ,
@@ -490,7 +491,7 @@ describe('templateClient', () => {
490491 } ,
491492 } ;
492493
493- const dataWithFiles : CreateTemplate = {
494+ const dataWithFiles : ValidatedCreateTemplate = {
494495 templateType : 'LETTER' ,
495496 name : 'name' ,
496497 language : 'en' ,
@@ -589,7 +590,7 @@ describe('templateClient', () => {
589590 } ,
590591 } ;
591592
592- const dataWithFiles : CreateTemplate = {
593+ const dataWithFiles : ValidatedCreateTemplate = {
593594 templateType : 'LETTER' ,
594595 name : 'name' ,
595596 language : 'en' ,
@@ -682,7 +683,7 @@ describe('templateClient', () => {
682683 } ,
683684 } ;
684685
685- const dataWithFiles : CreateTemplate = {
686+ const dataWithFiles : ValidatedCreateTemplate = {
686687 templateType : 'LETTER' ,
687688 name : 'name' ,
688689 language : 'en' ,
Original file line number Diff line number Diff line change 11import { z } from 'zod' ;
22import {
33 BaseTemplate ,
4+ CreateLetterProperties ,
45 CreateTemplate ,
56 EmailProperties ,
67 FileDetails ,
@@ -102,14 +103,17 @@ const $SmsProperties = schemaFor<SmsProperties>()(
102103 } )
103104) ;
104105
105- const $LetterProperties = schemaFor < LetterProperties > ( ) (
106+ const $CreateLetterProperties = schemaFor < CreateLetterProperties > ( ) (
106107 z . object ( {
107108 letterType : z . enum ( LETTER_TYPE_LIST ) ,
108109 language : z . enum ( LANGUAGE_LIST ) ,
109- files : $LetterFiles . optional ( ) ,
110110 } )
111111) ;
112112
113+ const $LetterProperties = schemaFor < LetterProperties > ( ) (
114+ $CreateLetterProperties . extend ( { files : $LetterFiles } )
115+ ) ;
116+
113117export const $BaseTemplateSchema = schemaFor < BaseTemplate > ( ) (
114118 z . object ( {
115119 name : z . string ( ) . trim ( ) . min ( 1 ) ,
Original file line number Diff line number Diff line change @@ -69,10 +69,13 @@ export type SmsProperties = {
6969 message : string ;
7070} ;
7171
72- export type LetterProperties = {
72+ export type CreateLetterProperties = {
7373 letterType : LetterType ;
7474 language : Language ;
75- files ?: LetterFiles ;
75+ } ;
76+
77+ export type LetterProperties = CreateLetterProperties & {
78+ files : LetterFiles ;
7679} ;
7780
7881export type BaseTemplate = {
@@ -81,11 +84,16 @@ export type BaseTemplate = {
8184} ;
8285
8386export type CreateTemplate = BaseTemplate &
84- ( NhsAppProperties | EmailProperties | SmsProperties | LetterProperties ) ;
87+ ( NhsAppProperties | EmailProperties | SmsProperties | CreateLetterProperties ) ;
8588
8689export type UpdateTemplate = BaseTemplate & {
8790 templateStatus : TemplateStatus ;
88- } & ( NhsAppProperties | EmailProperties | SmsProperties | LetterProperties ) ;
91+ } & (
92+ | NhsAppProperties
93+ | EmailProperties
94+ | SmsProperties
95+ | CreateLetterProperties
96+ ) ;
8997
9098export type TemplateDto = BaseTemplate & {
9199 id : string ;
You can’t perform that action at this time.
0 commit comments