/*! Copyright (c) 2019, XAPPmedia */ import { ChannelData } from "stentor-models"; import { AogPlatform } from "./Types"; export interface ActionsOnGoogleAdditionalInformationQuestions { /** * From the copy of the question: * * Are children under the age of 13 one of the intended audiences of your Actions? * If yes, you must join the Actions for Families program. The Actions for Families program allows * developers to designate that their Actions are family-friendly, so parents and kids can find trusted, * high-quality content more easily on the Google Assistant. * * @type {boolean} * @memberof GoogleSubmissionQuestions */ intendedForUnderThirteen?: boolean; /** * From the copy of the question: * * Do your Actions contain alcohol or tobacco-related content? * If yes, you must include age verification at the beginning of the conversation. * If your Actions mainly sell alcohol or tobacco, you must implement account * linking and verify that the user meets legal age requirements. * * @type {boolean} * @memberof GoogleAdditionalInformationQuestions */ alcoholAndTobaccoRelatedContent?: boolean; } /** * Google specific information required for publication * * @export * @interface ActionsOnGoogleChannelData * @extends {ChannelData} */ export interface ActionsOnGoogleChannelData extends ChannelData { type: AogPlatform; /** * The ID (or "*") for the NLU that will be used during runtime. * * @type {string} * @memberof ActionsOnGoogleChannelData */ useNLU: string; /** * URL to find the credentials for accessing Google Cloud Services * * @type {string} * @memberof ActionsOnGoogleChannelData */ credentialsURL?: string; /** * The project ID within Google Cloud Services. * * @type {string} * @memberof ActionsOnGoogleChannelData */ projectId?: string; /** * Invocation name * * If not provided, the application level invocation name will be used. */ invocationName?: string; /** * Required publishing information questions. * * @type {ActionsOnGoogleAdditionalInformationQuestions} * @memberof ActionsOnGoogleChannelData */ additionalInformationQuestions?: ActionsOnGoogleAdditionalInformationQuestions; /** * The platforms that the action can play on. * * If this isn't provided then it's assumed that all platforms are supported. * * @type null * @memberof ActionsOnGoogleChannelData */ actionPlatforms?: ActionPlatform[]; /** * The style of subscription that this action is. * * * @type null * @memberof ActionsOnGoogleChannelData */ subscription?: { /** * The type of subscription that the action requires. * * @type {SubscriptionCategory} */ category: SubscriptionCategory; }; } /** * The action does not require the user to log in and is free to use. */ export type NoLoginRequired = "nologinrequired"; /** * The action requires the user to log in but is still free to use. */ export type Free = "free"; /** * The app requires an account with a paid subscription. */ export type Subscription = "subscription"; export type SubscriptionCategory = NoLoginRequired | Free | Subscription; export type ActionPlatform = "http://schema.org/DesktopWebPlatform" | "http://schema.org/MobileWebPlatform" | "http://schema.org/AndroidPlatform" | "http://schema.org/AndroidTVPlatform" | "http://schema.org/IOSPlatform" | "http://schema.googleapis.com/GoogleAudioCast" | "http://schema.googleapis.com/GoogleVideoCast";