Merge branch 'feature/draft-apps' into admin/user-management-ui
This commit is contained in:
commit
9eaabda8a5
|
@ -30,45 +30,65 @@ const EmailTemplatePurpose = {
|
|||
CUSTOM: "custom",
|
||||
}
|
||||
|
||||
const InternalTemplateBindings = {
|
||||
PLATFORM_URL: "platformUrl",
|
||||
COMPANY: "company",
|
||||
LOGO_URL: "logoUrl",
|
||||
EMAIL: "email",
|
||||
USER: "user",
|
||||
REQUEST: "request",
|
||||
DOCS_URL: "docsUrl",
|
||||
LOGIN_URL: "loginUrl",
|
||||
CURRENT_YEAR: "currentYear",
|
||||
CURRENT_DATE: "currentDate",
|
||||
BODY: "body",
|
||||
STYLES: "styles",
|
||||
RESET_URL: "resetUrl",
|
||||
RESET_CODE: "resetCode",
|
||||
INVITE_URL: "inviteUrl",
|
||||
INVITE_CODE: "inviteUrl",
|
||||
CONTENTS: "contents",
|
||||
}
|
||||
|
||||
const TemplateBindings = {
|
||||
PLATFORM_URL: {
|
||||
name: "platformUrl",
|
||||
name: InternalTemplateBindings.PLATFORM_URL,
|
||||
description: "The URL used to access the budibase platform",
|
||||
},
|
||||
COMPANY: {
|
||||
name: "company",
|
||||
name: InternalTemplateBindings.COMPANY,
|
||||
description: "The name of your organization",
|
||||
},
|
||||
LOGO_URL: {
|
||||
name: "logoUrl",
|
||||
name: InternalTemplateBindings.LOGO_URL,
|
||||
description: "The URL of your organizations logo.",
|
||||
},
|
||||
EMAIL: {
|
||||
name: "email",
|
||||
name: InternalTemplateBindings.EMAIL,
|
||||
description: "The recipients email address.",
|
||||
},
|
||||
USER: {
|
||||
name: "user",
|
||||
name: InternalTemplateBindings.USER,
|
||||
description: "The recipients user object.",
|
||||
},
|
||||
REQUEST: {
|
||||
name: "request",
|
||||
name: InternalTemplateBindings.REQUEST,
|
||||
description: "Additional request metadata.",
|
||||
},
|
||||
DOCS_URL: {
|
||||
name: "docsUrl",
|
||||
name: InternalTemplateBindings.DOCS_URL,
|
||||
description: "Organization documentation URL.",
|
||||
},
|
||||
LOGIN_URL: {
|
||||
name: "loginUrl",
|
||||
name: InternalTemplateBindings.LOGIN_URL,
|
||||
description: "The URL used to log into the organization budibase instance.",
|
||||
},
|
||||
CURRENT_YEAR: {
|
||||
name: "currentYear",
|
||||
name: InternalTemplateBindings.CURRENT_YEAR,
|
||||
description: "The current year.",
|
||||
},
|
||||
CURRENT_DATE: {
|
||||
name: "currentDate",
|
||||
name: InternalTemplateBindings.CURRENT_DATE,
|
||||
description: "The current date.",
|
||||
},
|
||||
}
|
||||
|
@ -80,11 +100,11 @@ const TemplateMetadata = {
|
|||
purpose: EmailTemplatePurpose.BASE,
|
||||
bindings: [
|
||||
{
|
||||
name: "body",
|
||||
name: InternalTemplateBindings.BODY,
|
||||
description: "The main body of another email template.",
|
||||
},
|
||||
{
|
||||
name: "styles",
|
||||
name: InternalTemplateBindings.STYLES,
|
||||
description: "The contents of the Styling email template.",
|
||||
},
|
||||
],
|
||||
|
@ -94,12 +114,12 @@ const TemplateMetadata = {
|
|||
purpose: EmailTemplatePurpose.PASSWORD_RECOVERY,
|
||||
bindings: [
|
||||
{
|
||||
name: "resetUrl",
|
||||
name: InternalTemplateBindings.RESET_URL,
|
||||
description:
|
||||
"The URL the recipient must click to reset their password.",
|
||||
},
|
||||
{
|
||||
name: "resetCode",
|
||||
name: InternalTemplateBindings.RESET_CODE,
|
||||
description:
|
||||
"The temporary password reset code used in the recipients password reset URL.",
|
||||
},
|
||||
|
@ -110,12 +130,12 @@ const TemplateMetadata = {
|
|||
purpose: EmailTemplatePurpose.INVITATION,
|
||||
bindings: [
|
||||
{
|
||||
name: "inviteUrl",
|
||||
name: InternalTemplateBindings.INVITE_URL,
|
||||
description:
|
||||
"The URL the recipient must click to accept the invitation and activate their account.",
|
||||
},
|
||||
{
|
||||
name: "inviteCode",
|
||||
name: InternalTemplateBindings.INVITE_CODE,
|
||||
description:
|
||||
"The temporary invite code used in the recipients invitation URL.",
|
||||
},
|
||||
|
@ -126,7 +146,7 @@ const TemplateMetadata = {
|
|||
purpose: EmailTemplatePurpose.CUSTOM,
|
||||
bindings: [
|
||||
{
|
||||
name: "contents",
|
||||
name: InternalTemplateBindings.CONTENTS,
|
||||
description: "Custom content body.",
|
||||
},
|
||||
],
|
||||
|
@ -142,4 +162,5 @@ exports.TemplateTypes = TemplateTypes
|
|||
exports.EmailTemplatePurpose = EmailTemplatePurpose
|
||||
exports.TemplateMetadata = TemplateMetadata
|
||||
exports.TemplateBindings = TemplateBindings
|
||||
exports.InternalTemplateBindings = InternalTemplateBindings
|
||||
exports.GLOBAL_OWNER = "global"
|
||||
|
|
|
@ -2,7 +2,7 @@ const CouchDB = require("../db")
|
|||
const { getScopedConfig, StaticDatabases } = require("@budibase/auth").db
|
||||
const {
|
||||
Configs,
|
||||
TemplateBindings,
|
||||
InternalTemplateBindings,
|
||||
LOGO_URL,
|
||||
EmailTemplatePurpose,
|
||||
} = require("../constants")
|
||||
|
@ -20,27 +20,27 @@ exports.getSettingsTemplateContext = async (purpose, code = null) => {
|
|||
}
|
||||
const URL = settings.platformUrl
|
||||
const context = {
|
||||
[TemplateBindings.LOGO_URL]:
|
||||
[InternalTemplateBindings.LOGO_URL]:
|
||||
checkSlashesInUrl(`${URL}/${settings.logoUrl}`) || LOGO_URL,
|
||||
[TemplateBindings.PLATFORM_URL]: URL,
|
||||
[TemplateBindings.COMPANY]: settings.company || BASE_COMPANY,
|
||||
[TemplateBindings.DOCS_URL]:
|
||||
[InternalTemplateBindings.PLATFORM_URL]: URL,
|
||||
[InternalTemplateBindings.COMPANY]: settings.company || BASE_COMPANY,
|
||||
[InternalTemplateBindings.DOCS_URL]:
|
||||
settings.docsUrl || "https://docs.budibase.com/",
|
||||
[TemplateBindings.LOGIN_URL]: checkSlashesInUrl(`${URL}/login`),
|
||||
[TemplateBindings.CURRENT_DATE]: new Date().toISOString(),
|
||||
[TemplateBindings.CURRENT_YEAR]: new Date().getFullYear(),
|
||||
[InternalTemplateBindings.LOGIN_URL]: checkSlashesInUrl(`${URL}/login`),
|
||||
[InternalTemplateBindings.CURRENT_DATE]: new Date().toISOString(),
|
||||
[InternalTemplateBindings.CURRENT_YEAR]: new Date().getFullYear(),
|
||||
}
|
||||
// attach purpose specific context
|
||||
switch (purpose) {
|
||||
case EmailTemplatePurpose.PASSWORD_RECOVERY:
|
||||
context[TemplateBindings.RESET_CODE] = code
|
||||
context[TemplateBindings.RESET_URL] = checkSlashesInUrl(
|
||||
context[InternalTemplateBindings.RESET_CODE] = code
|
||||
context[InternalTemplateBindings.RESET_URL] = checkSlashesInUrl(
|
||||
`${URL}/reset?code=${code}`
|
||||
)
|
||||
break
|
||||
case EmailTemplatePurpose.INVITATION:
|
||||
context[TemplateBindings.INVITE_CODE] = code
|
||||
context[TemplateBindings.INVITE_URL] = checkSlashesInUrl(
|
||||
context[InternalTemplateBindings.INVITE_CODE] = code
|
||||
context[InternalTemplateBindings.INVITE_URL] = checkSlashesInUrl(
|
||||
`${URL}/invite?code=${code}`
|
||||
)
|
||||
break
|
||||
|
|
Loading…
Reference in New Issue