/*** * * SaaSquatch Type Definitions * * This file was automatically generated. DO NOT edit it by hand, instead edit the related JSON Schema file. * * Generated on 2026-03-20T21:11:42.771Z * ***/ /*** * MicrositeTemplate.schema.json * Generated on 2026-03-20T21:11:43.057Z * This file was automatically generated. DO NOT edit it by hand, instead edit the related JSON Schema file. ***/ /** * Enable the hosted portal */ export type Enabled = boolean /** * The domain the hosted portal is hosted on */ export type Domain = string /** * The HTML to be injected into the element of the hosted portal */ export type HeadHTML = string /** * The widget key of the hosted portal */ export type WidgetKey = string /** * A list of NPM resources to load into the widget */ export type Dependencies = { /** * An NPM package name or scoped package */ package: string /** * An NPM version string, such as Patch releases: 1.0 or 1.0.x or ~1.0.4 Minor releases: 1 or 1.x or ^1.0.4 Major releases: * or x */ version: string /** * The path to a resource in the specified package */ filePath?: string }[] /** * The URL path for the 404 Not Found page */ export type NotFoundURLPath = string /** * The Google OAuth SDK Client ID configured for the client */ export type GoogleOAuthSDKClientID = string /** * Enable managed identity */ export type Enabled1 = boolean /** * The Google Identity tenant ID */ export type FirebaseAuthTenantID = string /** * The email key used for reset password emails */ export type ResetPasswordEmailKey = string /** * The email key used for verification emails */ export type VerifyEmailEmailKey = string /** * The source of id and accountId for new users, email or firebase uid */ export type IDMethod = ("EMAIL" | "UID" | "HASHED_EMAIL") /** * The prefix added to new users' id and accountId */ export type IDPrefix = string /** * Prevent new users from being created via managed identity. Only works with 'EMAIL' ID Method */ export type DisallowNewUsers = boolean /** * The URL of a handler for external processing of registration, authentication, and session data */ export type ManagedIdentityHandlerURL = string /** * A JSONata expression for transforming registration form data into a user upsert body */ export type UserUpsertTransformer = string export type FromName = string export type FromAddress = string export type Subject = string export type BCC = string[] /** * Raw HTML content that can use {{mergeTags}} from handlebars */ export type HTMLContent = string /** * The HTML template */ export type HTML = string /** * The HTML page title */ export type Title = string /** * The HTML page description */ export type Description = string /** * The HTML template */ export type HTML1 = string /** * Defines the schema for a microsite auto-setup template */ export interface MicrositeTemplateSchema { /** * A unique identifier for this template */ key: string /** * The name of this template */ name: string /** * A brief description of this template */ description: string hostedPortalConfig: HostedPortalConfig managedIdentityConfig: ManagedIdentityConfig tenantSettings?: { usTaxNotificationEmailKey?: string [k: string]: unknown } /** * The emails to be created by this template */ emails: { /** * The global email key */ key: string values: HTMLEmailTemplateSchema }[] /** * The registration forms to be created by this template */ registrationForms: { key: string name: string globalConfig?: { [k: string]: unknown } }[] /** * The layouts to be created by this template */ layouts: { key: string name: string parentKey?: string values?: MicrositeLayoutConfigValues }[] /** * The pages to be created by this template */ pages: { key: string layoutKey: string urlPath: string allowedUsers: string disallowedUrlPath?: string values?: MicrositePageConfigValues }[] } export interface HostedPortalConfig { enabled: Enabled domain?: Domain headHtml?: HeadHTML brandingConfig?: BrandingConfig widgetKey?: WidgetKey dependencies?: Dependencies notFoundUrlPath?: NotFoundURLPath googleOAuthSdkClientId?: GoogleOAuthSDKClientID } export interface BrandingConfig { [k: string]: unknown } export interface ManagedIdentityConfig { enabled: Enabled1 firebaseAuthTenantId?: FirebaseAuthTenantID resetPasswordEmailKey?: ResetPasswordEmailKey verifyEmailEmailKey?: VerifyEmailEmailKey idMethod?: IDMethod idPrefix?: IDPrefix disallowNewUsers?: DisallowNewUsers managedIdentityHandlerUrl?: ManagedIdentityHandlerURL userUpsertTransformer?: UserUpsertTransformer } /** * Defines the customization points available in an HTML body email template. */ export interface HTMLEmailTemplateSchema { meta: Email htmlContent: HTMLContent jsonContent?: JSONContent } export interface Email { fromName: FromName fromAddress: FromAddress subject: Subject bcc?: BCC } /** * The JSON content for the email editor */ export interface JSONContent { [k: string]: unknown } export interface MicrositeLayoutConfigValues { html: HTML } export interface MicrositePageConfigValues { title: Title description?: Description html: HTML1 }