Options
All
  • Public
  • Public/Protected
  • All
Menu

Namespace FormsAppsTypes

Index

Type aliases

AppleTouchStartupImage: { href: string; media: { deviceHeightPixels: number; devicePixelRatio: number; deviceWidthPixels: number } }

Type declaration

  • href: string
  • media: { deviceHeightPixels: number; devicePixelRatio: number; deviceWidthPixels: number }
    • deviceHeightPixels: number
    • devicePixelRatio: number
    • deviceWidthPixels: number
ApprovalsApp: NewApprovalsApp & _FormsApp
BaseFormsAppsDraft: { drafts: FormsAppDraft[]; formsAppId: number }
deprecated

Replaced with FormSubmissionDraft and FormSubmissionDraftVersion

Type declaration

CacheStrategy: "NETWORK_FIRST" | "STALE_WHILE_REVALIDATE"
EmailSubscription: { clarificationReceived?: boolean; newApproval?: boolean }

Type declaration

  • Optional clarificationReceived?: boolean
  • Optional newApproval?: boolean
FormStoreApp: NewFormStoreApp & _FormsApp
FormStoreAppForm: { formId: number; groups: string[] }

Type declaration

  • formId: number
  • groups: string[]
FormsAppBaseMenuItem: { icon: string; label: string }

Type declaration

  • icon: string

    Icon to be used for the menu item

  • label: string

    Label for the menu item

FormsAppCPHCMSContentMenuItem: FormsAppBaseMenuItem & { formId: number; isDefault: boolean; listDisplayAttributes: FormsAppCPHCMSContentMenuItemListDisplayAttribute[]; type: "CP_HCMS_CONTENT" }
FormsAppCPHCMSContentMenuItemListDisplayAttributeFormElement: { formElementId: string; type: "FORM_ELEMENT" }

Type declaration

  • formElementId: string
  • type: "FORM_ELEMENT"
FormsAppCPHCMSContentMenuItemListDisplayAttributeMeta: { attribute: "meta.created" | "meta.lastModified" | "meta.id"; type: "CP_HCMS_CONTENT_META" }

Type declaration

  • attribute: "meta.created" | "meta.lastModified" | "meta.id"
  • type: "CP_HCMS_CONTENT_META"
FormsAppCPHCMSContentMenuItemListDisplayAttributeSubmissionMeta: { attribute: "externalId"; type: "SUBMISSION_META" }

Type declaration

  • attribute: "externalId"
  • type: "SUBMISSION_META"
FormsAppConfiguration<T>: FormsAppEnvironmentConfiguration & { cachingStrategies?: _NewFormsApp["cachingStrategies"]; description?: string; draftsAreShared?: boolean; formsAppId: number; formsHostname: string; formsOAuthClientId?: string | null; isAppUserMfaRequired: boolean; isAppUserSignUpEnabled: boolean; isClientLoggingEnabled: boolean; isDraftsEnabled: boolean; isGoogleLoginSupported: boolean; logoutRedirectUrl?: string; name: string; pwaSettings?: FormsAppPWASettings | null; samlIdentityProviderName?: string | null; styles: T; taskGroupInstances?: TaskGroupInstance[]; type: FormsApp["type"]; volunteers: { categories: VolunteersFormsApp["categories"]; waiverUrl: VolunteersFormsApp["waiverUrl"] } | undefined }

Type parameters

FormsAppContainerMenuItem: FormsAppBaseMenuItem & { formIds: number[]; type: "CONTAINER" }
FormsAppEntityBase: { formsAppId: number; groups: string[] }

Type declaration

  • formsAppId: number
  • groups: string[]
FormsAppFormMenuItem: FormsAppBaseMenuItem & { formId: number; type: "FORM" }
FormsAppHostnameConfiguration: { acm: { certificateArn: string; dnsValidation: { name: string; type: string; value: string } }; cloudFront: null | { distributionDomain: string; distributionId: string }; createdAt: string; formsAppId: number; updatedAt: string }

Type declaration

  • acm: { certificateArn: string; dnsValidation: { name: string; type: string; value: string } }
    • certificateArn: string
    • dnsValidation: { name: string; type: string; value: string }
      • name: string
      • type: string
      • value: string
  • cloudFront: null | { distributionDomain: string; distributionId: string }
  • createdAt: string
  • formsAppId: number
  • updatedAt: string
FormsAppHrefMenuItem: FormsAppBaseMenuItem & { href: string; type: "HREF" }
FormsAppKey: IdResource & NewFormsAppKey
FormsAppPWASettings: { appleTouchStartupImages?: AppleTouchStartupImage[]; homeScreenIconUrl?: string; homeScreenName?: string; splashScreenName?: string }

Type declaration

  • Optional appleTouchStartupImages?: AppleTouchStartupImage[]
  • Optional homeScreenIconUrl?: string

    The absolute URL to the app icon that is displayed when installed as a progressive web app on mobile devices

  • Optional homeScreenName?: string

    The text beneath the app icon when installed as a progressive web app on mobile devices

  • Optional splashScreenName?: string

    The text on the splash screen when installed as a progressive web app on mobile devices

FormsAppScheduledTasksGroupMenuItem: FormsAppBaseMenuItem & { isDefault: boolean; taskGroupInstanceAllocations: TaskGroupInstanceAllocation[]; type: "SCHEDULED_TASK_GROUPS" }
FormsAppScheduledTasksMenuItem: FormsAppBaseMenuItem & { isDefault: boolean; taskAllocations: { taskId: string }[]; type: "SCHEDULED_TASKS" }
FormsAppScreenMenuItem: FormsAppBaseMenuItem & { isDefault: boolean; isHidden: boolean; type: "FORMS_LIST" | "JOBS" | "DRAFTS" | "PENDING_SUBMISSIONS" | "PROFILE" }
FormsAppSendingAddress: EmailSendingAddressBase & { formsAppId: number }
FormsAppSendingAddressResponse: EmailSendingAddressResponseBase & { formsAppSendingAddress?: FormsAppSendingAddress }
FormsAppUser: FormsAppUserBase & { createdAt: string; id: number; isMfaEnabled?: boolean; temporaryPasswordExpiry?: string; updatedAt: string }
FormsAppUserBase: FormsAppEntityBase & { email: string; firstName?: string; lastName?: string }
FormsAppUserSubscription: { createdAt: Date; emailSubscriptions?: EmailSubscription; formsAppId: number; pushSubscriptions?: PushSubscription[]; updatedAt: Date; username: string }

Type declaration

FormsAppsDraft: { createdAt: string; updatedAt: string } & BaseFormsAppsDraft
deprecated

Replaced with FormSubmissionDraft and FormSubmissionDraftVersion

FormsListFormsApp: NewFormsListFormsApp & _FormsApp
FormsListStyles: FormsAppEnvironmentStyles & { menuItems: FormsAppMenuItem[] }

For Forms Apps of type TILES ContainerMenuItem, FormMenuItem and HrefMenuItem can be used in the menuItems array, as well as ScreenMenuItem excluding the FORMS_LIST type.

Form Forms Apps of type FORMS_LIST only ScreenMenuItem and HrefMenuItem can be used in the menuItems array.

Examples

Forms List Apps

{
"foregroundColour": "#454545",
"highlightColour": "#676767",
"contrastColour": "#FFFFFF",
"customCss": ".ob-form { background-color: red; }",
"logoUrl": "https://my-website.com/logo.png",
"menuItems": [
{
"label": "Profile",
"icon": "person",
"type": "PROFILE",
"isHidden": false,
"isDefault": true
},
{
"label": "Google",
"icon": "search",
"type": "HREF",
"href": "https://google.com"
}
]
}

Container Apps

{
"foregroundColour": "#454545",
"highlightColour": "#676767",
"contrastColour": "#FFFFFF",
"customCss": ".ob-form { background-color: red; }",
"logoUrl": "https://my-website.com/logo.png",
"menuItems": [
{
"label": "Forms",
"icon": "dashboard",
"type": "CONTAINER",
"formIds": [1, 2, 3]
},
{
"label": "Compliance Check",
"icon": "search",
"type": "FORM",
"formId": 2
},
{
"label": "Google",
"icon": "search",
"type": "HREF",
"href": "https://google.com"
}
]
}

Volunteer Apps

{
"foregroundColour": "#454545",
"highlightColour": "#676767",
"contrastColour": "#FFFFFF",
"customCss": ".ob-form { background-color: red; }",
"logoUrl": "https://my-website.com/logo.png"
}
NewApprovalsApp: _NewFormsApp & { requireAppUserMfa?: boolean; styles: ApprovalsStyles; type: "APPROVALS" }
NewFormStoreApp: _NewFormsApp & { forms: FormStoreAppForm[]; requireAppUserMfa?: boolean; styles: FormStoreStyles; type: "FORM_STORE" }
NewFormsAppKey: FormsAppEntityBase & { keyId: string }
NewFormsAppUser: FormsAppUserBase & { generatePassword: boolean; welcomeEmailParameters?: unknown }
NewFormsAppsDraft: BaseFormsAppsDraft & { createdAt?: string; updatedAt?: string }
deprecated

Replaced with FormSubmissionDraft and FormSubmissionDraftVersion

NewFormsListFormsApp: _NewFormsApp & { draftsAreShared?: boolean; formIds: number[]; slug: string; styles: FormsListStyles; type: "FORMS_LIST" }
NewTilesFormsApp: _NewFormsApp & { draftsAreShared?: boolean; slug: string; styles: TilesStyles; type: "TILES" }
NewVolunteersFormsApp: _NewFormsApp & { categories: { label: string }[]; styles: VolunteersStyles; type: "VOLUNTEERS"; waiverUrl: string | null }
OrganisationAppUser: { email: string; formsAppIds: number[] }

Type declaration

  • email: string
  • formsAppIds: number[]
PushSubscription: { endpoint: string; expirationTime: string | null; keys: { auth: string; p256dh: string } }

Type declaration

  • endpoint: string
  • expirationTime: string | null
  • keys: { auth: string; p256dh: string }
    • auth: string
    • p256dh: string
TaskGroupInstanceAllocation: { allocatedAt: string; taskGroupInstanceId: TaskGroupInstance["taskGroupInstanceId"] }

Type declaration

  • allocatedAt: string

    This property is used to make sure tasks in task group instances are present in the app at the correct times and do not appear as overdue when the start date of the the task is before the date the instance was allocated to the app.

  • taskGroupInstanceId: TaskGroupInstance["taskGroupInstanceId"]

    The identifier of the task group instance

TilesFormsApp: NewTilesFormsApp & _FormsApp
TilesStyles: FormsListStyles
VolunteersFormsApp: NewVolunteersFormsApp & _FormsApp

Styles relating to volunteers apps.

Examples

Volunteer Apps

{
"foregroundColour": "#454545",
"highlightColour": "#676767",
"contrastColour": "#FFFFFF",
"customCss": ".ob-form { background-color: red; }",
"logoUrl": "https://my-website.com/logo.png"
}
_FormsApp: { createdAt: string; id: number; updatedAt: string }

Type declaration

  • createdAt: string

    The time the forms app was created, represented by an ISO date

  • id: number

    Identifier of the forms app

  • updatedAt: string

    The time the forms app was last updated, represented by an ISO date

_NewFormsApp: { cachingStrategies?: { app?: CacheStrategy; singleForm?: CacheStrategy }; description?: string; enableAppUserSignup: boolean; enableSamlIdentityProviderLogout?: boolean; formsAppEnvironmentId: number; googleMapsIntegrationKeyId?: string; groups?: { name: string; notificationEmailAddresses: string[] }[]; hasSamlIdentityProvider: boolean; hostname: string; isClientLoggingEnabled: boolean; isInheritingEnvironmentNotificationEmailAddresses?: boolean; name: string; notificationEmailAddresses: string[]; oAuthClientId?: string | null; organisationId: string; pwaSettings: FormsAppPWASettings; recaptchaIntegrationDomainId?: string; userSessionValidityInHours?: number; userTokensValidityInMinutes?: number; welcomeEmail?: { body?: string; subject?: string } }

Type declaration

  • Optional cachingStrategies?: { app?: CacheStrategy; singleForm?: CacheStrategy }

    Caching strategies for the Forms App

  • Optional description?: string
  • enableAppUserSignup: boolean
  • Optional enableSamlIdentityProviderLogout?: boolean
  • formsAppEnvironmentId: number

    The exact forms app environment identifier the forms app is associated with

  • Optional googleMapsIntegrationKeyId?: string

    The id of the Google Maps integration key to be used for Google Maps elements.

  • Optional groups?: { name: string; notificationEmailAddresses: string[] }[]

    List of groups users can be assigned too and email addresses to be notified via

  • hasSamlIdentityProvider: boolean

    True when using a SAML identity provider

  • hostname: string
  • isClientLoggingEnabled: boolean
  • Optional isInheritingEnvironmentNotificationEmailAddresses?: boolean

    The email addresses set in notificationEmailAddresses will override the email addresses set at the environment level. Set this flag to true to include the environment level email addresses as well as the email addresses set in notificationEmailAddresses.

  • name: string

    Name of the forms app

  • notificationEmailAddresses: string[]

    Array of emails addresses to be notified when an error occurs in processing submission events

  • Optional oAuthClientId?: string | null

    The identifier of the OAuth Client for the forms app

  • organisationId: string

    The exact organisation identifier the forms app is associated with

  • pwaSettings: FormsAppPWASettings

    Forms App progressive web app setting

  • Optional recaptchaIntegrationDomainId?: string

    The id of the recaptcha integration to be used

  • Optional userSessionValidityInHours?: number

    The number of hours a user's session will last before they have to log in again. These tokens will get revoked when logging out. Defaults to 30 days.

  • Optional userTokensValidityInMinutes?: number

    The number of minutes a user's token for communicating with servers will last. These tokens do not get revoked when logging out so a shorter time period is desireable. Defaults to 1 hour.

  • Optional welcomeEmail?: { body?: string; subject?: string }

    Forms App custom welcome email properties

    • Optional body?: string

      A mustache template to use when sending welcome emails to new app users.

    • Optional subject?: string

      The subject to use when sending welcome emails to new app users