Skip to content

Commit 8e80410

Browse files
committed
CCM-11474: allow nullable default template id
1 parent be63172 commit 8e80410

File tree

9 files changed

+45
-46
lines changed

9 files changed

+45
-46
lines changed

frontend/src/__tests__/components/forms/MessagePlan/MessagePlan.test.tsx

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ const MESSAGE_ORDER_SCENARIOS: [MessageOrder, CascadeItem[], CascadeGroup[]][] =
180180
cascadeGroups: ['standard'],
181181
channel: 'NHSAPP',
182182
channelType: 'primary',
183-
defaultTemplateId: '',
183+
defaultTemplateId: null,
184184
},
185185
],
186186
[{ name: 'standard' }],
@@ -192,13 +192,13 @@ const MESSAGE_ORDER_SCENARIOS: [MessageOrder, CascadeItem[], CascadeGroup[]][] =
192192
cascadeGroups: ['standard'],
193193
channel: 'NHSAPP',
194194
channelType: 'primary',
195-
defaultTemplateId: '',
195+
defaultTemplateId: null,
196196
},
197197
{
198198
cascadeGroups: ['standard'],
199199
channel: 'EMAIL',
200200
channelType: 'primary',
201-
defaultTemplateId: '',
201+
defaultTemplateId: null,
202202
},
203203
],
204204
[{ name: 'standard' }],
@@ -210,13 +210,13 @@ const MESSAGE_ORDER_SCENARIOS: [MessageOrder, CascadeItem[], CascadeGroup[]][] =
210210
cascadeGroups: ['standard'],
211211
channel: 'NHSAPP',
212212
channelType: 'primary',
213-
defaultTemplateId: '',
213+
defaultTemplateId: null,
214214
},
215215
{
216216
cascadeGroups: ['standard'],
217217
channel: 'SMS',
218218
channelType: 'primary',
219-
defaultTemplateId: '',
219+
defaultTemplateId: null,
220220
},
221221
],
222222
[{ name: 'standard' }],
@@ -228,19 +228,19 @@ const MESSAGE_ORDER_SCENARIOS: [MessageOrder, CascadeItem[], CascadeGroup[]][] =
228228
cascadeGroups: ['standard'],
229229
channel: 'NHSAPP',
230230
channelType: 'primary',
231-
defaultTemplateId: '',
231+
defaultTemplateId: null,
232232
},
233233
{
234234
cascadeGroups: ['standard'],
235235
channel: 'EMAIL',
236236
channelType: 'primary',
237-
defaultTemplateId: '',
237+
defaultTemplateId: null,
238238
},
239239
{
240240
cascadeGroups: ['standard'],
241241
channel: 'SMS',
242242
channelType: 'primary',
243-
defaultTemplateId: '',
243+
defaultTemplateId: null,
244244
},
245245
],
246246
[{ name: 'standard' }],
@@ -252,19 +252,19 @@ const MESSAGE_ORDER_SCENARIOS: [MessageOrder, CascadeItem[], CascadeGroup[]][] =
252252
cascadeGroups: ['standard'],
253253
channel: 'NHSAPP',
254254
channelType: 'primary',
255-
defaultTemplateId: '',
255+
defaultTemplateId: null,
256256
},
257257
{
258258
cascadeGroups: ['standard'],
259259
channel: 'SMS',
260260
channelType: 'primary',
261-
defaultTemplateId: '',
261+
defaultTemplateId: null,
262262
},
263263
{
264264
cascadeGroups: ['standard'],
265265
channel: 'EMAIL',
266266
channelType: 'primary',
267-
defaultTemplateId: '',
267+
defaultTemplateId: null,
268268
},
269269
],
270270
[{ name: 'standard' }],
@@ -276,19 +276,19 @@ const MESSAGE_ORDER_SCENARIOS: [MessageOrder, CascadeItem[], CascadeGroup[]][] =
276276
cascadeGroups: ['standard'],
277277
channel: 'NHSAPP',
278278
channelType: 'primary',
279-
defaultTemplateId: '',
279+
defaultTemplateId: null,
280280
},
281281
{
282282
cascadeGroups: ['standard'],
283283
channel: 'SMS',
284284
channelType: 'primary',
285-
defaultTemplateId: '',
285+
defaultTemplateId: null,
286286
},
287287
{
288288
cascadeGroups: ['standard'],
289289
channel: 'LETTER',
290290
channelType: 'primary',
291-
defaultTemplateId: '',
291+
defaultTemplateId: null,
292292
},
293293
],
294294
[{ name: 'standard' }],
@@ -300,25 +300,25 @@ const MESSAGE_ORDER_SCENARIOS: [MessageOrder, CascadeItem[], CascadeGroup[]][] =
300300
cascadeGroups: ['standard'],
301301
channel: 'NHSAPP',
302302
channelType: 'primary',
303-
defaultTemplateId: '',
303+
defaultTemplateId: null,
304304
},
305305
{
306306
cascadeGroups: ['standard'],
307307
channel: 'EMAIL',
308308
channelType: 'primary',
309-
defaultTemplateId: '',
309+
defaultTemplateId: null,
310310
},
311311
{
312312
cascadeGroups: ['standard'],
313313
channel: 'SMS',
314314
channelType: 'primary',
315-
defaultTemplateId: '',
315+
defaultTemplateId: null,
316316
},
317317
{
318318
cascadeGroups: ['standard'],
319319
channel: 'LETTER',
320320
channelType: 'primary',
321-
defaultTemplateId: '',
321+
defaultTemplateId: null,
322322
},
323323
],
324324
[{ name: 'standard' }],
@@ -330,7 +330,7 @@ const MESSAGE_ORDER_SCENARIOS: [MessageOrder, CascadeItem[], CascadeGroup[]][] =
330330
cascadeGroups: ['standard'],
331331
channel: 'LETTER',
332332
channelType: 'primary',
333-
defaultTemplateId: '',
333+
defaultTemplateId: null,
334334
},
335335
],
336336
[{ name: 'standard' }],

frontend/src/__tests__/utils/form-actions.test.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -725,7 +725,7 @@ describe('form-actions', () => {
725725
channelType: 'primary',
726726
channel: 'NHSAPP',
727727
cascadeGroups: ['standard'],
728-
defaultTemplateId: '',
728+
defaultTemplateId: null,
729729
},
730730
],
731731
cascadeGroupOverrides: [{ name: 'standard' }],
@@ -740,7 +740,7 @@ describe('form-actions', () => {
740740
channelType: 'primary',
741741
channel: 'NHSAPP',
742742
cascadeGroups: ['standard'],
743-
defaultTemplateId: '',
743+
defaultTemplateId: null,
744744
},
745745
],
746746
cascadeGroupOverrides: [{ name: 'standard' }],
@@ -761,7 +761,7 @@ describe('form-actions', () => {
761761
channelType: 'primary',
762762
channel: 'NHSAPP',
763763
cascadeGroups: ['standard'],
764-
defaultTemplateId: '',
764+
defaultTemplateId: null,
765765
},
766766
],
767767
cascadeGroupOverrides: [{ name: 'standard' }],
@@ -784,7 +784,7 @@ describe('form-actions', () => {
784784
channelType: 'primary',
785785
channel: 'NHSAPP',
786786
cascadeGroups: ['standard'],
787-
defaultTemplateId: '',
787+
defaultTemplateId: null,
788788
},
789789
],
790790
cascadeGroupOverrides: [{ name: 'standard' }],
@@ -813,7 +813,7 @@ describe('form-actions', () => {
813813
channelType: 'primary',
814814
channel: 'NHSAPP',
815815
cascadeGroups: ['standard'],
816-
defaultTemplateId: '',
816+
defaultTemplateId: null,
817817
},
818818
],
819819
cascadeGroupOverrides: [{ name: 'standard' }],

frontend/src/components/forms/MessagePlan/server-action.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,25 +26,25 @@ const INITIAL_CASCADE_ITEMS: Record<Channel, CascadeItem> = {
2626
cascadeGroups: ['standard'],
2727
channel: 'NHSAPP',
2828
channelType: 'primary',
29-
defaultTemplateId: '',
29+
defaultTemplateId: null,
3030
},
3131
EMAIL: {
3232
cascadeGroups: ['standard'],
3333
channel: 'EMAIL',
3434
channelType: 'primary',
35-
defaultTemplateId: '',
35+
defaultTemplateId: null,
3636
},
3737
SMS: {
3838
cascadeGroups: ['standard'],
3939
channel: 'SMS',
4040
channelType: 'primary',
41-
defaultTemplateId: '',
41+
defaultTemplateId: null,
4242
},
4343
LETTER: {
4444
cascadeGroups: ['standard'],
4545
channel: 'LETTER',
4646
channelType: 'primary',
47-
defaultTemplateId: '',
47+
defaultTemplateId: null,
4848
},
4949
};
5050

infrastructure/terraform/modules/backend-api/spec.tmpl.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -268,6 +268,7 @@
268268
"properties": {
269269
"defaultTemplateId": {
270270
"format": "uuid",
271+
"nullable": true,
271272
"type": "string"
272273
}
273274
},
@@ -350,6 +351,7 @@
350351
},
351352
"templateId": {
352353
"format": "uuid",
354+
"nullable": true,
353355
"type": "string"
354356
}
355357
},
@@ -367,6 +369,7 @@
367369
},
368370
"templateId": {
369371
"format": "uuid",
372+
"nullable": true,
370373
"type": "string"
371374
}
372375
},

lambdas/backend-api/src/__tests__/templates/infra/routing-config-repository/repository.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -716,10 +716,10 @@ describe('RoutingConfigRepository', () => {
716716
issues: expect.arrayContaining([
717717
{
718718
code: 'invalid_value',
719-
values: ['COMPLETED', 'DRAFT', 'DELETED'],
719+
values: ['COMPLETED', 'DELETED', 'DRAFT'],
720720
path: ['status'],
721721
message:
722-
'Invalid option: expected one of "COMPLETED"|"DRAFT"|"DELETED"',
722+
'Invalid option: expected one of "COMPLETED"|"DELETED"|"DRAFT"',
723723
},
724724
]),
725725
}),

lambdas/backend-client/src/__tests__/schemas/__snapshots__/routing-config.test.ts.snap

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -91,13 +91,13 @@ exports[`RoutingConfig schema snapshot full error 1`] = `
9191
"code": "invalid_value",
9292
"values": [
9393
"COMPLETED",
94-
"DRAFT",
95-
"DELETED"
94+
"DELETED",
95+
"DRAFT"
9696
],
9797
"path": [
9898
"status"
9999
],
100-
"message": "Invalid option: expected one of \\"COMPLETED\\"|\\"DRAFT\\"|\\"DELETED\\""
100+
"message": "Invalid option: expected one of \\"COMPLETED\\"|\\"DELETED\\"|\\"DRAFT\\""
101101
},
102102
{
103103
"expected": "string",

lambdas/backend-client/src/schemas/routing-config.ts

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ import {
2424
CASCADE_GROUP_NAME_LIST,
2525
CHANNEL_LIST,
2626
CHANNEL_TYPE_LIST,
27-
ROUTING_CONFIG_STATUS_ACTIVE_LIST,
2827
ROUTING_CONFIG_STATUS_LIST,
2928
} from './union-lists';
3029

@@ -67,15 +66,15 @@ const $ChannelType = schemaFor<ChannelType>()(z.enum(CHANNEL_TYPE_LIST));
6766
const $ConditionalTemplateLanguage = schemaFor<ConditionalTemplateLanguage>()(
6867
z.object({
6968
language: $Language,
70-
templateId: z.string(),
69+
templateId: z.string().nullable(),
7170
})
7271
);
7372

7473
const $ConditionalTemplateAccessible =
7574
schemaFor<ConditionalTemplateAccessible>()(
7675
z.object({
7776
accessibleFormat: $LetterType,
78-
templateId: z.string(),
77+
templateId: z.string().nullable(),
7978
})
8079
);
8180

@@ -89,7 +88,7 @@ const $CascadeItemBase = schemaFor<CascadeItemBase>()(
8988

9089
const $CascadeItemWithDefault = schemaFor<CascadeItemWithDefault>()(
9190
$CascadeItemBase.extend({
92-
defaultTemplateId: z.string(),
91+
defaultTemplateId: z.string().nullable(),
9392
})
9493
).strict();
9594

@@ -122,7 +121,7 @@ const $RoutingConfigStatus = schemaFor<RoutingConfigStatus>()(
122121
);
123122

124123
const $RoutingConfigStatusActive = schemaFor<RoutingConfigStatusActive>()(
125-
z.enum(ROUTING_CONFIG_STATUS_ACTIVE_LIST)
124+
$RoutingConfigStatus.exclude(['DELETED'])
126125
);
127126

128127
export const $RoutingConfig = schemaFor<RoutingConfig>()(

lambdas/backend-client/src/schemas/union-lists.ts

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import {
1111
Language,
1212
LetterType,
1313
RoutingConfigStatus,
14-
RoutingConfigStatusActive,
1514
TemplateStatus,
1615
TemplateType,
1716
VirusScanStatus,
@@ -93,12 +92,10 @@ export const VIRUS_SCAN_STATUS_LIST = arrayOfAll<VirusScanStatus>()([
9392
'PASSED',
9493
]);
9594

96-
export const ROUTING_CONFIG_STATUS_ACTIVE_LIST =
97-
arrayOfAll<RoutingConfigStatusActive>()(['COMPLETED', 'DRAFT']);
98-
9995
export const ROUTING_CONFIG_STATUS_LIST = arrayOfAll<RoutingConfigStatus>()([
100-
...ROUTING_CONFIG_STATUS_ACTIVE_LIST,
96+
'COMPLETED',
10197
'DELETED',
98+
'DRAFT',
10299
]);
103100

104101
export const CHANNEL_TYPE_LIST = arrayOfAll<ChannelType>()([

lambdas/backend-client/src/types/generated/types.gen.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ export type CascadeItemWithConditional = CascadeItemBase & {
6262
};
6363

6464
export type CascadeItemWithDefault = CascadeItemBase & {
65-
defaultTemplateId: string;
65+
defaultTemplateId: string | null;
6666
};
6767

6868
export type Channel = 'EMAIL' | 'LETTER' | 'NHSAPP' | 'SMS';
@@ -90,12 +90,12 @@ export type ClientFeatures = {
9090

9191
export type ConditionalTemplateAccessible = {
9292
accessibleFormat: LetterType;
93-
templateId: string;
93+
templateId: string | null;
9494
};
9595

9696
export type ConditionalTemplateLanguage = {
9797
language: Language;
98-
templateId: string;
98+
templateId: string | null;
9999
};
100100

101101
export type CountSuccess = {

0 commit comments

Comments
 (0)