placementt-core 11.0.914 → 11.0.951

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,7 @@
1
1
  import { DocumentData, DocumentReference, Timestamp } from "firebase/firestore";
2
2
  import { Descendant } from "slate";
3
3
  import { emailTemplates } from "./constants";
4
+ import { FilterObject } from "./hooks";
4
5
  export type Products = "institutes" | "providers" | "students" | "admin";
5
6
  export type StudentPlacementData = {
6
7
  title: string;
@@ -355,6 +356,20 @@ export type UserData = {
355
356
  };
356
357
  };
357
358
  alumniConversationUid?: string;
359
+ savedDataViewerFilters?: {
360
+ [cohortId: string]: {
361
+ [key in "cohortPlacements" | "cohortStudents"]: {
362
+ [viewKey: string]: DataViewerFilterView;
363
+ };
364
+ };
365
+ };
366
+ };
367
+ export type DataViewerFilterView = {
368
+ title: string;
369
+ search?: string;
370
+ sort?: string;
371
+ filters?: FilterObject;
372
+ permanent?: boolean;
358
373
  };
359
374
  export type AnalyticsItem = {
360
375
  units?: "placements" | "weeks" | "days" | "hours";
@@ -776,6 +791,11 @@ export type CohortData = {
776
791
  sendType?: "all" | "lastWeek";
777
792
  frequency?: "oneTime" | "weeklyMonday" | "fortnightlyMonday";
778
793
  };
794
+ savedDataViewerFilters?: {
795
+ [key in "cohortPlacements" | "cohortStudents"]: {
796
+ [key: string]: DataViewerFilterView;
797
+ };
798
+ };
779
799
  };
780
800
  export type ArrowObject = {
781
801
  start: number | string;
@@ -1035,7 +1055,7 @@ export type EmailTemplateConfig = {
1035
1055
  text: string;
1036
1056
  link: string;
1037
1057
  };
1038
- type: "workflow" | "feedback";
1058
+ type: "workflow" | "feedback" | "event";
1039
1059
  };
1040
1060
  export type Reminder = {
1041
1061
  collection: "users" | "placements" | "placementListings";
@@ -1074,10 +1094,16 @@ export type SchoolData = OrganisationAddress & {
1074
1094
  export type ExternalEvent = {
1075
1095
  name: string;
1076
1096
  description: string;
1097
+ staffInformation?: string;
1098
+ studentInformation?: string;
1099
+ employerInformation?: string;
1100
+ designatedStaff: string;
1077
1101
  created: string;
1078
1102
  activityId?: string;
1103
+ gatsbyBenchmarks?: string;
1079
1104
  oId: string;
1080
1105
  submissionClose: string;
1106
+ acceptingEmployers?: boolean;
1081
1107
  schoolId?: string;
1082
1108
  startDate?: string;
1083
1109
  endDate?: string;
@@ -1102,6 +1128,23 @@ export type ExternalEvent = {
1102
1128
  [key: string]: unknown;
1103
1129
  };
1104
1130
  };
1131
+ employerFeedback: {
1132
+ files: string[];
1133
+ forms: string[];
1134
+ requiredFiles: {
1135
+ fileName: string;
1136
+ fileType: string;
1137
+ }[];
1138
+ };
1139
+ studentFeedback: {
1140
+ files: string[];
1141
+ forms: string[];
1142
+ requiredFiles: {
1143
+ fileName: string;
1144
+ fileType: string;
1145
+ }[];
1146
+ };
1147
+ completedStages: ("basicDetails" | "employerInvites" | "studentInvites" | "employerSelection" | "feedback")[];
1105
1148
  } & Address;
1106
1149
  export type Alumni = {
1107
1150
  forename: string;
@@ -1176,3 +1219,22 @@ export type Update = {
1176
1219
  date: string;
1177
1220
  imageData?: boolean;
1178
1221
  };
1222
+ export type ExternalEventAttendee = {
1223
+ oId: string;
1224
+ eventId: string;
1225
+ providerContactId: string;
1226
+ status: "invited" | "providerAvailable" | "finalConfirmationSent" | "providerConfirmed" | "feedbackSent";
1227
+ emails: {
1228
+ [k in "invited" | "finalConfirmationSent" | "feedbackSent"]: {
1229
+ sent: number;
1230
+ reconciled: string | boolean;
1231
+ log: {
1232
+ [k: string]: string;
1233
+ };
1234
+ };
1235
+ };
1236
+ attended?: boolean;
1237
+ feedback: {
1238
+ [key: string]: unknown;
1239
+ };
1240
+ };
package/lib/util.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- import { AlumniConversation, FlagCodes, InstituteData, StudentPlacementData, UserData, WorkflowStage } from "./typeDefinitions";
1
+ import { AlumniConversation, EmailTemplateConfig, FlagCodes, InstituteData, StudentPlacementData, UserData, WorkflowStage } from "./typeDefinitions";
2
+ import { Descendant } from "slate";
2
3
  type PlacementFlagCodeParams = {
3
4
  placement: StudentPlacementData;
4
5
  studentData: UserData;
@@ -20,4 +21,27 @@ export declare const getMostRecentAlumniMessage: (conversation: AlumniConversati
20
21
  delivered: "blocked" | "pending" | true;
21
22
  id: string;
22
23
  } | null;
24
+ export declare function buildEmailHTML({ preheader, title, salutation, body, primaryColor, secondaryBody, primaryButton, secondaryButton, primaryImage, designatedStaffEmail, organisationName, params, data }: {
25
+ preheader: string;
26
+ title: string;
27
+ salutation?: string;
28
+ body: string | Descendant[];
29
+ primaryColor?: string;
30
+ secondaryBody?: string;
31
+ primaryButton?: {
32
+ title: string;
33
+ url: string;
34
+ };
35
+ secondaryButton?: {
36
+ title: string;
37
+ url: string;
38
+ };
39
+ primaryImage?: string;
40
+ designatedStaffEmail?: string;
41
+ organisationName?: string;
42
+ params?: EmailTemplateConfig;
43
+ data?: {
44
+ [key: string]: string | undefined;
45
+ };
46
+ }): string;
23
47
  export {};
package/lib/util.js CHANGED
@@ -5,9 +5,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.getMostRecentAlumniMessage = exports.getPlacementFlagCodes = void 0;
7
7
  exports.objectsEqualNew = objectsEqualNew;
8
+ exports.buildEmailHTML = buildEmailHTML;
8
9
  const firestore_1 = require("firebase/firestore");
9
10
  const firebaseQuery_1 = __importDefault(require("./firebase/firebaseQuery"));
10
11
  const util_1 = require("./firebase/util");
12
+ const constants_1 = require("./constants");
11
13
  const getPlacementFlagCodes = async ({ placement, studentData, workflow, institute, user }) => {
12
14
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
13
15
  let flags = placement.flags || [];
@@ -148,4 +150,329 @@ const getMostRecentAlumniMessage = (conversation) => {
148
150
  return mostRecent || null; // Return most recent or null if none found
149
151
  };
150
152
  exports.getMostRecentAlumniMessage = getMostRecentAlumniMessage;
153
+ function buildEmailHTML({ preheader, title, salutation, body, primaryColor = constants_1.PRIMARY_COLOUR, secondaryBody, primaryButton, secondaryButton, primaryImage = "http://cdn.mcauto-images-production.sendgrid.net/d17240a596025cf2/637d5af1-79d2-42c9-a663-e88abfea32b9/686x143.png", designatedStaffEmail, organisationName, params, data }) {
154
+ const serialiseSlate = (nodes) => {
155
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
156
+ return nodes.map((n) => {
157
+ if (n.type === "paragraph") {
158
+ const text = [];
159
+ for (let i = 0; i < n.children.length; i++) {
160
+ const item = n.children[i];
161
+ let subtext = item.text || "<br/>";
162
+ console.log("serialise text", subtext);
163
+ subtext = subtext.replace("​", "");
164
+ if (item.underline) {
165
+ subtext = `<u>${subtext}</u>`;
166
+ }
167
+ if (item.bold) {
168
+ subtext = `<strong>${subtext}</strong>`;
169
+ }
170
+ if (item.italic) {
171
+ subtext = `<i>${subtext}</i>`;
172
+ }
173
+ text.push(subtext);
174
+ }
175
+ return `<div style="font-family: inherit; text-align: inherit">${text.join("")}</div>`;
176
+ }
177
+ return;
178
+ }).filter((a) => a).join("<div style=\"font-family: inherit; text-align: inherit\"><br></div>");
179
+ };
180
+ const getEmailContentFromTemplate = (template, params, data) => {
181
+ let finalBody = typeof template === "string" ? template : serialiseSlate(template);
182
+ console.log("Body before processing", finalBody);
183
+ // Replace all instances of placeholder with actual data.
184
+ [...params.params, ...Object.keys(data)].forEach((param) => {
185
+ console.log(`Replacing {{${param}}} with "${data[param]}"`);
186
+ finalBody = finalBody.replace(`{{${param}}}`, data[param]);
187
+ });
188
+ console.log("Processed body", finalBody);
189
+ // Still have the {{button}} elements to replace. In this case, split the string up between the button elements.
190
+ const itemsInBody = finalBody.split(/(\{\{button\}\})/);
191
+ const itemsInBodyWithFormattedButtons = itemsInBody.map((item) => {
192
+ if (item !== "{{button}}" || !params.button)
193
+ return item;
194
+ let title = params.button.text;
195
+ let url = "https://placementt.co.uk" + params.button.link;
196
+ // Replace any params in the url or title with the relevant data.
197
+ [...params.params, ...Object.keys(data)].forEach((param) => {
198
+ title = title.replace(`{{${param}}}`, data[param]);
199
+ });
200
+ [...params.params, ...Object.keys(data)].forEach((param) => {
201
+ url = url.replace(`{{${param}}}`, data[param]);
202
+ });
203
+ return {
204
+ title: title,
205
+ url: url,
206
+ };
207
+ });
208
+ return itemsInBodyWithFormattedButtons;
209
+ };
210
+ let formattedBody = (params && data) ? "" : body;
211
+ let formattedSecondaryBody = (params && data) ? "" : secondaryBody;
212
+ let formattedPrimaryButton = (params && data) ? undefined : primaryButton;
213
+ let formattedSecondaryButton = (params && data) ? undefined : secondaryButton;
214
+ if (params && data) {
215
+ const processedBody = getEmailContentFromTemplate(body, params, data);
216
+ processedBody.forEach((item) => {
217
+ if (typeof item === "string") {
218
+ if (!formattedBody) {
219
+ formattedBody = item;
220
+ return;
221
+ }
222
+ formattedSecondaryBody = item;
223
+ return;
224
+ }
225
+ // Must be a button
226
+ if (!formattedPrimaryButton) {
227
+ formattedPrimaryButton = item;
228
+ return;
229
+ }
230
+ formattedSecondaryButton = item;
231
+ });
232
+ formattedBody = processedBody[0];
233
+ }
234
+ const emailHeadAndStylesHTML = `
235
+ <head>
236
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
237
+ <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1">
238
+ <!--[if !mso]><!-->
239
+ <meta http-equiv="X-UA-Compatible" content="IE=Edge">
240
+ <!--<![endif]--><!--[if (gte mso 9)|(IE)]>
241
+ <xml>
242
+ <o:OfficeDocumentSettings>
243
+ <o:AllowPNG/>
244
+ <o:PixelsPerInch>96</o:PixelsPerInch>
245
+ </o:OfficeDocumentSettings>
246
+ </xml>
247
+ <![endif]--><!--[if (gte mso 9)|(IE)]>
248
+ <style type="text/css"> body {width: 600px;margin: 0 auto;} table {border-collapse: collapse;} table, td {mso-table-lspace: 0pt;mso-table-rspace: 0pt;} img {-ms-interpolation-mode: bicubic;} </style>
249
+ <![endif]-->
250
+ <style type="text/css"> body, p, div {font-family: inherit;font-size: 14px;} body {color: #000000;} body a {color: #000000;text-decoration: none;} p { margin: 0; padding: 0; } table.wrapper {width:100% !important;table-layout: fixed;-webkit-font-smoothing: antialiased;-webkit-text-size-adjust: 100%;-moz-text-size-adjust: 100%;-ms-text-size-adjust: 100%;} img.max-width {max-width: 100% !important;} .column.of-2 {width: 50%;} .column.of-3 {width: 33.333%;} .column.of-4 {width: 25%;} ul ul ul ul {list-style-type: disc !important;} ol ol {list-style-type: lower-roman !important;} ol ol ol {list-style-type: lower-latin !important;} ol ol ol ol {list-style-type: decimal !important;} @media screen and (max-width:480px) {.preheader .rightColumnContent, .footer .rightColumnContent {text-align: left !important;} .preheader .rightColumnContent div, .preheader .rightColumnContent span, .footer .rightColumnContent div, .footer .rightColumnContent span {text-align: left !important;} .preheader .rightColumnContent, .preheader .leftColumnContent {font-size: 80% !important;padding: 5px 0;} table.wrapper-mobile {width: 100% !important;table-layout: fixed;} img.max-width {height: auto !important;max-width: 100% !important;} a.bulletproof-button {display: block !important;width: auto !important;font-size: 80%;padding-left: 0 !important;padding-right: 0 !important;} .columns {width: 100% !important;} .column {display: block !important;width: 100% !important;padding-left: 0 !important;padding-right: 0 !important;margin-left: 0 !important;margin-right: 0 !important;} .social-icon-column {display: inline-block !important;} } </style>
251
+ <style> @media screen and (max-width:480px) {table\0 {width: 480px !important;} } </style>
252
+ <!--user entered Head Start-->
253
+ <link href="https://fonts.googleapis.com/css?family=Nunito" rel="stylesheet">
254
+ <style> * {font-family: 'nunito', sans-serif;} </style>
255
+ <!--End Head user entered-->
256
+ </head>
257
+ `;
258
+ const primaryButtonTextLinkHTML = formattedPrimaryButton ? `
259
+ <tr>
260
+ <td style="padding:0px 15px 0px 15px; line-height:22px; text-align:inherit;" height="100%" valign="top" bgcolor="" role="module-content">
261
+ <div>
262
+ <div style="font-family: inherit; text-align: inherit">Or go to <a href="${formattedPrimaryButton.url}">${formattedPrimaryButton.url}</a></div>
263
+ <div></div>
264
+ </div>
265
+ </td>
266
+ </tr>` : "";
267
+ const primaryButtonHTML = formattedPrimaryButton ? `
268
+ <tr>
269
+ <td align="center" bgcolor="${primaryColor}" class="inner-td" style="border-radius:6px; font-size:16px; text-align:center; background-color:inherit;"><a href="${formattedPrimaryButton.url}" style="background-color:${primaryColor}; border:1px solid #ffffff; border-color:#ffffff; border-radius:30px; border-width:1px; color:#ffffff; display:inline-block; font-size:16px; font-weight:normal; letter-spacing:0px; line-height:normal; padding:12px 40px 12px 40px; text-align:center; text-decoration:none; border-style:solid; font-family:nunito,sans-serif;" target="_blank">${formattedPrimaryButton.title}</a></td>
270
+ </tr>` : "";
271
+ const secondaryButtonTextHTML = formattedSecondaryButton ? `
272
+ <tr>
273
+ <td align="center" class="inner-td" style="text-align:center; background-color:inherit;"><a href="${formattedSecondaryButton.url}" style="display:inline-block; font-weight:normal; color:#aeaeae; letter-spacing:0px; line-height:normal; text-align:center; text-decoration:none; font-family:nunito,sans-serif;" target="_blank">${formattedSecondaryButton.title}</a></td>
274
+ </tr>` : "";
275
+ const buttonTableHTML = (primaryButtonHTML || secondaryButtonTextHTML) ? `
276
+ <table border="0" cellpadding="0" cellspacing="0" class="module" data-role="module-button" data-type="button" role="module" style="table-layout:fixed;" width="100%" data-muid="3757586a-ce69-48ba-bd9a-0c0b7937a616">
277
+ <tbody>
278
+ <tr>
279
+ <td align="center" bgcolor="" class="outer-td" style="padding:0px 0px 40px 0px;">
280
+ <table border="0" cellpadding="0" cellspacing="0" class="wrapper-mobile" style="text-align:center;">
281
+ <tbody>
282
+ ${primaryButtonHTML}
283
+ ${secondaryButtonTextHTML}
284
+ </tbody>
285
+ </table>
286
+ </td>
287
+ </tr>
288
+ ${primaryButtonTextLinkHTML}
289
+ </tbody>
290
+ </table>` : "";
291
+ const secondaryBodyHTML = formattedSecondaryBody ? `
292
+ <table class="module" role="module" data-type="text" border="0" cellpadding="0" cellspacing="0" width="100%" style="table-layout: fixed;" data-muid="c589a68d-fd31-4291-b822-cddb80753f13" data-mc-module-version="2019-10-22">
293
+ <tbody>
294
+ <tr>
295
+ <td style="padding:0px 15px 0px 15px; line-height:22px; text-align:inherit;" height="100%" valign="top" bgcolor="" role="module-content">
296
+ <div>
297
+ <div style="font-family: inherit; text-align: inherit"><br></div>
298
+ <div style="font-family: inherit; text-align: inherit">${formattedSecondaryBody}</div>
299
+ <div></div>
300
+ </div>
301
+ </td>
302
+ </tr>
303
+ </tbody>
304
+ </table>` : "";
305
+ const organisationContactSentence = (designatedStaffEmail || organisationName) ?
306
+ `
307
+ <table class="module" role="module" data-type="text" border="0" cellpadding="0" cellspacing="0" width="100%" style="table-layout: fixed;" data-muid="50de54bb-94d0-4d21-a7f2-100719150961" data-mc-module-version="2019-10-22">
308
+ <tbody>
309
+ <tr>
310
+ <td style="padding:0px 15px 18px 15px; line-height:22px; text-align:inherit;" height="100%" valign="top" bgcolor="" role="module-content">
311
+ <div>
312
+
313
+ <div style="font-family: inherit; text-align: inherit">
314
+
315
+ ${organisationName ? `<span style="color: #aeaeae">This email was sent by Placementt on behalf of ${organisationName}.</span>` :
316
+ designatedStaffEmail ? `Please do not reply directly to this email. For any queries, contact <a href="mailto:${designatedStaffEmail}">${designatedStaffEmail}</a>` : ""}
317
+ </div>
318
+ </div>
319
+ </td>
320
+ </tr>
321
+ </tbody>
322
+ </table>` :
323
+ "";
324
+ return `<html data-editor-version="2" class="sg-campaigns" xmlns="http://www.w3.org/1999/xhtml">
325
+ ${emailHeadAndStylesHTML}
326
+ <body>
327
+ <center class="wrapper" data-link-color="#000000" data-body-style="font-size:14px; font-family:inherit; color:#000000; background-color:#F9F4FF;">
328
+ <div class="webkit">
329
+ <table cellpadding="0" cellspacing="0" border="0" width="100%" class="wrapper" bgcolor="#F9F4FF">
330
+ <tbody>
331
+ <tr>
332
+ <td valign="top" bgcolor="#F9F4FF" width="100%">
333
+ <table width="100%" role="content-container" class="outer" align="center" cellpadding="0" cellspacing="0" border="0">
334
+ <tbody>
335
+ <tr>
336
+ <td width="100%">
337
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
338
+ <tbody>
339
+ <tr>
340
+ <td>
341
+ <!--[if mso]>
342
+ <center>
343
+ <table>
344
+ <tr>
345
+ <td width="600">
346
+ <![endif]-->
347
+ <table width="100%" cellpadding="0" cellspacing="0" border="0" style="width:100%; max-width:600px;" align="center">
348
+ <tbody>
349
+ <tr>
350
+ <td role="modules-container" style="padding:0px 0px 0px 0px; color:#000000; text-align:left;" bgcolor="#ffffff" width="100%" align="left">
351
+ <table class="module preheader preheader-hide" role="module" data-type="preheader" border="0" cellpadding="0" cellspacing="0" width="100%" style="display: none !important; mso-hide: all; visibility: hidden; opacity: 0; color: transparent; height: 0; width: 0;">
352
+ <tbody>
353
+ <tr>
354
+ <td role="module-content">
355
+ <p>${preheader}</p>
356
+ </td>
357
+ </tr>
358
+ </tbody>
359
+ </table>
360
+ <table border="0" cellpadding="0" cellspacing="0" align="center" width="100%" role="module" data-type="columns" style="padding:20px 0px 20px 0px;" bgcolor="#ffffff" data-distribution="1">
361
+ <tbody>
362
+ <tr role="module-content">
363
+ <td height="100%" valign="top">
364
+ <table width="600" style="width:600px; border-spacing:0; border-collapse:collapse; margin:0px 0px 0px 0px;" cellpadding="0" cellspacing="0" align="left" border="0" bgcolor="" class="column column-0">
365
+ <tbody>
366
+ <tr>
367
+ <td style="padding:0px;margin:0px;border-spacing:0;">
368
+ <table class="wrapper" role="module" data-type="image" border="0" cellpadding="0" cellspacing="0" width="100%" style="table-layout: fixed;" data-muid="9f29c991-6500-41ef-9f0e-d56cb5dc1238">
369
+ <tbody>
370
+ <tr>
371
+ <td style="font-size:6px; line-height:10px; padding:0px 0px 0px 0px;" valign="top" align="center"><img class="max-width" border="0" style="display:block; color:#000000; text-decoration:none; font-family:Helvetica, arial, sans-serif; font-size:16px; max-width:52% !important; width:52%; height:auto !important; max-height: 100px; object-fit: contain" width="312" alt="" data-proportionally-constrained="false" data-responsive="true" src="${primaryImage}"></td>
372
+ </tr>
373
+ </tbody>
374
+ </table>
375
+ </td>
376
+ </tr>
377
+ </tbody>
378
+ </table>
379
+ </td>
380
+ </tr>
381
+ </tbody>
382
+ </table>
383
+ <table class="module" role="module" data-type="text" border="0" cellpadding="0" cellspacing="0" width="100%" style="table-layout: fixed;" data-muid="b35b8ff4-8b3c-4b35-9ed3-f9f25170affc" data-mc-module-version="2019-10-22">
384
+ <tbody>
385
+ <tr>
386
+ <td style="padding:20px 20px 18px 20px; line-height:28px; text-align:inherit;" height="100%" valign="top" bgcolor="" role="module-content">
387
+ <div>
388
+ <div style="font-family: nunito, sans-serif; text-align: center"><span style="font-size: 24px; font-family: inherit">${title}</span></div>
389
+ <div></div>
390
+ </div>
391
+ </td>
392
+ </tr>
393
+ </tbody>
394
+ </table>
395
+ <table class="module" role="module" data-type="text" border="0" cellpadding="0" cellspacing="0" width="100%" style="table-layout: fixed;" data-muid="c589a68d-fd31-4291-b822-cddb80753f13" data-mc-module-version="2019-10-22">
396
+ <tbody>
397
+ <tr>
398
+ <td style="padding:18px 15px 18px 15px; line-height:22px; text-align:inherit;" height="100%" valign="top" bgcolor="" role="module-content">
399
+ <div>
400
+ ${salutation ? `<div style="font-family: inherit; text-align: inherit"><span style="color: #000000; font-family: Colfax, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline">${salutation},</span></div><div style="font-family: inherit; text-align: inherit"><br></div>` : ""}
401
+ <div style="font-family: inherit; text-align: inherit">${formattedBody}</div>
402
+ <div></div>
403
+ </div>
404
+ </td>
405
+ </tr>
406
+ </tbody>
407
+ </table>
408
+ ${buttonTableHTML}
409
+ ${secondaryBodyHTML}
410
+ <table class="module" role="module" data-type="text" border="0" cellpadding="0" cellspacing="0" width="100%" style="table-layout: fixed;" data-muid="50de54bb-94d0-4d21-a7f2-100719150961" data-mc-module-version="2019-10-22">
411
+ <tbody>
412
+ <tr>
413
+ <td style="padding:18px 15px 9px 15px; line-height:22px; text-align:inherit;" height="100%" valign="top" bgcolor="" role="module-content">
414
+ <div>
415
+ <div style="font-family: inherit; text-align: inherit"><span style="color: #aeaeae">If you do not recognise this email, you can safely ignore it.</span></div>
416
+ <div></div>
417
+ </div>
418
+ </td>
419
+ </tr>
420
+ </tbody>
421
+ </table>
422
+ ${organisationContactSentence}
423
+ <table border="0" cellpadding="0" cellspacing="0" align="center" width="100%" role="module" data-type="columns" style="padding:0px 0px 0px 0px;" bgcolor="#FFFFFF" data-distribution="1">
424
+ <tbody>
425
+ <tr role="module-content">
426
+ <td height="100%" valign="top">
427
+ <table width="600" style="width:600px; border-spacing:0; border-collapse:collapse; margin:0px 0px 0px 0px;" cellpadding="0" cellspacing="0" align="left" border="0" bgcolor="" class="column column-0">
428
+ <tbody>
429
+ <tr>
430
+ <td style="padding:0px;margin:0px;border-spacing:0;">
431
+ <table class="module" role="module" data-type="text" border="0" cellpadding="0" cellspacing="0" width="100%" style="table-layout: fixed;" data-muid="a49405df-a253-4a28-8d3d-be95449c7d30" data-mc-module-version="2019-10-22">
432
+ <tbody>
433
+ <tr>
434
+ <td style="padding:18px 0px 18px 0px; line-height:0px; text-align:inherit; background-color:${primaryColor};" height="100%" valign="top" bgcolor="${primaryColor}" role="module-content">
435
+ <div>
436
+ <div style="font-family: inherit; text-align: center"><a href="http://"><span style="font-size: 12px; color: #ffffff; font-family: inherit">www.placementt.co.uk</span></a></div>
437
+ <div></div>
438
+ </div>
439
+ </td>
440
+ </tr>
441
+ </tbody>
442
+ </table>
443
+ </td>
444
+ </tr>
445
+ </tbody>
446
+ </table>
447
+ </td>
448
+ </tr>
449
+ </tbody>
450
+ </table>
451
+ </td>
452
+ </tr>
453
+ </tbody>
454
+ </table>
455
+ <!--[if mso]>
456
+ </td>
457
+ </tr>
458
+ </table>
459
+ </center>
460
+ <![endif]-->
461
+ </td>
462
+ </tr>
463
+ </tbody>
464
+ </table>
465
+ </td>
466
+ </tr>
467
+ </tbody>
468
+ </table>
469
+ </td>
470
+ </tr>
471
+ </tbody>
472
+ </table>
473
+ </div>
474
+ </center>
475
+ </body>
476
+ </html>`;
477
+ }
151
478
  //# sourceMappingURL=util.js.map
package/lib/util.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";;;;;;AAwHA,0CAyCC;AAoBD,wCAqVC;AA1gBD,kDAAyC;AACzC,6EAAqD;AAErD,0CAA4C;AAE5C,2CAA2C;AAgBpC,MAAM,qBAAqB,GAAG,KAAK,EAAE,EAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAA0B,EAAsB,EAAE;;IAC5I,IAAI,KAAK,GAAe,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;IAE9C,MAAM,aAAa,GAAG,IAAI,uBAAa,EAAE,CAAC;IAE1C,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC;QACtF,IAAI,CAAA,MAAA,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,MAAM,CAAC,0CAAE,QAAQ,MAAK,QAAQ,EAAE,CAAC;YAC7E,KAAK,CAAC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC/E,CAAC;aAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,EAAE,CAAC;YAC3D,KAAK,CAAC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC/E,CAAC;IACL,CAAC;IAED,sDAAsD;IACtD,MAAM,6BAA6B,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;IAC/F,MAAM,iBAAiB,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;IACpF,MAAM,kBAAkB,GAAG,SAAS,CAAC,iBAAiB,IAAI,CAAC,CAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,iBAAiB,0CAAE,QAAQ,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAA,CAAC;IAC/H,MAAM,yBAAyB,GAAG,SAAS,CAAC,iBAAiB,KAAI,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,yBAAyB,0CAAE,QAAQ,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAA,CAAC;IAE7I,MAAM,yBAAyB,GAAG,CAAC,CAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,uBAAuB,0CAAE,QAAQ,CAAC,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,EAAE,CAAC,CAAA,CAAC;IACvH,MAAM,sBAAsB,GAAG,CAAC,SAAS,CAAC,cAAc,KAAI,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,gCAAgC,0CAAE,QAAQ,CAAC,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,EAAE,CAAC,CAAA,CAAC;IAEzJ,MAAM,mBAAmB,GAAG,CAAC,CAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,iBAAiB,0CAAE,QAAQ,CAAC,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,EAAE,CAAC,CAAA,CAAC;IAC3G,MAAM,gBAAgB,GAAG,CAAC,SAAS,CAAC,QAAQ,KAAI,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,0BAA0B,0CAAE,QAAQ,CAAC,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,EAAE,CAAC,CAAA,CAAC;IAEvI,MAAM,aAAa,GAAG,CAAC,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,IAAA,iBAAK,EAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,IAAA,iBAAK,EAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,IAAA,iBAAK,EAAC,SAAS,EAAE,IAAI,EAAE,IAAA,kBAAW,EAAC,IAAI,IAAI,EAAE,EAAE,UAAU,CAAW,CAAC,EAAE,IAAA,iBAAK,EAAC,YAAY,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,IAAA,iBAAK,EAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAEpR,IAAI,aAAa,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,IAAI,CAAC,OAAO,KAAK,YAAY,IAAI,SAAS,CAAC,SAAS,IAAI,6BAA6B,IAAI,iBAAiB,IAAI,kBAAkB,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAC9L,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACnC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC/D,CAAC;SAAM,CAAC;QACJ,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,SAAS,CAAC,UAAU,KAAK,WAAW,EAAE,CAAC;QACvE,KAAK,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC7E,CAAC;SAAM,CAAC;QACJ,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,oBAAoB,CAAC,CAAC;IAC5D,CAAC;IAGD,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,IAAI,CAAC,OAAO,KAAK,YAAY,IAAI,6BAA6B,IAAI,iBAAiB,IAAI,yBAAyB,EAAE,CAAC;QAChJ,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC3E,CAAC;SAAM,CAAC;QACJ,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,mBAAmB,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,IAAI,CAAC,OAAO,KAAK,YAAY,IAAI,SAAS,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,QAAQ,KAAK,IAAI,IAAI,6BAA6B,IAAI,iBAAiB,IAAI,mBAAmB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAChQ,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC7D,CAAC;SAAM,CAAC;QACJ,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,IAAI,CAAC,OAAO,KAAK,YAAY,IAAI,6BAA6B,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,iBAAiB,IAAI,yBAAyB,EAAE,CAAC;QAC5L,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACzE,CAAC;SAAM,CAAC;QACJ,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,kBAAkB,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,IAAI,CAAC,OAAO,KAAK,YAAY,IAAI,SAAS,CAAC,cAAc,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,SAAS,CAAC,cAAc,KAAK,IAAI,IAAI,6BAA6B,IAAI,iBAAiB,IAAI,yBAAyB,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9R,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC5B,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACzE,CAAC;SAAM,CAAC;QACJ,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,kBAAkB,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,IAAI,CAAC,OAAO,KAAK,YAAY,IAAI,6BAA6B,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,iBAAiB,IAAI,yBAAyB,EAAE,CAAC;QAClM,KAAK,CAAC,QAAQ,CAAC,wBAAwB,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACrF,CAAC;SAAM,CAAC;QACJ,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,wBAAwB,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QAC1J,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACnE,CAAC;SAAM,CAAC;QACJ,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,eAAe,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,UAAU,IAAI,CAAC,CAAA,MAAA,SAAS,CAAC,UAAU,CAAC,SAAS,0CAAE,SAAS,KAAI,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1R,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACzE,CAAC;SAAM,CAAC;QACJ,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,kBAAkB,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,KAAK,UAAU,IAAI,SAAS,CAAC,UAAU,IAAI,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,IAAI,CAAC,CAAA,MAAA,SAAS,CAAC,UAAU,CAAC,SAAS,0CAAE,SAAS,CAAA,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QACpP,KAAK,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC7E,CAAC;SAAM,CAAC;QACJ,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,oBAAoB,CAAC,CAAC;IAC5D,CAAC;IAGD,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAhGW,QAAA,qBAAqB,yBAgGhC;AAGF,SAAgB,eAAe,CAAC,CAAM,EAAE,CAAM;IAC1C,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACV,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,OAAO,CAAC,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/B,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QAC7E,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAE7B,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACnC,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAEM,MAAM,0BAA0B,GAAG,CAAC,YAAgC,EAAE,EAAE;IAC3E,MAAM,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC;IAElC,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,OAAO,IAAI,CAAC,CAAC,wBAAwB;IACvC,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;SACxC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QACvB,EAAE;QACF,GAAG,OAAO;KACX,CAAC,CAAC;SACF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAElF,OAAO,UAAU,IAAI,IAAI,CAAC,CAAC,2CAA2C;AACxE,CAAC,CAAC;AAfS,QAAA,0BAA0B,8BAenC;AAGJ,SAAgB,cAAc,CAAC,EAAC,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,GAAC,0BAAc,EAAE,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,YAAY,GAAC,oHAAoH,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAA0X;IAC7rB,MAAM,cAAc,GAAG,CAAC,KAAmB,EAAE,EAAE;QAC3C,8DAA8D;QAC9D,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAK,EAAE,EAAE;YACvB,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACzB,MAAM,IAAI,GAAU,EAAE,CAAC;gBACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACzC,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAC3B,IAAI,OAAO,GAAG,IAAI,CAAC,IAAc,IAAI,OAAO,CAAC;oBAC7C,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;oBAEvC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBACnC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;wBACjB,OAAO,GAAG,MAAM,OAAO,MAAM,CAAC;oBAClC,CAAC;oBACD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;wBACZ,OAAO,GAAG,WAAW,OAAO,WAAW,CAAC;oBAC5C,CAAC;oBACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;wBACd,OAAO,GAAG,MAAM,OAAO,MAAM,CAAC;oBAClC,CAAC;oBACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACvB,CAAC;gBACD,OAAO,0DAA0D,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC;YAC3F,CAAC;YACD,OAAO;QACX,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;IACpG,CAAC,CAAC;IAEF,MAAM,2BAA2B,GAAG,CAAC,QAA6B,EAAE,MAA2B,EAAE,IAAuC,EAAE,EAAE;QACxI,IAAI,SAAS,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACnF,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAC;QAEjD,yDAAyD;QACzD,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACvD,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,YAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5D,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,CAAW,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;QACzC,gHAAgH;QAChH,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAExD,MAAM,+BAA+B,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAC7D,IAAI,IAAI,KAAK,YAAY,IAAI,CAAC,MAAM,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;YAEzD,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;YAC/B,IAAI,GAAG,GAAG,0BAA0B,GAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;YAExD,iEAAiE;YACjE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBACvD,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,CAAW,CAAC,CAAC;YACjE,CAAC,CAAC,CAAC;YACH,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBACvD,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,CAAW,CAAC,CAAC;YAC7D,CAAC,CAAC,CAAC;YACH,OAAO;gBACH,KAAK,EAAE,KAAK;gBACZ,GAAG,EAAE,GAAG;aACX,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,OAAO,+BAA+B,CAAC;IAC3C,CAAC,CAAC;IAEF,IAAI,aAAa,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACjD,IAAI,sBAAsB,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;IACnE,IAAI,sBAAsB,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC;IAC1E,IAAI,wBAAwB,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC;IAE9E,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;QACjB,MAAM,aAAa,GAAG,2BAA2B,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAEtE,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC3B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3B,IAAI,CAAC,aAAa,EAAE,CAAC;oBACjB,aAAa,GAAG,IAAI,CAAC;oBACrB,OAAO;gBACX,CAAC;gBACD,sBAAsB,GAAG,IAAI,CAAC;gBAC9B,OAAO;YACX,CAAC;YACD,mBAAmB;YACnB,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAC1B,sBAAsB,GAAG,IAAI,CAAC;gBAC9B,OAAO;YACX,CAAC;YACD,wBAAwB,GAAG,IAAI,CAAC;QACpC,CAAC,CAAC,CAAC;QACH,aAAa,GAAG,aAAa,CAAC,CAAC,CAAW,CAAC;IAC/C,CAAC;IAED,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;;;;;SAuB1B,CAAC;IAEN,MAAM,yBAAyB,GAAG,sBAAsB,CAAC,CAAC,CAAC;;;;+FAIgC,sBAAsB,CAAC,GAAG,KAAK,sBAAsB,CAAC,GAAG;;;;kBAItI,CAAC,CAAC,CAAC,EAAE,CAAC;IAEpB,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,CAAC,CAAC;;8CAET,YAAY,uHAAuH,sBAAsB,CAAC,GAAG,6BAA6B,YAAY,sVAAsV,sBAAsB,CAAC,KAAK;kBACplB,CAAC,CAAC,CAAC,EAAE,CAAC;IAEpB,MAAM,uBAAuB,GAAG,wBAAwB,CAAC,CAAC,CAAC;;oHAEqD,wBAAwB,CAAC,GAAG,sMAAsM,wBAAwB,CAAC,KAAK;kBAClW,CAAC,CAAC,CAAC,EAAE,CAAC;IAEpB,MAAM,eAAe,GAAG,CAAC,iBAAiB,IAAI,uBAAuB,CAAC,CAAC,CAAC,CAAC;;;;;;;kCAO3C,iBAAiB;kCACjB,uBAAuB;;;;;sBAKnC,yBAAyB;;qBAE1B,CAAC,CAAC,CAAC,EAAE,CAAC;IAEvB,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,CAAC,CAAC;;;;;;;qFAO8B,sBAAsB;;;;;;qBAMtF,CAAC,CAAC,CAAC,EAAE,CAAC;IAEvB,MAAM,2BAA2B,GAAG,CAAC,oBAAoB,IAAI,gBAAgB,CAAC,CAAC,CAAC;QAC5E;;;;;;;;;kCAS0B,gBAAgB,CAAC,CAAC,CAAC,+EAA+E,gBAAgB,UAAU,CAAC,CAAC;YACxJ,oBAAoB,CAAC,CAAC,CAAC,wFAAwF,oBAAoB,KAAK,oBAAoB,MAAM,CAAC,CAAC,CAAC,EAAE;;;;;;qBAM1J,CAAC,CAAC;QACf,EAAE,CAAC;IAEP,OAAO;KACN,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yFA8B8D,SAAS;;;;;;;;;;;;;;;;giBAgB8b,YAAY;;;;;;;;;;;;;;;;;8MAiB9V,KAAK;;;;;;;;;;;;yFAY1H,UAAU,CAAC,CAAC,CAAC,wlBAAwlB,UAAU,iFAAiF,CAAC,CAAC,CAAC,EAAE;gJAC9oB,aAAa;;;;;;;0EAOnF,eAAe;0EACf,iBAAiB;;;;;;;;;;;;;0EAajB,2BAA2B;;;;;;;;;;;;uMAYkG,YAAY,0CAA0C,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA0CjQ,CAAC;AACT,CAAC"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "private": false,
3
3
  "name": "placementt-core",
4
4
  "author": "Placementt",
5
- "version": "11.0.914",
5
+ "version": "11.0.951",
6
6
  "main": "lib/index.js",
7
7
  "types": "lib/index.d.ts",
8
8
  "scripts": {
package/src/constants.ts CHANGED
@@ -784,6 +784,53 @@ export const emailTemplates:{[key: string]: EmailTemplateConfig} = {
784
784
  params: ["studentForename", "studentSurname", "studentEmail", "parentEmail", "instituteName", "cohortContactForename", "cohortContactSurname", "cohortContactEmail"],
785
785
  type: "feedback"
786
786
  },
787
+
788
+
789
+ employerEventInvite: {
790
+ description: "Send to employers/alumni inviting them to an event",
791
+ params: ["instituteName", "instituteContactForename", "instituteContactSurname", "instituteContactEmail", "forename", "surname", "providerEmail", "eventName", "startDate", "endDate"],
792
+ type: "event"
793
+ },
794
+ employerEventFinalConfirmation: {
795
+ description: "Send to the parent once the students account is activated.",
796
+ params: ["studentForename", "studentSurname", "studentEmail", "parentEmail", "instituteName", "cohortContactForename", "cohortContactSurname", "cohortContactEmail"],
797
+ type: "event"
798
+ },
799
+ employerEventConfirmationStudentMatch: {
800
+ description: "Send to the parent once the students account is activated.",
801
+ params: ["studentForename", "studentSurname", "studentEmail", "parentEmail", "instituteName", "cohortContactForename", "cohortContactSurname", "cohortContactEmail"],
802
+ type: "event"
803
+ },
804
+ employerEventInviteConfirmationGeneric: {
805
+ description: "Send to the parent once the students account is activated.",
806
+ params: ["studentForename", "studentSurname", "studentEmail", "parentEmail", "instituteName", "cohortContactForename", "cohortContactSurname", "cohortContactEmail"],
807
+ type: "event"
808
+ },
809
+ studentEventInvite: {
810
+ description: "Send to the parent once the students account is activated.",
811
+ params: ["studentForename", "studentSurname", "studentEmail", "parentEmail", "instituteName", "cohortContactForename", "cohortContactSurname", "cohortContactEmail"],
812
+ type: "event"
813
+ },
814
+ studentEventConfirmationEmployerMatch: {
815
+ description: "Send to the parent once the students account is activated.",
816
+ params: ["studentForename", "studentSurname", "studentEmail", "parentEmail", "instituteName", "cohortContactForename", "cohortContactSurname", "cohortContactEmail"],
817
+ type: "event"
818
+ },
819
+ studentEventInviteConfirmationGeneric: {
820
+ description: "Send to the parent once the students account is activated.",
821
+ params: ["studentForename", "studentSurname", "studentEmail", "parentEmail", "instituteName", "cohortContactForename", "cohortContactSurname", "cohortContactEmail"],
822
+ type: "event"
823
+ },
824
+ studentEventFeedback: {
825
+ description: "Send to the parent once the students account is activated.",
826
+ params: ["studentForename", "studentSurname", "studentEmail", "parentEmail", "instituteName", "cohortContactForename", "cohortContactSurname", "cohortContactEmail"],
827
+ type: "event"
828
+ },
829
+ employerEventFeedback: {
830
+ description: "Send to the parent once the students account is activated.",
831
+ params: ["studentForename", "studentSurname", "studentEmail", "parentEmail", "instituteName", "cohortContactForename", "cohortContactSurname", "cohortContactEmail"],
832
+ type: "event"
833
+ },
787
834
  }
788
835
 
789
836
  export const MISQueryParams = {