diff --git a/lib/lambda/processEmailsHandler.test.ts b/lib/lambda/processEmailsHandler.test.ts
index dace4fd42..0eb98d598 100644
--- a/lib/lambda/processEmailsHandler.test.ts
+++ b/lib/lambda/processEmailsHandler.test.ts
@@ -7,12 +7,13 @@ import { Authority } from "shared-types";
import { SIMPLE_ID, WITHDRAW_RAI_ITEM_B, WITHDRAW_RAI_ITEM_C } from "mocks";
const nms = "new-medicaid-submission";
const ncs = "new-chip-submission";
-const tempExtension = "temp-extension";
+const tempExtension = "temporary-extension";
const withdrawPackage = "withdraw-package";
const contractingInitial = "contracting-initial";
const capitatedInitial = "capitated-initial";
const withdrawRai = "withdraw-rai";
const respondToRai = "respond-to-rai";
+const appk = "app-k";
describe("process emails Handler", () => {
it.each([
@@ -131,9 +132,9 @@ describe("process emails Handler", () => {
SIMPLE_ID,
],
[
- `should send an email for ${withdrawPackage} with ${Authority["1915c"]}`,
+ `should send an email for ${appk} with ${Authority["1915c"]}`,
Authority["1915c"],
- withdrawPackage,
+ appk,
SIMPLE_ID,
],
[
@@ -179,9 +180,15 @@ describe("process emails Handler", () => {
SIMPLE_ID,
],
[
- `should send an email for ${capitatedInitial} with ${Authority["1915c"]}`,
+ `should send an email for ${appk} with ${Authority["1915c"]}`,
Authority["1915c"],
- capitatedInitial,
+ appk,
+ SIMPLE_ID,
+ ],
+ [
+ `should send an email for ${appk} with ${Authority["1915b"]}`,
+ Authority["1915b"],
+ appk,
SIMPLE_ID,
],
[
diff --git a/lib/libs/email/content/newSubmission/emailTemplates/AppKCMS.tsx b/lib/libs/email/content/newSubmission/emailTemplates/AppKCMS.tsx
index 0abdffe53..5bb1c55d7 100644
--- a/lib/libs/email/content/newSubmission/emailTemplates/AppKCMS.tsx
+++ b/lib/libs/email/content/newSubmission/emailTemplates/AppKCMS.tsx
@@ -9,7 +9,7 @@ import {
import { BaseEmailTemplate } from "../../email-templates";
import { formatDate } from "shared-utils";
-type AppKEmailProps = Events["NewAppKSubmission"] & CommonEmailVariables;
+type AppKEmailProps = Events["AppKSubmission"] & CommonEmailVariables;
// 1915c - app K
export const AppKCMSEmail = ({ variables }: { variables: AppKEmailProps }) => {
diff --git a/lib/libs/email/content/newSubmission/emailTemplates/AppKState.tsx b/lib/libs/email/content/newSubmission/emailTemplates/AppKState.tsx
index 2d8d2b44b..441314d63 100644
--- a/lib/libs/email/content/newSubmission/emailTemplates/AppKState.tsx
+++ b/lib/libs/email/content/newSubmission/emailTemplates/AppKState.tsx
@@ -12,7 +12,7 @@ import { BaseEmailTemplate } from "../../email-templates";
import { styles } from "../../email-styles";
export const AppKStateEmail = (props: {
- variables: Events["NewAppKSubmission"] & CommonEmailVariables;
+ variables: Events["AppKSubmission"] & CommonEmailVariables;
}) => {
const variables = props.variables;
const previewText = `Appendix K Amendment Submitted`;
diff --git a/lib/libs/email/content/newSubmission/index.tsx b/lib/libs/email/content/newSubmission/index.tsx
index a7a967f2f..6f16ded38 100644
--- a/lib/libs/email/content/newSubmission/index.tsx
+++ b/lib/libs/email/content/newSubmission/index.tsx
@@ -61,31 +61,50 @@ export const newSubmission: AuthoritiesWithUserTypesTemplate = {
variables:
| (Events["CapitatedInitial"] & CommonEmailVariables & { emails: EmailAddresses })
| (Events["ContractingInitial"] & CommonEmailVariables & { emails: EmailAddresses })
- | (Events["CapitatedRenewal"] & CommonEmailVariables & { emails: EmailAddresses }),
+ | (Events["CapitatedRenewal"] & CommonEmailVariables & { emails: EmailAddresses })
+ | (Events["ContractingRenewal"] & CommonEmailVariables & { emails: EmailAddresses })
+ | (Events["CapitatedAmendment"] & CommonEmailVariables & { emails: EmailAddresses })
+ | (Events["ContractingAmendment"] & CommonEmailVariables & { emails: EmailAddresses })
+ | (Events["AppKSubmission"] & CommonEmailVariables & { emails: EmailAddresses }),
) => {
return {
to: variables.emails.osgEmail,
subject: `${variables.authority} ${variables.id} Submitted`,
- body: await render(),
+ body: await render(
+ variables.event === "app-k" ? (
+
+ ) : (
+
+ ),
+ ),
};
},
state: async (
variables:
| (Events["CapitatedInitial"] & CommonEmailVariables & { emails: EmailAddresses })
| (Events["ContractingInitial"] & CommonEmailVariables & { emails: EmailAddresses })
- | (Events["CapitatedRenewal"] & CommonEmailVariables & { emails: EmailAddresses }),
+ | (Events["CapitatedRenewal"] & CommonEmailVariables & { emails: EmailAddresses })
+ | (Events["ContractingRenewal"] & CommonEmailVariables & { emails: EmailAddresses })
+ | (Events["CapitatedAmendment"] & CommonEmailVariables & { emails: EmailAddresses })
+ | (Events["ContractingAmendment"] & CommonEmailVariables & { emails: EmailAddresses })
+ | (Events["AppKSubmission"] & CommonEmailVariables & { emails: EmailAddresses }),
) => {
return {
to: [`${variables.submitterName} <${variables.submitterEmail}>`],
subject: `Your ${variables.authority} ${variables.id} has been submitted to CMS`,
- body: await render(),
+ body: await render(
+ variables.event === "app-k" ? (
+
+ ) : (
+
+ ),
+ ),
};
},
},
-
[Authority["1915c"]]: {
cms: async (
- variables: Events["NewAppKSubmission"] & CommonEmailVariables & { emails: EmailAddresses },
+ variables: Events["AppKSubmission"] & CommonEmailVariables & { emails: EmailAddresses },
) => {
return {
to: variables.emails.osgEmail,
@@ -94,7 +113,7 @@ export const newSubmission: AuthoritiesWithUserTypesTemplate = {
};
},
state: async (
- variables: Events["NewAppKSubmission"] & CommonEmailVariables & { emails: EmailAddresses },
+ variables: Events["AppKSubmission"] & CommonEmailVariables & { emails: EmailAddresses },
) => {
return {
to: [`${variables.submitterName} <${variables.submitterEmail}>`],
diff --git a/lib/libs/email/content/tempExtension/emailTemplates/TempExtCMS.tsx b/lib/libs/email/content/tempExtension/emailTemplates/TempExtCMS.tsx
index 9a7e3a076..72978c26f 100644
--- a/lib/libs/email/content/tempExtension/emailTemplates/TempExtCMS.tsx
+++ b/lib/libs/email/content/tempExtension/emailTemplates/TempExtCMS.tsx
@@ -8,9 +8,9 @@ import {
import { BaseEmailTemplate } from "../../email-templates";
import { formatNinetyDaysDate } from "shared-utils";
-export const TempExtCMSEmail = (props: {
- variables: Events["TempExtension"] & CommonEmailVariables;
-}) => {
+type TempExtCMSEmailProps = Events["TemporaryExtension"] & CommonEmailVariables;
+
+export const TempExtCMSEmail = (props: { variables: TempExtCMSEmailProps }) => {
const variables = props.variables;
const previewText = `Temporary Extension ${variables.id} Submitted`;
const heading = `The Submission Portal received a ${variables.authority} Temporary Extension Submission:`;
diff --git a/lib/libs/email/content/tempExtension/emailTemplates/TempExtState.tsx b/lib/libs/email/content/tempExtension/emailTemplates/TempExtState.tsx
index 8ea90ded5..96cb13c89 100644
--- a/lib/libs/email/content/tempExtension/emailTemplates/TempExtState.tsx
+++ b/lib/libs/email/content/tempExtension/emailTemplates/TempExtState.tsx
@@ -1,10 +1,12 @@
import { formatNinetyDaysDate } from "shared-utils";
-import { CommonEmailVariables } from "shared-types";
+import { CommonEmailVariables, Events } from "shared-types";
import { PackageDetails, MailboxNotice, FollowUpNotice, Attachments } from "../../email-components";
import { BaseEmailTemplate } from "../../email-templates";
-export const TempExtStateEmail = (props: { variables: any & CommonEmailVariables }) => {
+type TempExtStateEmailProps = Events["TemporaryExtension"] & CommonEmailVariables;
+
+export const TempExtStateEmail = (props: { variables: TempExtStateEmailProps }) => {
const variables = props.variables;
const previewText = `Temporary Extension ${variables.id} Submitted`;
const heading =
diff --git a/lib/libs/email/content/tempExtension/index.tsx b/lib/libs/email/content/tempExtension/index.tsx
index b3d4f3f01..9b34859b2 100644
--- a/lib/libs/email/content/tempExtension/index.tsx
+++ b/lib/libs/email/content/tempExtension/index.tsx
@@ -6,7 +6,7 @@ import { TempExtCMSEmail, TempExtStateEmail } from "./emailTemplates";
export const tempExtention: UserTypeOnlyTemplate = {
cms: async (
- variables: Events["TempExtension"] & CommonEmailVariables & { emails: EmailAddresses },
+ variables: Events["TemporaryExtension"] & CommonEmailVariables & { emails: EmailAddresses },
) => {
return {
to: variables.emails.osgEmail,
@@ -15,7 +15,7 @@ export const tempExtention: UserTypeOnlyTemplate = {
};
},
state: async (
- variables: Events["TempExtension"] & CommonEmailVariables & { emails: EmailAddresses },
+ variables: Events["TemporaryExtension"] & CommonEmailVariables & { emails: EmailAddresses },
) => {
return {
to: [`${variables.submitterName} <${variables.submitterEmail}>`],
diff --git a/lib/libs/email/index.ts b/lib/libs/email/index.ts
index ca21f9e4d..57f4d7824 100644
--- a/lib/libs/email/index.ts
+++ b/lib/libs/email/index.ts
@@ -23,7 +23,7 @@ export type AuthoritiesWithUserTypesTemplate = {
export type EmailTemplates = {
"new-medicaid-submission": AuthoritiesWithUserTypesTemplate;
"new-chip-submission": AuthoritiesWithUserTypesTemplate;
- "temp-extension": UserTypeOnlyTemplate;
+ "temporary-extension": UserTypeOnlyTemplate;
"withdraw-package": AuthoritiesWithUserTypesTemplate;
"withdraw-rai": AuthoritiesWithUserTypesTemplate;
"contracting-initial": AuthoritiesWithUserTypesTemplate;
@@ -37,13 +37,14 @@ export type EmailTemplates = {
"contracting-renewal-state": AuthoritiesWithUserTypesTemplate;
"capitated-renewal-state": AuthoritiesWithUserTypesTemplate;
"respond-to-rai": AuthoritiesWithUserTypesTemplate;
+ "app-k": AuthoritiesWithUserTypesTemplate;
};
// Create a type-safe mapping of email templates
const emailTemplates: EmailTemplates = {
"new-medicaid-submission": EmailContent.newSubmission,
"new-chip-submission": EmailContent.newSubmission,
- "temp-extension": EmailContent.tempExtention,
+ "temporary-extension": EmailContent.tempExtention,
"withdraw-package": EmailContent.withdrawPackage,
"withdraw-rai": EmailContent.withdrawRai,
"contracting-initial": EmailContent.newSubmission,
@@ -57,6 +58,7 @@ const emailTemplates: EmailTemplates = {
"contracting-renewal-state": EmailContent.newSubmission,
"capitated-renewal-state": EmailContent.newSubmission,
"respond-to-rai": EmailContent.respondToRai,
+ "app-k": EmailContent.newSubmission,
};
// Create a type-safe lookup function
diff --git a/lib/libs/email/mock-data/temp-extension.ts b/lib/libs/email/mock-data/temp-extension.ts
index 7faf0506e..da3a18a70 100644
--- a/lib/libs/email/mock-data/temp-extension.ts
+++ b/lib/libs/email/mock-data/temp-extension.ts
@@ -3,8 +3,6 @@ export const emailTemplateValue = {
territory: "MD",
id: "MD-2343.R00.TE09",
waiverNumber: "MD-2343.R00.TE00",
- authority: "1915(b)",
- actionType: "Extend",
applicationEndpointUrl: "https://mako-dev.cms.gov/",
get timestamp() {
return Date.now() + 5184000000;
diff --git a/lib/libs/email/preview/InitialSubmissions/CMS/AppK.tsx b/lib/libs/email/preview/InitialSubmissions/CMS/AppK.tsx
new file mode 100644
index 000000000..06b09119e
--- /dev/null
+++ b/lib/libs/email/preview/InitialSubmissions/CMS/AppK.tsx
@@ -0,0 +1,25 @@
+import { AppKCMSEmail } from "../../../content/newSubmission/emailTemplates";
+import { emailTemplateValue } from "../../../mock-data/new-submission";
+import * as attachments from "../../../mock-data/attachments";
+
+const AppKCMSEmailPreview = () => {
+ return (
+
+ );
+};
+
+export default AppKCMSEmailPreview;
diff --git a/lib/libs/email/preview/InitialSubmissions/CMS/Temp_Extension.tsx b/lib/libs/email/preview/InitialSubmissions/CMS/Temp_Extension.tsx
index 3cafcc4b2..90cb98cdc 100644
--- a/lib/libs/email/preview/InitialSubmissions/CMS/Temp_Extension.tsx
+++ b/lib/libs/email/preview/InitialSubmissions/CMS/Temp_Extension.tsx
@@ -6,6 +6,8 @@ const TempExtCMSPreview = () => {
);
diff --git a/lib/libs/email/preview/InitialSubmissions/State/Temp_Extension.tsx b/lib/libs/email/preview/InitialSubmissions/State/Temp_Extension.tsx
index 3a56000dc..871363349 100644
--- a/lib/libs/email/preview/InitialSubmissions/State/Temp_Extension.tsx
+++ b/lib/libs/email/preview/InitialSubmissions/State/Temp_Extension.tsx
@@ -1,5 +1,4 @@
import { emailTemplateValue } from "../../../mock-data/temp-extension";
-
import { TempExtStateEmail } from "../../../content/tempExtension/emailTemplates/TempExtState";
const TempExtStatePreview = () => {
@@ -7,6 +6,8 @@ const TempExtStatePreview = () => {
);
diff --git a/lib/libs/email/preview/Initial_Submissions/CMS/Temp_Extension.tsx b/lib/libs/email/preview/Initial_Submissions/CMS/Temp_Extension.tsx
deleted file mode 100644
index 44c222ebf..000000000
--- a/lib/libs/email/preview/Initial_Submissions/CMS/Temp_Extension.tsx
+++ /dev/null
@@ -1,14 +0,0 @@
-import { TempExtCMSEmail } from "../../../content/tempExtension/emailTemplates";
-import { emailTemplateValue } from "../../../mock-data/temp-extension";
-
-const TempExtCMSPreview = () => {
- return (
-
- );
-};
-
-export default TempExtCMSPreview;
diff --git a/lib/libs/email/types.ts b/lib/libs/email/types.ts
index 011dd7f51..147291601 100644
--- a/lib/libs/email/types.ts
+++ b/lib/libs/email/types.ts
@@ -37,5 +37,5 @@ export interface NewSubmissionTemplateProps {
}
export interface TempExtensionTemplateProps {
- variables: Events["TempExtension"] & CommonEmailVariables;
+ variables: Events["TemporaryExtension"] & CommonEmailVariables;
}
diff --git a/lib/packages/shared-types/events/app-k.ts b/lib/packages/shared-types/events/app-k.ts
index cf258c558..f8cd316bf 100644
--- a/lib/packages/shared-types/events/app-k.ts
+++ b/lib/packages/shared-types/events/app-k.ts
@@ -33,3 +33,5 @@ export const schema = baseSchema.extend({
submitterEmail: z.string().email(),
timestamp: z.number(),
});
+
+export type AppKSubmission = z.infer;
diff --git a/lib/packages/shared-types/events/index.ts b/lib/packages/shared-types/events/index.ts
index 6a61d3a87..c4bc12533 100644
--- a/lib/packages/shared-types/events/index.ts
+++ b/lib/packages/shared-types/events/index.ts
@@ -45,6 +45,7 @@ export const events = {
export type BaseSchemas = z.infer;
export type Events = {
+ AppKSubmission: z.infer;
CapitatedInitial: z.infer;
CapitatedRenewal: z.infer;
CapitatedAmendment: z.infer;
@@ -53,8 +54,7 @@ export type Events = {
ContractingAmendment: z.infer;
NewChipSubmission: z.infer;
NewMedicaidSubmission: z.infer;
- TempExtension: z.infer;
- NewAppKSubmission: z.infer;
+ TemporaryExtension: z.infer;
RespondToRai: z.infer;
UploadSubsequentDocuments: z.infer;
WithdrawPackage: z.infer;