UNPKG

@cocalc/server

Version:

CoCalc server functionality: functions used by either the hub and the next.js server

55 lines (50 loc) 1.63 kB
import { getServerSettings } from "@cocalc/server/settings"; import type { Message } from "./message"; import siteURL from "@cocalc/server/settings/site-url"; export async function getFooter(): Promise<{ html: string; text: string; }> { let { help_email, site_name, organization_name, organization_url } = await getServerSettings(); // Make sure everything is defined somehow... if (!help_email) { help_email = "help@cocalc.com"; } if (!site_name) { site_name = "OpenCoCalc"; } if (!organization_name) { organization_name = "Hosted CoCalc"; } if (!organization_url) { try { organization_url = await siteURL(); } catch (_) { organization_url = "https://example.com"; } } const html = ` <p style="margin-top:100px; padding-top:15px; border-top: 1px solid gray; color: gray; font-size:85%; text-align:center"> This email was sent from <a href="${organization_url}">${site_name}</a> by ${organization_name}. Contact <a href="mailto:${help_email}">${help_email}</a> if you have any questions. </p>`; const text = `\n\n\n\n---------------------------------------------------------------------- This email was sent from ${site_name} by ${organization_name} (see ${organization_url}). Contact ${help_email} if you have any questions. `; return { html, text }; } export default async function appendFooter(message: Message): Promise<Message> { let footer; try { footer = await getFooter(); } catch (_) { return message; } return { ...message, html: message.html + "\n\n" + footer.html, text: message.text + "\n\n" + footer.text, }; }