From e5f7724e3ac53a5420201474fc83a765efeb2c55 Mon Sep 17 00:00:00 2001 From: yoution Date: Thu, 25 Nov 2021 08:01:24 +0800 Subject: [PATCH 1/3] fix: issue #562 --- src/server/misc/routes/index.html | 139 ++++++++++++++++++ .../misc/routes/interview-thank-you-page.js | 33 ++++- 2 files changed, 165 insertions(+), 7 deletions(-) create mode 100644 src/server/misc/routes/index.html diff --git a/src/server/misc/routes/index.html b/src/server/misc/routes/index.html new file mode 100644 index 0000000..a582579 --- /dev/null +++ b/src/server/misc/routes/index.html @@ -0,0 +1,139 @@ + + + + + + + + +
+

<%= jobTitle %>

+
+
+
+
+
+

+ <%= week %>
+ <%= startDate %> +

+

+ <%= startTime %> - <%= endTime %> +

+

<%= page_slug %>

+

virtual calendar

+

<%= tz %>

+
+
+
+
+

You're all set.

+
Your response has been recorded
+
+
+
+ + diff --git a/src/server/misc/routes/interview-thank-you-page.js b/src/server/misc/routes/interview-thank-you-page.js index 5f48dc2..43b1501 100644 --- a/src/server/misc/routes/interview-thank-you-page.js +++ b/src/server/misc/routes/interview-thank-you-page.js @@ -2,27 +2,46 @@ * Custom Interview Thank You Page */ const url = require("url"); +const axios = require("axios"); +const _ = require("lodash"); +const moment = require("moment"); +const fs = require("fs"); + +// eslint-disable-next-line +const content = fs.readFileSync(__dirname + "/index.html"); + /** * Render custom HTML thank you page for scheduled or rescheduled interview. * * @param {import("express").Request} req express request * @param {import("express").Response} res express response */ -function getInterviewThankYouPageController(req, res) { +async function getInterviewThankYouPageController(req, res) { const query = req.query; const fullURL = url.format({ protocol: req.protocol, host: req.get("host"), pathname: req.originalUrl, }); + const { data: nylasHtml } = await axios.get( + `https://schedule.nylas.com/${query.page_slug}` + ); + // extract json object from html file + const nylasconfig = JSON.parse( + nylasHtml.match(/window.nylasWindowContext.page = (.*);<\/script>/)[1] + ); + const object = { + jobTitle: nylasconfig.name, + page_slug: query.page_slug, + tz: query.tz, + week: moment.unix(query.start_time).format("dddd"), + startDate: moment.unix(query.start_time).format("MMMM DD, yyyy"), + startTime: moment.unix(query.start_time).format("H:mm A"), + endTime: moment.unix(query.end_time).format("H:mm A"), + }; res.set("Content-Type", "text/html"); - res.send( - `

Thank you page (under construction)

-
-      URL: ${fullURL}
-      query: ${JSON.stringify(query, null, 2)}
` - ); + res.send(_.template(content)(object)); } module.exports = getInterviewThankYouPageController; From 6d9afd57738070c2431565c11752d716b06dbfaa Mon Sep 17 00:00:00 2001 From: yoution Date: Thu, 25 Nov 2021 17:23:52 +0800 Subject: [PATCH 2/3] fix: issue #562 --- src/server/misc/routes/index.html | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/server/misc/routes/index.html b/src/server/misc/routes/index.html index a582579..827a598 100644 --- a/src/server/misc/routes/index.html +++ b/src/server/misc/routes/index.html @@ -4,6 +4,9 @@ @@ -123,16 +154,13 @@

<%= week %>
<%= startDate %>

-

- <%= startTime %> - <%= endTime %> -

-

<%= page_slug %>

-

virtual calendar

+

<%= startTime %> - <%= endTime %>
<%= page_slug %> virtual calendar

<%= tz %>

+

You're all set.

Your response has been recorded