import { AddonInterface } from './addon.interface'; import { FieldMaskInterface } from './field-mask.interface'; import { PermissionListsInterface } from './restrictions.interface'; import { PricingInterface, LineItemsInterface, MarketActionInterface, PackageInterface, AddonKeyInterface } from './package.interface'; import { ProductInterface } from './product.interface'; import { RetailPriceInterface } from './retail-price.interface'; import * as e from '../enums'; export interface ActivatableAppInterface { appId?: string; name?: string; headerImage?: string; tagline?: string; icon?: string; countryRestrictions?: PermissionListsInterface; allowMultipleActivations?: boolean; childActivatableApps?: ActivatableAppInterface[]; } export interface AddProductToStoreRequestInterface { partnerId?: string; marketId?: string; appId?: string; editionId?: string; retailPrice?: RetailPriceInterface; publishImmediately?: boolean; } export interface GetMultiAddonsByAppResponseAddonListContainerInterface { addons?: AddonInterface[]; } export interface GetMultiAddonsByAppResponseAddonMapEntryInterface { key?: string; value?: GetMultiAddonsByAppResponseAddonListContainerInterface; } export interface AddonOptionsInterface { groupAddonsWithParent?: boolean; displayNonDiscoverableAddons?: boolean; } export interface AppDataInterface { scope?: string; kindValues?: KindValuesInterface[]; } export interface AreAppsDistributedToPartnerResponseAppDistributedContainerInterface { appId?: string; isDistributed?: boolean; isSolelyDistributedToPartner?: boolean; } export interface ListAppDistributionStatusResponseAppDistributionStatusInterface { appId?: string; name?: string; whitelist?: string[]; blacklist?: string[]; distributable?: boolean; } export interface GetMultiIsAppEnabledResponseAppEnablementInterface { appId?: string; enabled?: boolean; } export interface AppSummaryInterface { appId?: string; name?: string; icon?: string; headerImage?: string; tagline?: string; enabled?: boolean; billingId?: string; vendorWholesale?: WholesalePriceInterface; type?: string; addons?: AppSummaryInterface[]; vendorRetailPrice?: VendorRetailPriceInterface; wholesalePricingFromBilling?: BillingWholesalePricingInterface; wholesalePrice?: ProductWholesalePriceInterface; setupFee?: number; } export interface AreAppsDistributedToPartnerRequestInterface { partnerId?: string; appIds?: string[]; } export interface AreAppsDistributedToPartnerResponseInterface { areAppsDistributed?: AreAppsDistributedToPartnerResponseAppDistributedContainerInterface[]; } export interface BillingWholesalePricingInterface { pricingType?: e.ProductPricingType; currency?: string; frequency?: string; pricingRules?: ProductPricingRuleInterface[]; commitment?: CommitmentInterface; isStartingPrice?: boolean; } export interface BulkCopyPackageRequestInterface { source?: BulkCopyPackageRequestPackageSourceInterface; target?: PackageScopeInterface; } export interface BulkCopyPackageResponseInterface { } export interface BulkEnableAppForAllPartnersRequestInterface { appId?: string; } export interface CleanupRetiredProductRequestInterface { productId?: string; dryRun?: boolean; } export interface CommitmentInterface { initial?: number; recurring?: number; } export interface CopyPackageRequestInterface { packageId?: string; name?: string; pricing?: PricingInterface; publish?: boolean; packageDestination?: PackageScopeInterface; } export interface CopyPackageResponseInterface { failedScope?: PackageScopeInterface; } export interface CostInterface { billingFrequency?: string; currency?: string; price?: number; } export interface CreatePackageRequestInterface { partnerId?: string; marketId?: string; name?: string; tagline?: string; iconUrl?: string; headerImageUrl?: string; content?: string; pricing?: PricingInterface; hideProductDetails?: boolean; hideProductIconsAndNames?: boolean; publishImmediately?: boolean; lineItems?: LineItemsInterface; marketAction?: MarketActionInterface; usesBillingPricing?: boolean; pricingDisplayOption?: e.PricingDisplayOption; lineItemDisplayOption?: e.LineItemDisplayOption; } export interface CreatePackageResponseInterface { package?: PackageInterface; } export interface DeletePackageRequestInterface { packageId?: string; } export interface DisableAppForPartnerRequestInterface { partnerId?: string; appId?: string; origin?: string; } export interface DiscoverableAppParentInterface { appId?: string; name?: string; } export interface DiscoverableAppSummaryInterface { appId?: string; name?: string; icon?: string; headerImage?: string; tagline?: string; price?: number; billingFrequency?: e.FrequenciesFrequency; currency?: e.CurrenciesCurrency; enabled?: boolean; lmiCategories?: e.LmiCategories[]; billingId?: string; type?: string; created?: Date; cost?: CostInterface; appData?: AppDataInterface; keySellingPoints?: string[]; suggestedRetailPrice?: VendorRetailPriceInterface; usesCustomPricing?: boolean; parent?: DiscoverableAppParentInterface; } export interface EnableAppForPartnerRequestInterface { partnerId?: string; appId?: string; origin?: string; } export interface GetAppPermissionsRequestInterface { appId?: string; } export interface GetAppPermissionsResponseInterface { appId?: string; whitelist?: string[]; blacklist?: string[]; distributed?: boolean; } export interface GetMultiAddonsByAppRequestInterface { appIds?: string[]; partnerId?: string; whitelabelOverrideKey?: string; } export interface GetMultiAddonsByAppResponseInterface { addonMap?: { [key: string]: GetMultiAddonsByAppResponseAddonListContainerInterface; }; } export interface GetMultiAddonsRequestInterface { addonKeys?: AddonKeyInterface[]; whitelabelOverrideKey?: string; } export interface GetMultiAddonsResponseInterface { addons?: AddonInterface[]; } export interface GetMultiIsAppEnabledRequestInterface { appIds?: string[]; } export interface GetMultiIsAppEnabledResponseInterface { appEnablement?: GetMultiIsAppEnabledResponseAppEnablementInterface[]; } export interface GetMultiPackageRequestInterface { packageIds?: string[]; } export interface GetMultiPackageResponseInterface { packageContainers?: GetMultiPackageResponsePackageContainerInterface[]; } export interface GetMultiPartnerAppEnablementStatusRequestInterface { partnerAppRequest?: PartnerAppRequestInterface[]; } export interface GetMultiPartnerAppEnablementStatusResponseInterface { partnerAppResponse?: PartnerAppResponseInterface[]; } export interface GetMultiProductsRequestInterface { partnerId?: string; productIds?: string[]; marketId?: string; fieldMask?: FieldMaskInterface; whitelabelOverrideKey?: string; } export interface GetMultiProductsResponseInterface { products?: GetMultiProductsResponseProductContainerInterface[]; } export interface HideArchivedPackageRequestInterface { packageId?: string; } export interface IsAppDistributedToPartnerRequestInterface { appId?: string; partnerId?: string; } export interface IsAppDistributedToPartnerResponseInterface { isDistributed?: boolean; } export interface KindValuesInterface { kind?: string; values?: string[]; } export interface ListActivatableAppsRequestInterface { partnerId?: string; pageSize?: number; cursor?: string; marketId?: string; whitelabelOverrideKey?: string; } export interface ListActivatableAppsResponseInterface { activatableApps?: ActivatableAppInterface[]; } export interface ListAddonsRequestInterface { partnerId?: string; appIds?: string[]; pageSize?: number; cursor?: string; whitelabelOverrideKey?: string; } export interface ListAddonsResponseInterface { addons?: AddonInterface[]; nextCursor?: string; hasMore?: boolean; } export interface ListAppDistributionStatusRequestInterface { pageSize?: number; cursor?: string; } export interface ListAppDistributionStatusResponseInterface { appDistributionStatuses?: ListAppDistributionStatusResponseAppDistributionStatusInterface[]; } export interface ListAvailableAppsRequestInterface { partnerId?: string; whitelabelOverrideKey?: string; tagFilters?: TagInterface[]; pagingOptions?: PagedRequestOptionsInterface; searchTerm?: string; } export interface ListAvailableAppsResponseInterface { availableAppsSummaries?: AppSummaryInterface[]; pagingMetadata?: PagedResponseMetadataInterface; } export interface ListDiscoverableAppSuggestionsRequestInterface { searchTerm?: string; partnerId?: string; pageSize?: number; } export interface ListDiscoverableAppSuggestionsResponseInterface { suggestions?: ListDiscoverableAppSuggestionsResponseSuggestionInterface[]; } export interface ListDiscoverableAppsRequestInterface { partnerId?: string; pageSize?: number; cursor?: string; marketId?: string; whitelabelOverrideKey?: string; tagFilters?: TagInterface[]; searchTerm?: string; sortOrder?: e.DiscoverProductSortOrderType; addonOptions?: AddonOptionsInterface; } export interface ListDiscoverableAppsResponseInterface { discoverableAppSummary?: DiscoverableAppSummaryInterface[]; nextCursor?: string; hasMore?: boolean; totalResults?: number; } export interface ListDistributedAppIdsRequestInterface { partnerId?: string; marketId?: string; filters?: ListDistributedAppIdsRequestListDistributedAppIdsRequestFiltersInterface; } export interface ListDistributedAppIdsRequestListDistributedAppIdsRequestFiltersInterface { appTypes?: e.AppType[]; } export interface ListDistributedAppIdsResponseInterface { appIds?: string[]; } export interface ListPackageIDsForProductRequestInterface { partnerId?: string; marketId?: string; appId?: string; editionId?: string; } export interface ListPackageIDsForProductResponseInterface { packageIds?: string[]; } export interface ListPackagesRequestInterface { partnerId?: string; marketId?: string; lmiCategory?: e.LmiCategories; statuses?: e.StatusesStatus[]; sort?: boolean; pageSize?: number; cursor?: string; includeTotalResults?: boolean; filterTerm?: string; } export interface ListPackagesResponseInterface { packages?: PackageInterface[]; nextCursor?: string; hasMore?: boolean; totalResults?: number; } export interface ListPartnerAppEnablementStatusRequestInterface { partnerId?: string; } export interface ListPartnerAppEnablementStatusResponseInterface { partnerAppResponse?: PartnerAppResponseInterface[]; } export interface ListProductFilterInterface { approved?: boolean; state?: e.StateFilterOptions; } export interface ListProductsRequestInterface { partnerId?: string; pageSize?: number; cursor?: string; marketId?: string; filters?: ListProductFilterInterface; fieldMask?: FieldMaskInterface; whitelabelOverrideKey?: string; } export interface ListProductsResponseInterface { products?: ProductInterface[]; nextCursor?: string; hasMore?: boolean; } export interface GetMultiPackageResponsePackageContainerInterface { package?: PackageInterface; } export interface PackageIdContainerInterface { packageIds?: string[]; } export interface PackageScopeInterface { partnerId?: string; marketIds?: string[]; } export interface BulkCopyPackageRequestPackageSourceInterface { packageIdsContainer?: PackageIdContainerInterface; scope?: PackageScopeInterface; } export interface PagedRequestOptionsInterface { cursor?: string; pageSize?: number; } export interface PagedResponseMetadataInterface { nextCursor?: string; hasMore?: boolean; totalResults?: number; } export interface PartnerAppRequestInterface { partnerId?: string; appId?: string; } export interface PartnerAppResponseInterface { partnerId?: string; appId?: string; status?: e.AppEnablementStatusesAppEnablementStatus; updateEvents?: UpdateEventInterface[]; } export interface GetMultiProductsResponseProductContainerInterface { product?: ProductInterface; } export interface ProductPricingRuleInterface { price?: number; minUnits?: number; maxUnits?: number; } export interface ProductWholesalePriceInterface { currency?: string; price?: number; frequency?: string; commitment?: CommitmentInterface; isStartingAt?: boolean; shouldContactSales?: boolean; priceDisplaySku?: string; } export interface RemovePartnerFromPermissionsListRequestInterface { appId?: string; partnerId?: string; permissionsList?: e.PermissionsListType; } export interface ListDiscoverableAppSuggestionsResponseSuggestionInterface { appName?: string; } export interface TagInterface { kind?: string; value?: string; } export interface UpdateEventInterface { timestamp?: Date; status?: e.AppEnablementStatusesAppEnablementStatus; origin?: string; } export interface UpdatePackageOperationInterface { name?: string; tagline?: string; iconUrl?: string; headerImageUrl?: string; content?: string; pricing?: PricingInterface; hideProductDetails?: boolean; hideProductIconsAndNames?: boolean; lineItems?: LineItemsInterface; status?: e.StatusesStatus; marketAction?: MarketActionInterface; usesBillingPricing?: boolean; pricingDisplayOption?: e.PricingDisplayOption; iconUrlV2?: string; headerImageUrlV2?: string; lineItemDisplayOption?: e.LineItemDisplayOption; } export interface UpdatePackageRequestInterface { packageId?: string; updatePackageOperations?: UpdatePackageOperationInterface[]; } export interface UpdatePackageResponseInterface { package?: PackageInterface; } export interface UpsertAppPermissionsRequestInterface { appId?: string; whitelist?: string[]; blacklist?: string[]; distributed?: boolean; } export interface UpsertAppPermissionsResponseInterface { appId?: string; whitelist?: string[]; blacklist?: string[]; distributed?: boolean; } export interface VendorRetailPriceInterface { billingFrequency?: string; currency?: string; price?: number; editionPrice?: boolean; } export interface WholesalePriceInterface { billingFrequency?: string; currency?: string; price?: number; }