mirror of
https://github.com/fleetdm/fleet
synced 2026-04-21 13:37:30 +00:00
* rename dir * no need to install website or docs from npm At some point, would also be nice to be able to exclude assets/ as well, and to only install a pre-built version of Fleet's frontend code * Bring in fleetdm.com website From https://github.com/fleetdm/fleetdm.com as of https://github.com/fleetdm/fleetdm.com/releases/tag/v0.0.21 * add procfile for heroku Using https://github.com/timanovsky/subdir-heroku-buildpack * avoid getting anybody's hopes up * Create deploy-fleet-website.yml (#82) * Create deploy-fleet-website.yml * Update deploy-fleet-website.yml * Update deploy-fleet-website.yml * Update deploy-fleet-website.yml * update pjs with SPDX-like license expressions. also fix repo URL and remove package lock * Update deploy-fleet-website.yml * Update deploy-fleet-website.yml * remove dummy uri * Dissect deploy script * Update deploy-fleet-website.yml * workaround for eslintrc nesting issue * lint fixes * forgot the .js * add per-commit git config * Update deploy-fleet-website.yml * might as well remove that * cleanup * connect w/ heroku app and have it actually push * fix bug I introduced in578a1a01ff* Update deploy-fleet-website.yml * Update deploy-fleet-website.yml * Update deploy-fleet-website.yml * Update deploy-fleet-website.yml * the beauty, the glory, of javascript * GH actions don't like "\n" * Update deploy-fleet-website.yml * restore \n chars from0d45e568f6hoping I was wrong in0d45e568f6but see also https://github.community/t/what-is-the-correct-character-escaping-for-workflow-command-values-e-g-echo-xxxx/118465/5 * Update deploy-fleet-website.yml * Update deploy-fleet-website.yml * Update deploy-fleet-website.yml * Update deploy-fleet-website.yml * Update deploy-fleet-website.yml * Update deploy-fleet-website.yml * Update deploy-fleet-website.yml * Update deploy-fleet-website.yml * Update deploy-fleet-website.yml * Update deploy-fleet-website.yml * Update deploy-fleet-website.yml * Update deploy-fleet-website.yml * rename script to prevent duplicate building * Configure the real website * clean up * a test of the deploy workflow * add handbook to npmignore * I guess you could call this fixing a typo * point workflow at master branch * now clearly bogus: this completely unused version string
79 lines
1.8 KiB
JavaScript
79 lines
1.8 KiB
JavaScript
module.exports = {
|
|
|
|
|
|
friendlyName: 'Deliver contact form message',
|
|
|
|
|
|
description: 'Deliver a contact form message to the appropriate internal channel(s).',
|
|
|
|
|
|
inputs: {
|
|
|
|
emailAddress: {
|
|
required: true,
|
|
type: 'string',
|
|
description: 'A return email address where we can respond.',
|
|
example: '[email protected]'
|
|
},
|
|
|
|
topic: {
|
|
required: true,
|
|
type: 'string',
|
|
description: 'The topic from the contact form.',
|
|
example: 'I want to buy stuff.'
|
|
},
|
|
|
|
fullName: {
|
|
required: true,
|
|
type: 'string',
|
|
description: 'The full name of the human sending this message.',
|
|
example: 'Hermione Granger'
|
|
},
|
|
|
|
message: {
|
|
required: true,
|
|
type: 'string',
|
|
description: 'The custom message, in plain text.'
|
|
}
|
|
|
|
},
|
|
|
|
|
|
exits: {
|
|
|
|
success: {
|
|
description: 'The message was sent successfully.'
|
|
}
|
|
|
|
},
|
|
|
|
|
|
fn: async function({emailAddress, topic, fullName, message}) {
|
|
|
|
if (!sails.config.custom.internalEmailAddress) {
|
|
throw new Error(
|
|
`Cannot deliver incoming message from contact form because there is no internal
|
|
email address (\`sails.config.custom.internalEmailAddress\`) configured for this
|
|
app. To enable contact form emails, you'll need to add this missing setting to
|
|
your custom config -- usually in \`config/custom.js\`, \`config/staging.js\`,
|
|
\`config/production.js\`, or via system environment variables.`
|
|
);
|
|
}
|
|
|
|
await sails.helpers.sendTemplateEmail.with({
|
|
to: sails.config.custom.internalEmailAddress,
|
|
subject: 'New contact form message',
|
|
template: 'internal/email-contact-form',
|
|
layout: false,
|
|
templateData: {
|
|
contactName: fullName,
|
|
contactEmail: emailAddress,
|
|
topic,
|
|
message,
|
|
}
|
|
});
|
|
|
|
}
|
|
|
|
|
|
};
|