Skip to content

Commit 43f79e3

Browse files
committed
move mergedTemplate to utils
1 parent 19b0731 commit 43f79e3

File tree

4 files changed

+47
-48
lines changed

4 files changed

+47
-48
lines changed

utils/entity-update-command-builder/src/template-update-builder.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import type { TemplateStatus } from 'nhs-notify-backend-client';
22
import { EntityUpdateBuilder } from './domain/entity-update-builder';
33
import { BuilderOptionalArgs } from './types/builders';
4-
import { MergedTemplate } from './types/template';
4+
import { MergedTemplate } from 'nhs-notify-web-template-management-utils';
55

66
export class TemplateUpdateBuilder extends EntityUpdateBuilder<MergedTemplate> {
77
constructor(

utils/entity-update-command-builder/src/types/template.ts

Lines changed: 0 additions & 35 deletions
This file was deleted.

utils/utils/src/domain-types.ts

Whitespace-only changes.

utils/utils/src/types.ts

Lines changed: 46 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,15 @@ import {
33
CreateUpdateLetterProperties,
44
CreateUpdateTemplate,
55
EmailProperties,
6+
Language,
7+
LetterFiles,
68
LetterProperties,
9+
LetterType,
710
NhsAppProperties,
811
SmsProperties,
912
TemplateDto,
13+
TemplateStatus,
14+
TemplateType,
1015
} from 'nhs-notify-backend-client';
1116

1217
export type FormId =
@@ -28,39 +33,43 @@ export type FormState = {
2833
validationError?: FormErrorState;
2934
};
3035

31-
type NhsAppType = {
36+
type NhsAppTemplateType = {
3237
templateType: 'NHS_APP';
3338
};
3439

35-
type EmailType = {
40+
type EmailTemplateType = {
3641
templateType: 'EMAIL';
3742
};
3843

39-
type SmsType = {
44+
type SmsTemplateType = {
4045
templateType: 'SMS';
4146
};
4247

43-
type LetterType = {
48+
type LetterTemplateType = {
4449
templateType: 'LETTER';
4550
};
4651

4752
export type CreateUpdateNHSAppTemplate = CreateUpdateTemplate &
4853
NhsAppProperties &
49-
NhsAppType;
54+
NhsAppTemplateType;
5055
export type CreateUpdateEmailTemplate = CreateUpdateTemplate &
5156
EmailProperties &
52-
EmailType;
57+
EmailTemplateType;
5358
export type CreateUpdateSMSTemplate = CreateUpdateTemplate &
5459
SmsProperties &
55-
SmsType;
60+
SmsTemplateType;
5661
export type CreateUpdateLetterTemplate = CreateUpdateTemplate &
5762
CreateUpdateLetterProperties &
58-
LetterType;
63+
LetterTemplateType;
5964

60-
export type NHSAppTemplate = TemplateDto & NhsAppProperties & NhsAppType;
61-
export type EmailTemplate = TemplateDto & EmailProperties & EmailType;
62-
export type SMSTemplate = TemplateDto & SmsProperties & SmsType;
63-
export type LetterTemplate = TemplateDto & LetterProperties & LetterType;
65+
export type NHSAppTemplate = TemplateDto &
66+
NhsAppProperties &
67+
NhsAppTemplateType;
68+
export type EmailTemplate = TemplateDto & EmailProperties & EmailTemplateType;
69+
export type SMSTemplate = TemplateDto & SmsProperties & SmsTemplateType;
70+
export type LetterTemplate = TemplateDto &
71+
LetterProperties &
72+
LetterTemplateType;
6473

6574
export type TemplateFormState<T = CreateUpdateTemplate | TemplateDto> =
6675
FormState & T;
@@ -102,3 +111,28 @@ export type GuardDutyMalwareScanStatusPassed = Extract<
102111
GuardDutyMalwareScanStatus,
103112
'NO_THREATS_FOUND'
104113
>;
114+
115+
export type MergedTemplate = {
116+
createdAt: string;
117+
files?: LetterFiles;
118+
id: string;
119+
language?: Language;
120+
letterType?: LetterType;
121+
sftpSendLockTime?: number;
122+
message?: string;
123+
name: string;
124+
subject?: string;
125+
templateStatus: TemplateStatus;
126+
templateType: TemplateType;
127+
updatedAt: string;
128+
// owner: string;
129+
// version: number;
130+
};
131+
132+
type AssertExtendsMerged<T extends MergedTemplate> = T;
133+
134+
// assigned only for the purpose of the assertion
135+
type _Asserted = AssertExtendsMerged<LetterTemplate> &
136+
AssertExtendsMerged<NHSAppTemplate> &
137+
AssertExtendsMerged<EmailTemplate> &
138+
AssertExtendsMerged<SMSTemplate>;

0 commit comments

Comments
 (0)