{"version":3,"sources":["node_modules/@vendasta/marketplace-apps/fesm2020/vendasta-marketplace-apps-v1.mjs","libs/marketplace-apps/src/v1/vendor.service.ts","libs/marketplace-apps/src/v1/marketplace-app.service.ts","libs/marketplace-apps/src/v1/editions.service.ts","libs/marketplace-apps/src/v1/file.model.ts","libs/marketplace-apps/src/v1/addon.model.ts"],"sourcesContent":["import * as i0 from '@angular/core';\nimport { Injectable } from '@angular/core';\nimport * as i1 from '@angular/common/http';\nimport { HttpHeaders } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\n\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar FeeAmountType = /*#__PURE__*/function (FeeAmountType) {\n FeeAmountType[FeeAmountType[\"FEE_AMOUNT_TYPE_INVALID\"] = 0] = \"FEE_AMOUNT_TYPE_INVALID\";\n FeeAmountType[FeeAmountType[\"FEE_AMOUNT_TYPE_FIXED\"] = 1] = \"FEE_AMOUNT_TYPE_FIXED\";\n FeeAmountType[FeeAmountType[\"FEE_AMOUNT_TYPE_PERCENTAGE\"] = 2] = \"FEE_AMOUNT_TYPE_PERCENTAGE\";\n return FeeAmountType;\n}(FeeAmountType || {});\nvar FeeType = /*#__PURE__*/function (FeeType) {\n FeeType[FeeType[\"FEE_TYPE_INVALID\"] = 0] = \"FEE_TYPE_INVALID\";\n FeeType[FeeType[\"FEE_TYPE_MANAGEMENT\"] = 1] = \"FEE_TYPE_MANAGEMENT\";\n return FeeType;\n}(FeeType || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar AppType = /*#__PURE__*/function (AppType) {\n AppType[AppType[\"APP_TYPE_APP\"] = 0] = \"APP_TYPE_APP\";\n AppType[AppType[\"APP_TYPE_ADDON\"] = 1] = \"APP_TYPE_ADDON\";\n AppType[AppType[\"APP_TYPE_UNSPECIFIED\"] = 2] = \"APP_TYPE_UNSPECIFIED\";\n return AppType;\n}(AppType || {});\nvar ApprovalProcess = /*#__PURE__*/function (ApprovalProcess) {\n ApprovalProcess[ApprovalProcess[\"APPROVAL_PROCESS_INVALID\"] = 0] = \"APPROVAL_PROCESS_INVALID\";\n ApprovalProcess[ApprovalProcess[\"APPROVAL_PROCESS_VENDASTA\"] = 1] = \"APPROVAL_PROCESS_VENDASTA\";\n ApprovalProcess[ApprovalProcess[\"APPROVAL_PROCESS_VENDOR\"] = 2] = \"APPROVAL_PROCESS_VENDOR\";\n return ApprovalProcess;\n}(ApprovalProcess || {});\nvar BillingProcess = /*#__PURE__*/function (BillingProcess) {\n BillingProcess[BillingProcess[\"BILLING_PROCESS_INVALID\"] = 0] = \"BILLING_PROCESS_INVALID\";\n BillingProcess[BillingProcess[\"BILLING_PROCESS_NO_BILLING\"] = 1] = \"BILLING_PROCESS_NO_BILLING\";\n BillingProcess[BillingProcess[\"BILLING_PROCESS_VENDASTA_BILLING\"] = 2] = \"BILLING_PROCESS_VENDASTA_BILLING\";\n return BillingProcess;\n}(BillingProcess || {});\nvar DeliveryMethod = /*#__PURE__*/function (DeliveryMethod) {\n DeliveryMethod[DeliveryMethod[\"DELIVERY_METHOD_INVALID\"] = 0] = \"DELIVERY_METHOD_INVALID\";\n DeliveryMethod[DeliveryMethod[\"DELIVERY_METHOD_PRODUCT\"] = 1] = \"DELIVERY_METHOD_PRODUCT\";\n DeliveryMethod[DeliveryMethod[\"DELIVERY_METHOD_SERVICE\"] = 2] = \"DELIVERY_METHOD_SERVICE\";\n return DeliveryMethod;\n}(DeliveryMethod || {});\nvar DistributionSetting = /*#__PURE__*/function (DistributionSetting) {\n DistributionSetting[DistributionSetting[\"DISTRIBUTION_SETTING_INVALID\"] = 0] = \"DISTRIBUTION_SETTING_INVALID\";\n DistributionSetting[DistributionSetting[\"DISTRIBUTION_SETTING_ALL\"] = 1] = \"DISTRIBUTION_SETTING_ALL\";\n DistributionSetting[DistributionSetting[\"DISTRIBUTION_SETTING_SELF\"] = 2] = \"DISTRIBUTION_SETTING_SELF\";\n return DistributionSetting;\n}(DistributionSetting || {});\nvar EndOfTrialActions = /*#__PURE__*/function (EndOfTrialActions) {\n EndOfTrialActions[EndOfTrialActions[\"DO_NOTHING\"] = 0] = \"DO_NOTHING\";\n return EndOfTrialActions;\n}(EndOfTrialActions || {});\nvar MarketplaceAppLmiLmiCategories = /*#__PURE__*/function (MarketplaceAppLmiLmiCategories) {\n MarketplaceAppLmiLmiCategories[MarketplaceAppLmiLmiCategories[\"NOT_SET\"] = 0] = \"NOT_SET\";\n MarketplaceAppLmiLmiCategories[MarketplaceAppLmiLmiCategories[\"WEBSITE\"] = 1] = \"WEBSITE\";\n MarketplaceAppLmiLmiCategories[MarketplaceAppLmiLmiCategories[\"CONTENT_AND_EXPERIENCE\"] = 2] = \"CONTENT_AND_EXPERIENCE\";\n MarketplaceAppLmiLmiCategories[MarketplaceAppLmiLmiCategories[\"LISTINGS\"] = 3] = \"LISTINGS\";\n MarketplaceAppLmiLmiCategories[MarketplaceAppLmiLmiCategories[\"REPUTATION\"] = 4] = \"REPUTATION\";\n MarketplaceAppLmiLmiCategories[MarketplaceAppLmiLmiCategories[\"SEO\"] = 5] = \"SEO\";\n MarketplaceAppLmiLmiCategories[MarketplaceAppLmiLmiCategories[\"SOCIAL\"] = 6] = \"SOCIAL\";\n MarketplaceAppLmiLmiCategories[MarketplaceAppLmiLmiCategories[\"ADVERTISING\"] = 7] = \"ADVERTISING\";\n return MarketplaceAppLmiLmiCategories;\n}(MarketplaceAppLmiLmiCategories || {});\nvar MarketplaceAppProductProductCategories = /*#__PURE__*/function (MarketplaceAppProductProductCategories) {\n MarketplaceAppProductProductCategories[MarketplaceAppProductProductCategories[\"NOT_SET\"] = 0] = \"NOT_SET\";\n MarketplaceAppProductProductCategories[MarketplaceAppProductProductCategories[\"DIGITAL\"] = 1] = \"DIGITAL\";\n MarketplaceAppProductProductCategories[MarketplaceAppProductProductCategories[\"WEBSITE\"] = 2] = \"WEBSITE\";\n MarketplaceAppProductProductCategories[MarketplaceAppProductProductCategories[\"PRINT\"] = 3] = \"PRINT\";\n MarketplaceAppProductProductCategories[MarketplaceAppProductProductCategories[\"YELLOW_PAGES\"] = 4] = \"YELLOW_PAGES\";\n MarketplaceAppProductProductCategories[MarketplaceAppProductProductCategories[\"RADIO\"] = 5] = \"RADIO\";\n MarketplaceAppProductProductCategories[MarketplaceAppProductProductCategories[\"TELEVISION\"] = 6] = \"TELEVISION\";\n MarketplaceAppProductProductCategories[MarketplaceAppProductProductCategories[\"SEM\"] = 7] = \"SEM\";\n MarketplaceAppProductProductCategories[MarketplaceAppProductProductCategories[\"SEO\"] = 8] = \"SEO\";\n MarketplaceAppProductProductCategories[MarketplaceAppProductProductCategories[\"COMBINATION\"] = 9] = \"COMBINATION\";\n MarketplaceAppProductProductCategories[MarketplaceAppProductProductCategories[\"SOCIAL\"] = 10] = \"SOCIAL\";\n MarketplaceAppProductProductCategories[MarketplaceAppProductProductCategories[\"VENDASTA_APP\"] = 11] = \"VENDASTA_APP\";\n MarketplaceAppProductProductCategories[MarketplaceAppProductProductCategories[\"OTHER\"] = 12] = \"OTHER\";\n MarketplaceAppProductProductCategories[MarketplaceAppProductProductCategories[\"VENDOR_APP\"] = 13] = \"VENDOR_APP\";\n return MarketplaceAppProductProductCategories;\n}(MarketplaceAppProductProductCategories || {});\nvar ReleaseType = /*#__PURE__*/function (ReleaseType) {\n ReleaseType[ReleaseType[\"RELEASE_TYPE_PUBLISH\"] = 0] = \"RELEASE_TYPE_PUBLISH\";\n ReleaseType[ReleaseType[\"RELEASE_TYPE_DRAFT\"] = 1] = \"RELEASE_TYPE_DRAFT\";\n return ReleaseType;\n}(ReleaseType || {});\nvar State = /*#__PURE__*/function (State) {\n State[State[\"STATE_INVALID\"] = 0] = \"STATE_INVALID\";\n State[State[\"STATE_DRAFT\"] = 1] = \"STATE_DRAFT\";\n State[State[\"STATE_PUBLISHED\"] = 2] = \"STATE_PUBLISHED\";\n return State;\n}(State || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar StateFilterOptions = /*#__PURE__*/function (StateFilterOptions) {\n StateFilterOptions[StateFilterOptions[\"STATE_FILTER_OPTIONS_PUBLISHED\"] = 0] = \"STATE_FILTER_OPTIONS_PUBLISHED\";\n StateFilterOptions[StateFilterOptions[\"STATE_FILTER_OPTIONS_STATE_DRAFT\"] = 1] = \"STATE_FILTER_OPTIONS_STATE_DRAFT\";\n StateFilterOptions[StateFilterOptions[\"STATE_FILTER_OPTIONS_STATE_ALL\"] = 2] = \"STATE_FILTER_OPTIONS_STATE_ALL\";\n return StateFilterOptions;\n}(StateFilterOptions || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar EditionBillingFrequency = /*#__PURE__*/function (EditionBillingFrequency) {\n EditionBillingFrequency[EditionBillingFrequency[\"EDITION_BILLING_FREQUENCY_INVALID\"] = 0] = \"EDITION_BILLING_FREQUENCY_INVALID\";\n EditionBillingFrequency[EditionBillingFrequency[\"EDITION_BILLING_FREQUENCY_MONTHLY\"] = 1] = \"EDITION_BILLING_FREQUENCY_MONTHLY\";\n EditionBillingFrequency[EditionBillingFrequency[\"EDITION_BILLING_FREQUENCY_YEARLY\"] = 2] = \"EDITION_BILLING_FREQUENCY_YEARLY\";\n EditionBillingFrequency[EditionBillingFrequency[\"EDITION_BILLING_FREQUENCY_ONETIME\"] = 3] = \"EDITION_BILLING_FREQUENCY_ONETIME\";\n return EditionBillingFrequency;\n}(EditionBillingFrequency || {});\nvar Release = /*#__PURE__*/function (Release) {\n Release[Release[\"RELEASE_PUBLISH\"] = 0] = \"RELEASE_PUBLISH\";\n Release[Release[\"RELEASE_DRAFT\"] = 1] = \"RELEASE_DRAFT\";\n return Release;\n}(Release || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums Index.\n// *********************************\n\nfunction enumStringToValue$c(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass Fee {\n static fromProto(proto) {\n let m = new Fee();\n m = Object.assign(m, proto);\n if (proto.amountType) {\n m.amountType = enumStringToValue$c(FeeAmountType, proto.amountType);\n }\n if (proto.feeType) {\n m.feeType = enumStringToValue$c(FeeType, proto.feeType);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.amount !== 'undefined') {\n toReturn['amount'] = this.amount;\n }\n if (typeof this.amountType !== 'undefined') {\n toReturn['amountType'] = this.amountType;\n }\n if (typeof this.feeType !== 'undefined') {\n toReturn['feeType'] = this.feeType;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$b(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass Commitment {\n static fromProto(proto) {\n let m = new Commitment();\n m = Object.assign(m, proto);\n if (proto.initial) {\n m.initial = parseInt(proto.initial, 10);\n }\n if (proto.recurring) {\n m.recurring = parseInt(proto.recurring, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.initial !== 'undefined') {\n toReturn['initial'] = this.initial;\n }\n if (typeof this.recurring !== 'undefined') {\n toReturn['recurring'] = this.recurring;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$a(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass IncludedCommonFormFields {\n static fromProto(proto) {\n let m = new IncludedCommonFormFields();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.businessName !== 'undefined') {\n toReturn['businessName'] = this.businessName;\n }\n if (typeof this.businessAddress !== 'undefined') {\n toReturn['businessAddress'] = this.businessAddress;\n }\n if (typeof this.businessPhoneNumber !== 'undefined') {\n toReturn['businessPhoneNumber'] = this.businessPhoneNumber;\n }\n if (typeof this.businessAccountGroupId !== 'undefined') {\n toReturn['businessAccountGroupId'] = this.businessAccountGroupId;\n }\n if (typeof this.salespersonName !== 'undefined') {\n toReturn['salespersonName'] = this.salespersonName;\n }\n if (typeof this.salespersonPhoneNumber !== 'undefined') {\n toReturn['salespersonPhoneNumber'] = this.salespersonPhoneNumber;\n }\n if (typeof this.salespersonEmail !== 'undefined') {\n toReturn['salespersonEmail'] = this.salespersonEmail;\n }\n if (typeof this.contactName !== 'undefined') {\n toReturn['contactName'] = this.contactName;\n }\n if (typeof this.contactPhoneNumber !== 'undefined') {\n toReturn['contactPhoneNumber'] = this.contactPhoneNumber;\n }\n if (typeof this.contactEmail !== 'undefined') {\n toReturn['contactEmail'] = this.contactEmail;\n }\n if (typeof this.businessWebsite !== 'undefined') {\n toReturn['businessWebsite'] = this.businessWebsite;\n }\n return toReturn;\n }\n}\nclass OrderFormFieldOption {\n static fromProto(proto) {\n let m = new OrderFormFieldOption();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.label !== 'undefined') {\n toReturn['label'] = this.label;\n }\n if (typeof this.value !== 'undefined') {\n toReturn['value'] = this.value;\n }\n return toReturn;\n }\n}\nclass OrderForm {\n static fromProto(proto) {\n let m = new OrderForm();\n m = Object.assign(m, proto);\n if (proto.orderForm) {\n m.orderForm = proto.orderForm.map(OrderFormField.fromProto);\n }\n if (proto.commonForm) {\n m.commonForm = IncludedCommonFormFields.fromProto(proto.commonForm);\n }\n if (proto.commonFormRequiredFields) {\n m.commonFormRequiredFields = IncludedCommonFormFields.fromProto(proto.commonFormRequiredFields);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.orderForm !== 'undefined' && this.orderForm !== null) {\n toReturn['orderForm'] = 'toApiJson' in this.orderForm ? this.orderForm.toApiJson() : this.orderForm;\n }\n if (typeof this.commonForm !== 'undefined' && this.commonForm !== null) {\n toReturn['commonForm'] = 'toApiJson' in this.commonForm ? this.commonForm.toApiJson() : this.commonForm;\n }\n if (typeof this.activationMessage !== 'undefined') {\n toReturn['activationMessage'] = this.activationMessage;\n }\n if (typeof this.separateOrderForms !== 'undefined') {\n toReturn['separateOrderForms'] = this.separateOrderForms;\n }\n if (typeof this.commonFormRequiredFields !== 'undefined' && this.commonFormRequiredFields !== null) {\n toReturn['commonFormRequiredFields'] = 'toApiJson' in this.commonFormRequiredFields ? this.commonFormRequiredFields.toApiJson() : this.commonFormRequiredFields;\n }\n if (typeof this.usesPostBillingOrderForm !== 'undefined') {\n toReturn['usesPostBillingOrderForm'] = this.usesPostBillingOrderForm;\n }\n if (typeof this.footerText !== 'undefined') {\n toReturn['footerText'] = this.footerText;\n }\n return toReturn;\n }\n}\nclass OrderFormField {\n static fromProto(proto) {\n let m = new OrderFormField();\n m = Object.assign(m, proto);\n if (proto.maxChoices) {\n m.maxChoices = parseInt(proto.maxChoices, 10);\n }\n if (proto.optionsWithLabels) {\n m.optionsWithLabels = proto.optionsWithLabels.map(OrderFormFieldOption.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.label !== 'undefined') {\n toReturn['label'] = this.label;\n }\n if (typeof this.id !== 'undefined') {\n toReturn['id'] = this.id;\n }\n if (typeof this.type !== 'undefined') {\n toReturn['type'] = this.type;\n }\n if (typeof this.options !== 'undefined') {\n toReturn['options'] = this.options;\n }\n if (typeof this.description !== 'undefined') {\n toReturn['description'] = this.description;\n }\n if (typeof this.required !== 'undefined') {\n toReturn['required'] = this.required;\n }\n if (typeof this.uploadUrl !== 'undefined') {\n toReturn['uploadUrl'] = this.uploadUrl;\n }\n if (typeof this.prefix !== 'undefined') {\n toReturn['prefix'] = this.prefix;\n }\n if (typeof this.suffix !== 'undefined') {\n toReturn['suffix'] = this.suffix;\n }\n if (typeof this.regexValidator !== 'undefined') {\n toReturn['regexValidator'] = this.regexValidator;\n }\n if (typeof this.regexErrorMessage !== 'undefined') {\n toReturn['regexErrorMessage'] = this.regexErrorMessage;\n }\n if (typeof this.useWebhookValidator !== 'undefined') {\n toReturn['useWebhookValidator'] = this.useWebhookValidator;\n }\n if (typeof this.allowMultiples !== 'undefined') {\n toReturn['allowMultiples'] = this.allowMultiples;\n }\n if (typeof this.allowDuplicates !== 'undefined') {\n toReturn['allowDuplicates'] = this.allowDuplicates;\n }\n if (typeof this.maxChoices !== 'undefined') {\n toReturn['maxChoices'] = this.maxChoices;\n }\n if (typeof this.forOfficeUseOnly !== 'undefined') {\n toReturn['forOfficeUseOnly'] = this.forOfficeUseOnly;\n }\n if (typeof this.optionsWithLabels !== 'undefined' && this.optionsWithLabels !== null) {\n toReturn['optionsWithLabels'] = 'toApiJson' in this.optionsWithLabels ? this.optionsWithLabels.toApiJson() : this.optionsWithLabels;\n }\n if (typeof this.officeEditableOnly !== 'undefined') {\n toReturn['officeEditableOnly'] = this.officeEditableOnly;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$9(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass AppRequirement {\n static fromProto(proto) {\n let m = new AppRequirement();\n m = Object.assign(m, proto);\n if (proto.rules) {\n m.rules = proto.rules.map(Rule.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.rules !== 'undefined' && this.rules !== null) {\n toReturn['rules'] = 'toApiJson' in this.rules ? this.rules.toApiJson() : this.rules;\n }\n if (typeof this.childrenAppIds !== 'undefined') {\n toReturn['childrenAppIds'] = this.childrenAppIds;\n }\n return toReturn;\n }\n}\nclass EditionIdentifier {\n static fromProto(proto) {\n let m = new EditionIdentifier();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.editionId !== 'undefined') {\n toReturn['editionId'] = this.editionId;\n }\n return toReturn;\n }\n}\nclass PermissionLists {\n static fromProto(proto) {\n let m = new PermissionLists();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.whitelist !== 'undefined') {\n toReturn['whitelist'] = this.whitelist;\n }\n if (typeof this.blacklist !== 'undefined') {\n toReturn['blacklist'] = this.blacklist;\n }\n return toReturn;\n }\n}\nclass RequiredBusinessData {\n static fromProto(proto) {\n let m = new RequiredBusinessData();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.hours !== 'undefined') {\n toReturn['hours'] = this.hours;\n }\n if (typeof this.descriptionLong !== 'undefined') {\n toReturn['descriptionLong'] = this.descriptionLong;\n }\n if (typeof this.descriptionShort !== 'undefined') {\n toReturn['descriptionShort'] = this.descriptionShort;\n }\n if (typeof this.services !== 'undefined') {\n toReturn['services'] = this.services;\n }\n if (typeof this.brands !== 'undefined') {\n toReturn['brands'] = this.brands;\n }\n return toReturn;\n }\n}\nclass RequiredFeatures {\n static fromProto(proto) {\n let m = new RequiredFeatures();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.whitelist !== 'undefined') {\n toReturn['whitelist'] = this.whitelist;\n }\n return toReturn;\n }\n}\nclass Restrictions {\n static fromProto(proto) {\n let m = new Restrictions();\n m = Object.assign(m, proto);\n if (proto.country) {\n m.country = PermissionLists.fromProto(proto.country);\n }\n if (proto.appRequirement) {\n m.appRequirement = AppRequirement.fromProto(proto.appRequirement);\n }\n if (proto.requiredFeatures) {\n m.requiredFeatures = RequiredFeatures.fromProto(proto.requiredFeatures);\n }\n if (proto.requiredBusinessData) {\n m.requiredBusinessData = RequiredBusinessData.fromProto(proto.requiredBusinessData);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.country !== 'undefined' && this.country !== null) {\n toReturn['country'] = 'toApiJson' in this.country ? this.country.toApiJson() : this.country;\n }\n if (typeof this.appRequirement !== 'undefined' && this.appRequirement !== null) {\n toReturn['appRequirement'] = 'toApiJson' in this.appRequirement ? this.appRequirement.toApiJson() : this.appRequirement;\n }\n if (typeof this.requiredFeatures !== 'undefined' && this.requiredFeatures !== null) {\n toReturn['requiredFeatures'] = 'toApiJson' in this.requiredFeatures ? this.requiredFeatures.toApiJson() : this.requiredFeatures;\n }\n if (typeof this.requiredBusinessData !== 'undefined' && this.requiredBusinessData !== null) {\n toReturn['requiredBusinessData'] = 'toApiJson' in this.requiredBusinessData ? this.requiredBusinessData.toApiJson() : this.requiredBusinessData;\n }\n return toReturn;\n }\n}\nclass Rule {\n static fromProto(proto) {\n let m = new Rule();\n m = Object.assign(m, proto);\n if (proto.requiredEditions) {\n m.requiredEditions = proto.requiredEditions.map(EditionIdentifier.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appIds !== 'undefined') {\n toReturn['appIds'] = this.appIds;\n }\n if (typeof this.requiredEditions !== 'undefined' && this.requiredEditions !== null) {\n toReturn['requiredEditions'] = 'toApiJson' in this.requiredEditions ? this.requiredEditions.toApiJson() : this.requiredEditions;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$8(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass Contact {\n static fromProto(proto) {\n let m = new Contact();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n return toReturn;\n }\n}\nclass Cost {\n static fromProto(proto) {\n let m = new Cost();\n m = Object.assign(m, proto);\n if (proto.price) {\n m.price = parseInt(proto.price, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.billingFrequency !== 'undefined') {\n toReturn['billingFrequency'] = this.billingFrequency;\n }\n if (typeof this.currency !== 'undefined') {\n toReturn['currency'] = this.currency;\n }\n if (typeof this.price !== 'undefined') {\n toReturn['price'] = this.price;\n }\n return toReturn;\n }\n}\nclass FrequentlyAskedQuestions {\n static fromProto(proto) {\n let m = new FrequentlyAskedQuestions();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.question !== 'undefined') {\n toReturn['question'] = this.question;\n }\n if (typeof this.answer !== 'undefined') {\n toReturn['answer'] = this.answer;\n }\n return toReturn;\n }\n}\nclass IdentifiedPublicKey {\n static fromProto(proto) {\n let m = new IdentifiedPublicKey();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.publicKeyId !== 'undefined') {\n toReturn['publicKeyId'] = this.publicKeyId;\n }\n if (typeof this.publicKey !== 'undefined') {\n toReturn['publicKey'] = this.publicKey;\n }\n return toReturn;\n }\n}\nclass Integration {\n static fromProto(proto) {\n let m = new Integration();\n m = Object.assign(m, proto);\n if (proto.identifiedPublicKeys) {\n m.identifiedPublicKeys = proto.identifiedPublicKeys.map(IdentifiedPublicKey.fromProto);\n }\n if (proto.partnerContactRecipients) {\n m.partnerContactRecipients = proto.partnerContactRecipients.map(Contact.fromProto);\n }\n if (proto.appApprovalProcess) {\n m.appApprovalProcess = enumStringToValue$8(ApprovalProcess, proto.appApprovalProcess);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.publicKey !== 'undefined') {\n toReturn['publicKey'] = this.publicKey;\n }\n if (typeof this.identifiedPublicKeys !== 'undefined' && this.identifiedPublicKeys !== null) {\n toReturn['identifiedPublicKeys'] = 'toApiJson' in this.identifiedPublicKeys ? this.identifiedPublicKeys.toApiJson() : this.identifiedPublicKeys;\n }\n if (typeof this.contactEmail !== 'undefined') {\n toReturn['contactEmail'] = this.contactEmail;\n }\n if (typeof this.approved !== 'undefined') {\n toReturn['approved'] = this.approved;\n }\n if (typeof this.vendor !== 'undefined') {\n toReturn['vendor'] = this.vendor;\n }\n if (typeof this.userIds !== 'undefined') {\n toReturn['userIds'] = this.userIds;\n }\n if (typeof this.purchaseWebhookUrl !== 'undefined') {\n toReturn['purchaseWebhookUrl'] = this.purchaseWebhookUrl;\n }\n if (typeof this.addonPurchaseWebhookUrl !== 'undefined') {\n toReturn['addonPurchaseWebhookUrl'] = this.addonPurchaseWebhookUrl;\n }\n if (typeof this.userModWebhookUrl !== 'undefined') {\n toReturn['userModWebhookUrl'] = this.userModWebhookUrl;\n }\n if (typeof this.salestoolWebhookUrl !== 'undefined') {\n toReturn['salestoolWebhookUrl'] = this.salestoolWebhookUrl;\n }\n if (typeof this.accountModWebhookUrl !== 'undefined') {\n toReturn['accountModWebhookUrl'] = this.accountModWebhookUrl;\n }\n if (typeof this.logoutWebhookUrl !== 'undefined') {\n toReturn['logoutWebhookUrl'] = this.logoutWebhookUrl;\n }\n if (typeof this.fulfillmentEmail !== 'undefined') {\n toReturn['fulfillmentEmail'] = this.fulfillmentEmail;\n }\n if (typeof this.entryUrl !== 'undefined') {\n toReturn['entryUrl'] = this.entryUrl;\n }\n if (typeof this.sessionUrl !== 'undefined') {\n toReturn['sessionUrl'] = this.sessionUrl;\n }\n if (typeof this.settingsUrl !== 'undefined') {\n toReturn['settingsUrl'] = this.settingsUrl;\n }\n if (typeof this.reserveIdUrl !== 'undefined') {\n toReturn['reserveIdUrl'] = this.reserveIdUrl;\n }\n if (typeof this.contactWebhookUrl !== 'undefined') {\n toReturn['contactWebhookUrl'] = this.contactWebhookUrl;\n }\n if (typeof this.activationRequiresApproval !== 'undefined') {\n toReturn['activationRequiresApproval'] = this.activationRequiresApproval;\n }\n if (typeof this.partnerSettingsWebhookUrl !== 'undefined') {\n toReturn['partnerSettingsWebhookUrl'] = this.partnerSettingsWebhookUrl;\n }\n if (typeof this.partnerContactRecipients !== 'undefined' && this.partnerContactRecipients !== null) {\n toReturn['partnerContactRecipients'] = 'toApiJson' in this.partnerContactRecipients ? this.partnerContactRecipients.toApiJson() : this.partnerContactRecipients;\n }\n if (typeof this.appApprovalProcess !== 'undefined') {\n toReturn['appApprovalProcess'] = this.appApprovalProcess;\n }\n if (typeof this.orderFormValidatorWebhookUrl !== 'undefined') {\n toReturn['orderFormValidatorWebhookUrl'] = this.orderFormValidatorWebhookUrl;\n }\n if (typeof this.allowWhiteLabeling !== 'undefined') {\n toReturn['allowWhiteLabeling'] = this.allowWhiteLabeling;\n }\n if (typeof this.customerWebhookUrl !== 'undefined') {\n toReturn['customerWebhookUrl'] = this.customerWebhookUrl;\n }\n if (typeof this.sendCancelationNotifications !== 'undefined') {\n toReturn['sendCancelationNotifications'] = this.sendCancelationNotifications;\n }\n if (typeof this.cancellationWehookUrl !== 'undefined') {\n toReturn['cancellationWehookUrl'] = this.cancellationWehookUrl;\n }\n if (typeof this.serviceChangeWebhookUrl !== 'undefined') {\n toReturn['serviceChangeWebhookUrl'] = this.serviceChangeWebhookUrl;\n }\n if (typeof this.appLevelHasAdminDashboard !== 'undefined') {\n toReturn['appLevelHasAdminDashboard'] = this.appLevelHasAdminDashboard;\n }\n return toReturn;\n }\n}\nclass MarketplaceAppLmi {\n static fromProto(proto) {\n let m = new MarketplaceAppLmi();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n return toReturn;\n }\n}\nclass MarketingInformation {\n static fromProto(proto) {\n let m = new MarketingInformation();\n m = Object.assign(m, proto);\n if (proto.faqs) {\n m.faqs = proto.faqs.map(FrequentlyAskedQuestions.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.description !== 'undefined') {\n toReturn['description'] = this.description;\n }\n if (typeof this.keySellingPoints !== 'undefined') {\n toReturn['keySellingPoints'] = this.keySellingPoints;\n }\n if (typeof this.faqs !== 'undefined' && this.faqs !== null) {\n toReturn['faqs'] = 'toApiJson' in this.faqs ? this.faqs.toApiJson() : this.faqs;\n }\n if (typeof this.files !== 'undefined') {\n toReturn['files'] = this.files;\n }\n if (typeof this.needHelp !== 'undefined') {\n toReturn['needHelp'] = this.needHelp;\n }\n if (typeof this.videos !== 'undefined') {\n toReturn['videos'] = this.videos;\n }\n return toReturn;\n }\n}\nclass MarketplaceApp {\n static fromProto(proto) {\n let m = new MarketplaceApp();\n m = Object.assign(m, proto);\n if (proto.version) {\n m.version = parseInt(proto.version, 10);\n }\n if (proto.price) {\n m.price = parseInt(proto.price, 10);\n }\n if (proto.productCategory) {\n m.productCategory = enumStringToValue$8(MarketplaceAppProductProductCategories, proto.productCategory);\n }\n if (proto.lmiCategories) {\n m.lmiCategories = proto.lmiCategories.map(v => enumStringToValue$8(MarketplaceAppLmiLmiCategories, v));\n }\n if (proto.integration) {\n m.integration = Integration.fromProto(proto.integration);\n }\n if (proto.orderForm) {\n m.orderForm = OrderForm.fromProto(proto.orderForm);\n }\n if (proto.resellerMarketing) {\n m.resellerMarketing = MarketingInformation.fromProto(proto.resellerMarketing);\n }\n if (proto.endUserMarketing) {\n m.endUserMarketing = MarketingInformation.fromProto(proto.endUserMarketing);\n }\n if (proto.created) {\n m.created = new Date(proto.created);\n }\n if (proto.updated) {\n m.updated = new Date(proto.updated);\n }\n if (proto.restrictions) {\n m.restrictions = Restrictions.fromProto(proto.restrictions);\n }\n if (proto.suggestedRetailPrice) {\n m.suggestedRetailPrice = parseInt(proto.suggestedRetailPrice, 10);\n }\n if (proto.commitment) {\n m.commitment = Commitment.fromProto(proto.commitment);\n }\n if (proto.trialConfiguration) {\n m.trialConfiguration = TrialConfiguration.fromProto(proto.trialConfiguration);\n }\n if (proto.state) {\n m.state = enumStringToValue$8(State, proto.state);\n }\n if (proto.type) {\n m.type = enumStringToValue$8(AppType, proto.type);\n }\n if (proto.cost) {\n m.cost = Cost.fromProto(proto.cost);\n }\n if (proto.billingProcess) {\n m.billingProcess = enumStringToValue$8(BillingProcess, proto.billingProcess);\n }\n if (proto.setupFee) {\n m.setupFee = parseInt(proto.setupFee, 10);\n }\n if (proto.suspended) {\n m.suspended = new Date(proto.suspended);\n }\n if (proto.deliveryMethod) {\n m.deliveryMethod = enumStringToValue$8(DeliveryMethod, proto.deliveryMethod);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.version !== 'undefined') {\n toReturn['version'] = this.version;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.icon !== 'undefined') {\n toReturn['icon'] = this.icon;\n }\n if (typeof this.allowWhitelabel !== 'undefined') {\n toReturn['allowWhitelabel'] = this.allowWhitelabel;\n }\n if (typeof this.inDevelopment !== 'undefined') {\n toReturn['inDevelopment'] = this.inDevelopment;\n }\n if (typeof this.trialSupport !== 'undefined') {\n toReturn['trialSupport'] = this.trialSupport;\n }\n if (typeof this.usesOrderForm !== 'undefined') {\n toReturn['usesOrderForm'] = this.usesOrderForm;\n }\n if (typeof this.tagline !== 'undefined') {\n toReturn['tagline'] = this.tagline;\n }\n if (typeof this.signInUrl !== 'undefined') {\n toReturn['signInUrl'] = this.signInUrl;\n }\n if (typeof this.currency !== 'undefined') {\n toReturn['currency'] = this.currency;\n }\n if (typeof this.price !== 'undefined') {\n toReturn['price'] = this.price;\n }\n if (typeof this.billingFrequency !== 'undefined') {\n toReturn['billingFrequency'] = this.billingFrequency;\n }\n if (typeof this.serviceModel !== 'undefined') {\n toReturn['serviceModel'] = this.serviceModel;\n }\n if (typeof this.screenshot !== 'undefined') {\n toReturn['screenshot'] = this.screenshot;\n }\n if (typeof this.websiteUrl !== 'undefined') {\n toReturn['websiteUrl'] = this.websiteUrl;\n }\n if (typeof this.headerImage !== 'undefined') {\n toReturn['headerImage'] = this.headerImage;\n }\n if (typeof this.productCategory !== 'undefined') {\n toReturn['productCategory'] = this.productCategory;\n }\n if (typeof this.lmiCategories !== 'undefined') {\n toReturn['lmiCategories'] = this.lmiCategories;\n }\n if (typeof this.integration !== 'undefined' && this.integration !== null) {\n toReturn['integration'] = 'toApiJson' in this.integration ? this.integration.toApiJson() : this.integration;\n }\n if (typeof this.orderForm !== 'undefined' && this.orderForm !== null) {\n toReturn['orderForm'] = 'toApiJson' in this.orderForm ? this.orderForm.toApiJson() : this.orderForm;\n }\n if (typeof this.resellerMarketing !== 'undefined' && this.resellerMarketing !== null) {\n toReturn['resellerMarketing'] = 'toApiJson' in this.resellerMarketing ? this.resellerMarketing.toApiJson() : this.resellerMarketing;\n }\n if (typeof this.endUserMarketing !== 'undefined' && this.endUserMarketing !== null) {\n toReturn['endUserMarketing'] = 'toApiJson' in this.endUserMarketing ? this.endUserMarketing.toApiJson() : this.endUserMarketing;\n }\n if (typeof this.created !== 'undefined' && this.created !== null) {\n toReturn['created'] = 'toApiJson' in this.created ? this.created.toApiJson() : this.created;\n }\n if (typeof this.updated !== 'undefined' && this.updated !== null) {\n toReturn['updated'] = 'toApiJson' in this.updated ? this.updated.toApiJson() : this.updated;\n }\n if (typeof this.allowPriceNegotiation !== 'undefined') {\n toReturn['allowPriceNegotiation'] = this.allowPriceNegotiation;\n }\n if (typeof this.restrictions !== 'undefined' && this.restrictions !== null) {\n toReturn['restrictions'] = 'toApiJson' in this.restrictions ? this.restrictions.toApiJson() : this.restrictions;\n }\n if (typeof this.billingId !== 'undefined') {\n toReturn['billingId'] = this.billingId;\n }\n if (typeof this.gdprCompliant !== 'undefined') {\n toReturn['gdprCompliant'] = this.gdprCompliant;\n }\n if (typeof this.preventPriceConversionBetweenCurrencies !== 'undefined') {\n toReturn['preventPriceConversionBetweenCurrencies'] = this.preventPriceConversionBetweenCurrencies;\n }\n if (typeof this.suggestedRetailPrice !== 'undefined') {\n toReturn['suggestedRetailPrice'] = this.suggestedRetailPrice;\n }\n if (typeof this.commitment !== 'undefined' && this.commitment !== null) {\n toReturn['commitment'] = 'toApiJson' in this.commitment ? this.commitment.toApiJson() : this.commitment;\n }\n if (typeof this.vendorId !== 'undefined') {\n toReturn['vendorId'] = this.vendorId;\n }\n if (typeof this.multipleActivations !== 'undefined') {\n toReturn['multipleActivations'] = this.multipleActivations;\n }\n if (typeof this.usesActivationSpecificEntryUrl !== 'undefined') {\n toReturn['usesActivationSpecificEntryUrl'] = this.usesActivationSpecificEntryUrl;\n }\n if (typeof this.usesResellerMarketing !== 'undefined') {\n toReturn['usesResellerMarketing'] = this.usesResellerMarketing;\n }\n if (typeof this.usesIntegration !== 'undefined') {\n toReturn['usesIntegration'] = this.usesIntegration;\n }\n if (typeof this.usesEditions !== 'undefined') {\n toReturn['usesEditions'] = this.usesEditions;\n }\n if (typeof this.usesSsoIntegration !== 'undefined') {\n toReturn['usesSsoIntegration'] = this.usesSsoIntegration;\n }\n if (typeof this.editionIds !== 'undefined') {\n toReturn['editionIds'] = this.editionIds;\n }\n if (typeof this.discoverable !== 'undefined') {\n toReturn['discoverable'] = this.discoverable;\n }\n if (typeof this.trialConfiguration !== 'undefined' && this.trialConfiguration !== null) {\n toReturn['trialConfiguration'] = 'toApiJson' in this.trialConfiguration ? this.trialConfiguration.toApiJson() : this.trialConfiguration;\n }\n if (typeof this.applicationUrl !== 'undefined') {\n toReturn['applicationUrl'] = this.applicationUrl;\n }\n if (typeof this.state !== 'undefined') {\n toReturn['state'] = this.state;\n }\n if (typeof this.type !== 'undefined') {\n toReturn['type'] = this.type;\n }\n if (typeof this.cost !== 'undefined' && this.cost !== null) {\n toReturn['cost'] = 'toApiJson' in this.cost ? this.cost.toApiJson() : this.cost;\n }\n if (typeof this.billingProcess !== 'undefined') {\n toReturn['billingProcess'] = this.billingProcess;\n }\n if (typeof this.setupFee !== 'undefined') {\n toReturn['setupFee'] = this.setupFee;\n }\n if (typeof this.suspended !== 'undefined' && this.suspended !== null) {\n toReturn['suspended'] = 'toApiJson' in this.suspended ? this.suspended.toApiJson() : this.suspended;\n }\n if (typeof this.usesCustomPricing !== 'undefined') {\n toReturn['usesCustomPricing'] = this.usesCustomPricing;\n }\n if (typeof this.usesFulfillmentIntegration !== 'undefined') {\n toReturn['usesFulfillmentIntegration'] = this.usesFulfillmentIntegration;\n }\n if (typeof this.deliveryMethod !== 'undefined') {\n toReturn['deliveryMethod'] = this.deliveryMethod;\n }\n if (typeof this.categories !== 'undefined') {\n toReturn['categories'] = this.categories;\n }\n return toReturn;\n }\n}\nclass MarketplaceAppProduct {\n static fromProto(proto) {\n let m = new MarketplaceAppProduct();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n return toReturn;\n }\n}\nclass TrialConfiguration {\n static fromProto(proto) {\n let m = new TrialConfiguration();\n m = Object.assign(m, proto);\n if (proto.endOfTrialAction) {\n m.endOfTrialAction = enumStringToValue$8(EndOfTrialActions, proto.endOfTrialAction);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.trialEnabled !== 'undefined') {\n toReturn['trialEnabled'] = this.trialEnabled;\n }\n if (typeof this.trialDuration !== 'undefined') {\n toReturn['trialDuration'] = this.trialDuration;\n }\n if (typeof this.endOfTrialAction !== 'undefined') {\n toReturn['endOfTrialAction'] = this.endOfTrialAction;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$7(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass Addon {\n static fromProto(proto) {\n let m = new Addon();\n m = Object.assign(m, proto);\n if (proto.price) {\n m.price = parseInt(proto.price, 10);\n }\n if (proto.created) {\n m.created = new Date(proto.created);\n }\n if (proto.updated) {\n m.updated = new Date(proto.updated);\n }\n if (proto.orderForm) {\n m.orderForm = OrderForm.fromProto(proto.orderForm);\n }\n if (proto.resellerMarketing) {\n m.resellerMarketing = MarketingInformation.fromProto(proto.resellerMarketing);\n }\n if (proto.endUserMarketing) {\n m.endUserMarketing = MarketingInformation.fromProto(proto.endUserMarketing);\n }\n if (proto.restrictions) {\n m.restrictions = Restrictions.fromProto(proto.restrictions);\n }\n if (proto.suggestedRetailPrice) {\n m.suggestedRetailPrice = parseInt(proto.suggestedRetailPrice, 10);\n }\n if (proto.commitment) {\n m.commitment = Commitment.fromProto(proto.commitment);\n }\n if (proto.setupFee) {\n m.setupFee = parseInt(proto.setupFee, 10);\n }\n if (proto.suspended) {\n m.suspended = new Date(proto.suspended);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.addonId !== 'undefined') {\n toReturn['addonId'] = this.addonId;\n }\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.tagline !== 'undefined') {\n toReturn['tagline'] = this.tagline;\n }\n if (typeof this.price !== 'undefined') {\n toReturn['price'] = this.price;\n }\n if (typeof this.title !== 'undefined') {\n toReturn['title'] = this.title;\n }\n if (typeof this.description !== 'undefined') {\n toReturn['description'] = this.description;\n }\n if (typeof this.created !== 'undefined' && this.created !== null) {\n toReturn['created'] = 'toApiJson' in this.created ? this.created.toApiJson() : this.created;\n }\n if (typeof this.updated !== 'undefined' && this.updated !== null) {\n toReturn['updated'] = 'toApiJson' in this.updated ? this.updated.toApiJson() : this.updated;\n }\n if (typeof this.orderForm !== 'undefined' && this.orderForm !== null) {\n toReturn['orderForm'] = 'toApiJson' in this.orderForm ? this.orderForm.toApiJson() : this.orderForm;\n }\n if (typeof this.usesOrderForm !== 'undefined') {\n toReturn['usesOrderForm'] = this.usesOrderForm;\n }\n if (typeof this.approved !== 'undefined') {\n toReturn['approved'] = this.approved;\n }\n if (typeof this.icon !== 'undefined') {\n toReturn['icon'] = this.icon;\n }\n if (typeof this.bannerImage !== 'undefined') {\n toReturn['bannerImage'] = this.bannerImage;\n }\n if (typeof this.resellerMarketing !== 'undefined' && this.resellerMarketing !== null) {\n toReturn['resellerMarketing'] = 'toApiJson' in this.resellerMarketing ? this.resellerMarketing.toApiJson() : this.resellerMarketing;\n }\n if (typeof this.endUserMarketing !== 'undefined' && this.endUserMarketing !== null) {\n toReturn['endUserMarketing'] = 'toApiJson' in this.endUserMarketing ? this.endUserMarketing.toApiJson() : this.endUserMarketing;\n }\n if (typeof this.billingFrequency !== 'undefined') {\n toReturn['billingFrequency'] = this.billingFrequency;\n }\n if (typeof this.serviceModel !== 'undefined') {\n toReturn['serviceModel'] = this.serviceModel;\n }\n if (typeof this.discoverable !== 'undefined') {\n toReturn['discoverable'] = this.discoverable;\n }\n if (typeof this.screenshots !== 'undefined') {\n toReturn['screenshots'] = this.screenshots;\n }\n if (typeof this.multipleActivations !== 'undefined') {\n toReturn['multipleActivations'] = this.multipleActivations;\n }\n if (typeof this.restrictions !== 'undefined' && this.restrictions !== null) {\n toReturn['restrictions'] = 'toApiJson' in this.restrictions ? this.restrictions.toApiJson() : this.restrictions;\n }\n if (typeof this.activationRequiresApproval !== 'undefined') {\n toReturn['activationRequiresApproval'] = this.activationRequiresApproval;\n }\n if (typeof this.billingId !== 'undefined') {\n toReturn['billingId'] = this.billingId;\n }\n if (typeof this.preventPriceConversionBetweenCurrencies !== 'undefined') {\n toReturn['preventPriceConversionBetweenCurrencies'] = this.preventPriceConversionBetweenCurrencies;\n }\n if (typeof this.suggestedRetailPrice !== 'undefined') {\n toReturn['suggestedRetailPrice'] = this.suggestedRetailPrice;\n }\n if (typeof this.commitment !== 'undefined' && this.commitment !== null) {\n toReturn['commitment'] = 'toApiJson' in this.commitment ? this.commitment.toApiJson() : this.commitment;\n }\n if (typeof this.currency !== 'undefined') {\n toReturn['currency'] = this.currency;\n }\n if (typeof this.setupFee !== 'undefined') {\n toReturn['setupFee'] = this.setupFee;\n }\n if (typeof this.suspended !== 'undefined' && this.suspended !== null) {\n toReturn['suspended'] = 'toApiJson' in this.suspended ? this.suspended.toApiJson() : this.suspended;\n }\n if (typeof this.usesCustomPricing !== 'undefined') {\n toReturn['usesCustomPricing'] = this.usesCustomPricing;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$6(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass Access {\n static fromProto(proto) {\n let m = new Access();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.scope !== 'undefined') {\n toReturn['scope'] = this.scope;\n }\n if (typeof this.public !== 'undefined') {\n toReturn['public'] = this.public;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$5(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass FieldMask {\n static fromProto(proto) {\n let m = new FieldMask();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.paths !== 'undefined') {\n toReturn['paths'] = this.paths;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$4(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass AppVendor {\n static fromProto(proto) {\n let m = new AppVendor();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.id !== 'undefined') {\n toReturn['id'] = this.id;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.appIds !== 'undefined') {\n toReturn['appIds'] = this.appIds;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.reportingCode !== 'undefined') {\n toReturn['reportingCode'] = this.reportingCode;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$3(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass ProductCostEditionCostEntry {\n static fromProto(proto) {\n let m = new ProductCostEditionCostEntry();\n m = Object.assign(m, proto);\n if (proto.value) {\n m.value = ProductCost.fromProto(proto.value);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.key !== 'undefined') {\n toReturn['key'] = this.key;\n }\n if (typeof this.value !== 'undefined' && this.value !== null) {\n toReturn['value'] = 'toApiJson' in this.value ? this.value.toApiJson() : this.value;\n }\n return toReturn;\n }\n}\nclass ProductCost {\n static fromProto(proto) {\n let m = new ProductCost();\n m = Object.assign(m, proto);\n if (proto.cost) {\n m.cost = parseInt(proto.cost, 10);\n }\n if (proto.commitment) {\n m.commitment = Commitment.fromProto(proto.commitment);\n }\n if (proto.editionCost) {\n m.editionCost = Object.keys(proto.editionCost).reduce((obj, k) => {\n obj[k] = ProductCost.fromProto(proto.editionCost[k]);\n return obj;\n }, {});\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.currency !== 'undefined') {\n toReturn['currency'] = this.currency;\n }\n if (typeof this.frequency !== 'undefined') {\n toReturn['frequency'] = this.frequency;\n }\n if (typeof this.cost !== 'undefined') {\n toReturn['cost'] = this.cost;\n }\n if (typeof this.commitment !== 'undefined' && this.commitment !== null) {\n toReturn['commitment'] = 'toApiJson' in this.commitment ? this.commitment.toApiJson() : this.commitment;\n }\n if (typeof this.isWholesale !== 'undefined') {\n toReturn['isWholesale'] = this.isWholesale;\n }\n if (typeof this.editionCost !== 'undefined' && this.editionCost !== null) {\n toReturn['editionCost'] = 'toApiJson' in this.editionCost ? this.editionCost.toApiJson() : this.editionCost;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$2(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass ActiveAppEditionIdentifier {\n static fromProto(proto) {\n let m = new ActiveAppEditionIdentifier();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.editionId !== 'undefined') {\n toReturn['editionId'] = this.editionId;\n }\n return toReturn;\n }\n}\nclass AddAppIDRequest {\n static fromProto(proto) {\n let m = new AddAppIDRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.id !== 'undefined') {\n toReturn['id'] = this.id;\n }\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n return toReturn;\n }\n}\nclass AddAppIDResponse {\n static fromProto(proto) {\n let m = new AddAppIDResponse();\n m = Object.assign(m, proto);\n if (proto.vendor) {\n m.vendor = AppVendor.fromProto(proto.vendor);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.vendor !== 'undefined' && this.vendor !== null) {\n toReturn['vendor'] = 'toApiJson' in this.vendor ? this.vendor.toApiJson() : this.vendor;\n }\n return toReturn;\n }\n}\nclass AddonResponse {\n static fromProto(proto) {\n let m = new AddonResponse();\n m = Object.assign(m, proto);\n if (proto.addon) {\n m.addon = Addon.fromProto(proto.addon);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.addon !== 'undefined' && this.addon !== null) {\n toReturn['addon'] = 'toApiJson' in this.addon ? this.addon.toApiJson() : this.addon;\n }\n return toReturn;\n }\n}\nclass AddonsListResponse {\n static fromProto(proto) {\n let m = new AddonsListResponse();\n m = Object.assign(m, proto);\n if (proto.addons) {\n m.addons = proto.addons.map(Addon.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.addons !== 'undefined' && this.addons !== null) {\n toReturn['addons'] = 'toApiJson' in this.addons ? this.addons.toApiJson() : this.addons;\n }\n if (typeof this.nextCursor !== 'undefined') {\n toReturn['nextCursor'] = this.nextCursor;\n }\n if (typeof this.hasMore !== 'undefined') {\n toReturn['hasMore'] = this.hasMore;\n }\n return toReturn;\n }\n}\nclass AppResponse {\n static fromProto(proto) {\n let m = new AppResponse();\n m = Object.assign(m, proto);\n if (proto.app) {\n m.app = MarketplaceApp.fromProto(proto.app);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.app !== 'undefined' && this.app !== null) {\n toReturn['app'] = 'toApiJson' in this.app ? this.app.toApiJson() : this.app;\n }\n return toReturn;\n }\n}\nclass ApproveAddonRequest {\n static fromProto(proto) {\n let m = new ApproveAddonRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.addonId !== 'undefined') {\n toReturn['addonId'] = this.addonId;\n }\n return toReturn;\n }\n}\nclass ApproveAppRequest {\n static fromProto(proto) {\n let m = new ApproveAppRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n return toReturn;\n }\n}\nclass CanActivateRequest {\n static fromProto(proto) {\n let m = new CanActivateRequest();\n m = Object.assign(m, proto);\n if (proto.activeAppEditionIds) {\n m.activeAppEditionIds = proto.activeAppEditionIds.map(ActiveAppEditionIdentifier.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appIds !== 'undefined') {\n toReturn['appIds'] = this.appIds;\n }\n if (typeof this.activeAppIds !== 'undefined') {\n toReturn['activeAppIds'] = this.activeAppIds;\n }\n if (typeof this.activeAppEditionIds !== 'undefined' && this.activeAppEditionIds !== null) {\n toReturn['activeAppEditionIds'] = 'toApiJson' in this.activeAppEditionIds ? this.activeAppEditionIds.toApiJson() : this.activeAppEditionIds;\n }\n return toReturn;\n }\n}\nclass CanActivateResponse {\n static fromProto(proto) {\n let m = new CanActivateResponse();\n m = Object.assign(m, proto);\n if (proto.invalidResponse) {\n m.invalidResponse = CanActivateResponseInvalidResponse.fromProto(proto.invalidResponse);\n }\n if (proto.successResponse) {\n m.successResponse = CanActivateResponseSuccessResponse.fromProto(proto.successResponse);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.invalidResponse !== 'undefined' && this.invalidResponse !== null) {\n toReturn['invalidResponse'] = 'toApiJson' in this.invalidResponse ? this.invalidResponse.toApiJson() : this.invalidResponse;\n }\n if (typeof this.successResponse !== 'undefined' && this.successResponse !== null) {\n toReturn['successResponse'] = 'toApiJson' in this.successResponse ? this.successResponse.toApiJson() : this.successResponse;\n }\n return toReturn;\n }\n}\nclass CreateAppRequest {\n static fromProto(proto) {\n let m = new CreateAppRequest();\n m = Object.assign(m, proto);\n if (proto.lmiCategories) {\n m.lmiCategories = proto.lmiCategories.map(v => enumStringToValue$2(MarketplaceAppLmiLmiCategories, v));\n }\n if (proto.price) {\n m.price = parseInt(proto.price, 10);\n }\n if (proto.restrictions) {\n m.restrictions = Restrictions.fromProto(proto.restrictions);\n }\n if (proto.orderForm) {\n m.orderForm = OrderForm.fromProto(proto.orderForm);\n }\n if (proto.resellerMarketing) {\n m.resellerMarketing = MarketingInformation.fromProto(proto.resellerMarketing);\n }\n if (proto.endUserMarketing) {\n m.endUserMarketing = MarketingInformation.fromProto(proto.endUserMarketing);\n }\n if (proto.suggestedRetailPrice) {\n m.suggestedRetailPrice = parseInt(proto.suggestedRetailPrice, 10);\n }\n if (proto.country) {\n m.country = PermissionLists.fromProto(proto.country);\n }\n if (proto.commitment) {\n m.commitment = Commitment.fromProto(proto.commitment);\n }\n if (proto.distributionSetting) {\n m.distributionSetting = enumStringToValue$2(DistributionSetting, proto.distributionSetting);\n }\n if (proto.state) {\n m.state = enumStringToValue$2(State, proto.state);\n }\n if (proto.cost) {\n m.cost = Cost.fromProto(proto.cost);\n }\n if (proto.setupFee) {\n m.setupFee = parseInt(proto.setupFee, 10);\n }\n if (proto.deliveryMethod) {\n m.deliveryMethod = enumStringToValue$2(DeliveryMethod, proto.deliveryMethod);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.vendor !== 'undefined') {\n toReturn['vendor'] = this.vendor;\n }\n if (typeof this.tagline !== 'undefined') {\n toReturn['tagline'] = this.tagline;\n }\n if (typeof this.serviceModel !== 'undefined') {\n toReturn['serviceModel'] = this.serviceModel;\n }\n if (typeof this.lmiCategories !== 'undefined') {\n toReturn['lmiCategories'] = this.lmiCategories;\n }\n if (typeof this.icon !== 'undefined') {\n toReturn['icon'] = this.icon;\n }\n if (typeof this.headerImage !== 'undefined') {\n toReturn['headerImage'] = this.headerImage;\n }\n if (typeof this.screenshot !== 'undefined') {\n toReturn['screenshot'] = this.screenshot;\n }\n if (typeof this.price !== 'undefined') {\n toReturn['price'] = this.price;\n }\n if (typeof this.currency !== 'undefined') {\n toReturn['currency'] = this.currency;\n }\n if (typeof this.billingFrequency !== 'undefined') {\n toReturn['billingFrequency'] = this.billingFrequency;\n }\n if (typeof this.restrictions !== 'undefined' && this.restrictions !== null) {\n toReturn['restrictions'] = 'toApiJson' in this.restrictions ? this.restrictions.toApiJson() : this.restrictions;\n }\n if (typeof this.allowPriceNegotiation !== 'undefined') {\n toReturn['allowPriceNegotiation'] = this.allowPriceNegotiation;\n }\n if (typeof this.publicKey !== 'undefined') {\n toReturn['publicKey'] = this.publicKey;\n }\n if (typeof this.reserveIdUrl !== 'undefined') {\n toReturn['reserveIdUrl'] = this.reserveIdUrl;\n }\n if (typeof this.purchaseWebhookUrl !== 'undefined') {\n toReturn['purchaseWebhookUrl'] = this.purchaseWebhookUrl;\n }\n if (typeof this.activationRequiresApproval !== 'undefined') {\n toReturn['activationRequiresApproval'] = this.activationRequiresApproval;\n }\n if (typeof this.addonPurchaseWebhookUrl !== 'undefined') {\n toReturn['addonPurchaseWebhookUrl'] = this.addonPurchaseWebhookUrl;\n }\n if (typeof this.userModWebhookUrl !== 'undefined') {\n toReturn['userModWebhookUrl'] = this.userModWebhookUrl;\n }\n if (typeof this.accountModWebhookUrl !== 'undefined') {\n toReturn['accountModWebhookUrl'] = this.accountModWebhookUrl;\n }\n if (typeof this.contactWebhookUrl !== 'undefined') {\n toReturn['contactWebhookUrl'] = this.contactWebhookUrl;\n }\n if (typeof this.fulfillmentEmail !== 'undefined') {\n toReturn['fulfillmentEmail'] = this.fulfillmentEmail;\n }\n if (typeof this.entryUrl !== 'undefined') {\n toReturn['entryUrl'] = this.entryUrl;\n }\n if (typeof this.sessionUrl !== 'undefined') {\n toReturn['sessionUrl'] = this.sessionUrl;\n }\n if (typeof this.logoutUrl !== 'undefined') {\n toReturn['logoutUrl'] = this.logoutUrl;\n }\n if (typeof this.usesOrderForm !== 'undefined') {\n toReturn['usesOrderForm'] = this.usesOrderForm;\n }\n if (typeof this.orderForm !== 'undefined' && this.orderForm !== null) {\n toReturn['orderForm'] = 'toApiJson' in this.orderForm ? this.orderForm.toApiJson() : this.orderForm;\n }\n if (typeof this.resellerMarketing !== 'undefined' && this.resellerMarketing !== null) {\n toReturn['resellerMarketing'] = 'toApiJson' in this.resellerMarketing ? this.resellerMarketing.toApiJson() : this.resellerMarketing;\n }\n if (typeof this.endUserMarketing !== 'undefined' && this.endUserMarketing !== null) {\n toReturn['endUserMarketing'] = 'toApiJson' in this.endUserMarketing ? this.endUserMarketing.toApiJson() : this.endUserMarketing;\n }\n if (typeof this.preventPriceConversionBetweenCurrencies !== 'undefined') {\n toReturn['preventPriceConversionBetweenCurrencies'] = this.preventPriceConversionBetweenCurrencies;\n }\n if (typeof this.partnerSettingsWebhookUrl !== 'undefined') {\n toReturn['partnerSettingsWebhookUrl'] = this.partnerSettingsWebhookUrl;\n }\n if (typeof this.suggestedRetailPrice !== 'undefined') {\n toReturn['suggestedRetailPrice'] = this.suggestedRetailPrice;\n }\n if (typeof this.country !== 'undefined' && this.country !== null) {\n toReturn['country'] = 'toApiJson' in this.country ? this.country.toApiJson() : this.country;\n }\n if (typeof this.commitment !== 'undefined' && this.commitment !== null) {\n toReturn['commitment'] = 'toApiJson' in this.commitment ? this.commitment.toApiJson() : this.commitment;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.vendorId !== 'undefined') {\n toReturn['vendorId'] = this.vendorId;\n }\n if (typeof this.customAppId !== 'undefined') {\n toReturn['customAppId'] = this.customAppId;\n }\n if (typeof this.multipleActivations !== 'undefined') {\n toReturn['multipleActivations'] = this.multipleActivations;\n }\n if (typeof this.usesActivationSpecificEntryUrl !== 'undefined') {\n toReturn['usesActivationSpecificEntryUrl'] = this.usesActivationSpecificEntryUrl;\n }\n if (typeof this.usesResellerMarketing !== 'undefined') {\n toReturn['usesResellerMarketing'] = this.usesResellerMarketing;\n }\n if (typeof this.usesIntegration !== 'undefined') {\n toReturn['usesIntegration'] = this.usesIntegration;\n }\n if (typeof this.usesEditions !== 'undefined') {\n toReturn['usesEditions'] = this.usesEditions;\n }\n if (typeof this.usesSsoIntegration !== 'undefined') {\n toReturn['usesSsoIntegration'] = this.usesSsoIntegration;\n }\n if (typeof this.discoverable !== 'undefined') {\n toReturn['discoverable'] = this.discoverable;\n }\n if (typeof this.distributionSetting !== 'undefined') {\n toReturn['distributionSetting'] = this.distributionSetting;\n }\n if (typeof this.orderFormValidatorWebhookUrl !== 'undefined') {\n toReturn['orderFormValidatorWebhookUrl'] = this.orderFormValidatorWebhookUrl;\n }\n if (typeof this.applicationUrl !== 'undefined') {\n toReturn['applicationUrl'] = this.applicationUrl;\n }\n if (typeof this.allowWhiteLabeling !== 'undefined') {\n toReturn['allowWhiteLabeling'] = this.allowWhiteLabeling;\n }\n if (typeof this.state !== 'undefined') {\n toReturn['state'] = this.state;\n }\n if (typeof this.cost !== 'undefined' && this.cost !== null) {\n toReturn['cost'] = 'toApiJson' in this.cost ? this.cost.toApiJson() : this.cost;\n }\n if (typeof this.setupFee !== 'undefined') {\n toReturn['setupFee'] = this.setupFee;\n }\n if (typeof this.usesCustomPricing !== 'undefined') {\n toReturn['usesCustomPricing'] = this.usesCustomPricing;\n }\n if (typeof this.customerWebhookUrl !== 'undefined') {\n toReturn['customerWebhookUrl'] = this.customerWebhookUrl;\n }\n if (typeof this.sendCancelationNotifications !== 'undefined') {\n toReturn['sendCancelationNotifications'] = this.sendCancelationNotifications;\n }\n if (typeof this.cancellationWebhookUrl !== 'undefined') {\n toReturn['cancellationWebhookUrl'] = this.cancellationWebhookUrl;\n }\n if (typeof this.deliveryMethod !== 'undefined') {\n toReturn['deliveryMethod'] = this.deliveryMethod;\n }\n if (typeof this.serviceChangeWebhookUrl !== 'undefined') {\n toReturn['serviceChangeWebhookUrl'] = this.serviceChangeWebhookUrl;\n }\n if (typeof this.appLevelHasAdminDashboard !== 'undefined') {\n toReturn['appLevelHasAdminDashboard'] = this.appLevelHasAdminDashboard;\n }\n return toReturn;\n }\n}\nclass CreateVendorRequest {\n static fromProto(proto) {\n let m = new CreateVendorRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n return toReturn;\n }\n}\nclass CreateVendorResponse {\n static fromProto(proto) {\n let m = new CreateVendorResponse();\n m = Object.assign(m, proto);\n if (proto.vendor) {\n m.vendor = AppVendor.fromProto(proto.vendor);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.vendor !== 'undefined' && this.vendor !== null) {\n toReturn['vendor'] = 'toApiJson' in this.vendor ? this.vendor.toApiJson() : this.vendor;\n }\n return toReturn;\n }\n}\nclass DeleteAppRequest {\n static fromProto(proto) {\n let m = new DeleteAppRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n return toReturn;\n }\n}\nclass DuplicateAppRequest {\n static fromProto(proto) {\n let m = new DuplicateAppRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n return toReturn;\n }\n}\nclass DuplicateAppResponse {\n static fromProto(proto) {\n let m = new DuplicateAppResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n return toReturn;\n }\n}\nclass GetAddonRequest {\n static fromProto(proto) {\n let m = new GetAddonRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.addonId !== 'undefined') {\n toReturn['addonId'] = this.addonId;\n }\n return toReturn;\n }\n}\nclass GetAppIDFromSkuRequest {\n static fromProto(proto) {\n let m = new GetAppIDFromSkuRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.sku !== 'undefined') {\n toReturn['sku'] = this.sku;\n }\n return toReturn;\n }\n}\nclass GetAppIDFromSkuResponse {\n static fromProto(proto) {\n let m = new GetAppIDFromSkuResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.addonId !== 'undefined') {\n toReturn['addonId'] = this.addonId;\n }\n if (typeof this.editionId !== 'undefined') {\n toReturn['editionId'] = this.editionId;\n }\n return toReturn;\n }\n}\nclass GetAppRequest {\n static fromProto(proto) {\n let m = new GetAppRequest();\n m = Object.assign(m, proto);\n if (proto.fieldMask) {\n m.fieldMask = FieldMask.fromProto(proto.fieldMask);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {\n toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? this.fieldMask.toApiJson() : this.fieldMask;\n }\n if (typeof this.bypassCache !== 'undefined') {\n toReturn['bypassCache'] = this.bypassCache;\n }\n return toReturn;\n }\n}\nclass GetAppResponse {\n static fromProto(proto) {\n let m = new GetAppResponse();\n m = Object.assign(m, proto);\n if (proto.app) {\n m.app = MarketplaceApp.fromProto(proto.app);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.app !== 'undefined' && this.app !== null) {\n toReturn['app'] = 'toApiJson' in this.app ? this.app.toApiJson() : this.app;\n }\n return toReturn;\n }\n}\nclass GetAppsToDeactivateUponDeactivationRequest {\n static fromProto(proto) {\n let m = new GetAppsToDeactivateUponDeactivationRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appIdsToDeactivate !== 'undefined') {\n toReturn['appIdsToDeactivate'] = this.appIdsToDeactivate;\n }\n if (typeof this.activeAppIds !== 'undefined') {\n toReturn['activeAppIds'] = this.activeAppIds;\n }\n return toReturn;\n }\n}\nclass GetAppsToDeactivateUponDeactivationResponse {\n static fromProto(proto) {\n let m = new GetAppsToDeactivateUponDeactivationResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appIdsToBeDeactivated !== 'undefined') {\n toReturn['appIdsToBeDeactivated'] = this.appIdsToBeDeactivated;\n }\n return toReturn;\n }\n}\nclass GetAppsWithUnpublishedChangesRequest {\n static fromProto(proto) {\n let m = new GetAppsWithUnpublishedChangesRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n return toReturn;\n }\n}\nclass GetAppsWithUnpublishedChangesResponse {\n static fromProto(proto) {\n let m = new GetAppsWithUnpublishedChangesResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appIds !== 'undefined') {\n toReturn['appIds'] = this.appIds;\n }\n return toReturn;\n }\n}\nclass GetByPartnerIDRequest {\n static fromProto(proto) {\n let m = new GetByPartnerIDRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n return toReturn;\n }\n}\nclass GetByPartnerIDResponse {\n static fromProto(proto) {\n let m = new GetByPartnerIDResponse();\n m = Object.assign(m, proto);\n if (proto.vendor) {\n m.vendor = AppVendor.fromProto(proto.vendor);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.vendor !== 'undefined' && this.vendor !== null) {\n toReturn['vendor'] = 'toApiJson' in this.vendor ? this.vendor.toApiJson() : this.vendor;\n }\n return toReturn;\n }\n}\nclass GetMultiAppRequest {\n static fromProto(proto) {\n let m = new GetMultiAppRequest();\n m = Object.assign(m, proto);\n if (proto.fieldMask) {\n m.fieldMask = FieldMask.fromProto(proto.fieldMask);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {\n toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? this.fieldMask.toApiJson() : this.fieldMask;\n }\n return toReturn;\n }\n}\nclass GetMultiAppResponse {\n static fromProto(proto) {\n let m = new GetMultiAppResponse();\n m = Object.assign(m, proto);\n if (proto.apps) {\n m.apps = proto.apps.map(MarketplaceApp.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.apps !== 'undefined' && this.apps !== null) {\n toReturn['apps'] = 'toApiJson' in this.apps ? this.apps.toApiJson() : this.apps;\n }\n return toReturn;\n }\n}\nclass GetMultiOrderFormsRequest {\n static fromProto(proto) {\n let m = new GetMultiOrderFormsRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.appIds !== 'undefined') {\n toReturn['appIds'] = this.appIds;\n }\n return toReturn;\n }\n}\nclass GetMultiOrderFormsResponse {\n static fromProto(proto) {\n let m = new GetMultiOrderFormsResponse();\n m = Object.assign(m, proto);\n if (proto.orderFormContainer) {\n m.orderFormContainer = proto.orderFormContainer.map(GetMultiOrderFormsResponseOrderFormContainer.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.orderFormContainer !== 'undefined' && this.orderFormContainer !== null) {\n toReturn['orderFormContainer'] = 'toApiJson' in this.orderFormContainer ? this.orderFormContainer.toApiJson() : this.orderFormContainer;\n }\n return toReturn;\n }\n}\nclass GetMultiProductCostRequest {\n static fromProto(proto) {\n let m = new GetMultiProductCostRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.appIds !== 'undefined') {\n toReturn['appIds'] = this.appIds;\n }\n return toReturn;\n }\n}\nclass GetMultiProductCostResponse {\n static fromProto(proto) {\n let m = new GetMultiProductCostResponse();\n m = Object.assign(m, proto);\n if (proto.productCost) {\n m.productCost = Object.keys(proto.productCost).reduce((obj, k) => {\n obj[k] = ProductCost.fromProto(proto.productCost[k]);\n return obj;\n }, {});\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.productCost !== 'undefined' && this.productCost !== null) {\n toReturn['productCost'] = 'toApiJson' in this.productCost ? this.productCost.toApiJson() : this.productCost;\n }\n return toReturn;\n }\n}\nclass GetMultiVendorRequest {\n static fromProto(proto) {\n let m = new GetMultiVendorRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.ids !== 'undefined') {\n toReturn['ids'] = this.ids;\n }\n return toReturn;\n }\n}\nclass GetMultiVendorResponse {\n static fromProto(proto) {\n let m = new GetMultiVendorResponse();\n m = Object.assign(m, proto);\n if (proto.vendors) {\n m.vendors = proto.vendors.map(AppVendor.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.vendors !== 'undefined' && this.vendors !== null) {\n toReturn['vendors'] = 'toApiJson' in this.vendors ? this.vendors.toApiJson() : this.vendors;\n }\n return toReturn;\n }\n}\nclass GetOwnedAppIDsByPartnerIDRequest {\n static fromProto(proto) {\n let m = new GetOwnedAppIDsByPartnerIDRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n return toReturn;\n }\n}\nclass GetOwnedAppIDsByPartnerIDResponse {\n static fromProto(proto) {\n let m = new GetOwnedAppIDsByPartnerIDResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appIds !== 'undefined') {\n toReturn['appIds'] = this.appIds;\n }\n return toReturn;\n }\n}\nclass GetPublicKeysRequest {\n static fromProto(proto) {\n let m = new GetPublicKeysRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n return toReturn;\n }\n}\nclass GetPublicKeysResponse {\n static fromProto(proto) {\n let m = new GetPublicKeysResponse();\n m = Object.assign(m, proto);\n if (proto.identifiedPublicKeys) {\n m.identifiedPublicKeys = proto.identifiedPublicKeys.map(IdentifiedPublicKey.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.publicKey !== 'undefined') {\n toReturn['publicKey'] = this.publicKey;\n }\n if (typeof this.identifiedPublicKeys !== 'undefined' && this.identifiedPublicKeys !== null) {\n toReturn['identifiedPublicKeys'] = 'toApiJson' in this.identifiedPublicKeys ? this.identifiedPublicKeys.toApiJson() : this.identifiedPublicKeys;\n }\n return toReturn;\n }\n}\nclass GetSSOUrlsRequest {\n static fromProto(proto) {\n let m = new GetSSOUrlsRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n return toReturn;\n }\n}\nclass GetSSOUrlsResponse {\n static fromProto(proto) {\n let m = new GetSSOUrlsResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.entryUrl !== 'undefined') {\n toReturn['entryUrl'] = this.entryUrl;\n }\n if (typeof this.sessionUrl !== 'undefined') {\n toReturn['sessionUrl'] = this.sessionUrl;\n }\n return toReturn;\n }\n}\nclass CanActivateResponseInvalidResponse {\n static fromProto(proto) {\n let m = new CanActivateResponseInvalidResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.invalidAppIds !== 'undefined') {\n toReturn['invalidAppIds'] = this.invalidAppIds;\n }\n return toReturn;\n }\n}\nclass IsVendorDistributedByPartnerIDRequest {\n static fromProto(proto) {\n let m = new IsVendorDistributedByPartnerIDRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n return toReturn;\n }\n}\nclass IsVendorDistributedByPartnerIDResponse {\n static fromProto(proto) {\n let m = new IsVendorDistributedByPartnerIDResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.isDistributed !== 'undefined') {\n toReturn['isDistributed'] = this.isDistributed;\n }\n return toReturn;\n }\n}\nclass ListAddonsRequest {\n static fromProto(proto) {\n let m = new ListAddonsRequest();\n m = Object.assign(m, proto);\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n return toReturn;\n }\n}\nclass ListApprovedAddonsRequest {\n static fromProto(proto) {\n let m = new ListApprovedAddonsRequest();\n m = Object.assign(m, proto);\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n if (typeof this.appIds !== 'undefined') {\n toReturn['appIds'] = this.appIds;\n }\n return toReturn;\n }\n}\nclass ListAppsRequestListAppsFilter {\n static fromProto(proto) {\n let m = new ListAppsRequestListAppsFilter();\n m = Object.assign(m, proto);\n if (proto.appType) {\n m.appType = enumStringToValue$2(AppType, proto.appType);\n }\n if (proto.releaseType) {\n m.releaseType = enumStringToValue$2(ReleaseType, proto.releaseType);\n }\n if (proto.state) {\n m.state = enumStringToValue$2(StateFilterOptions, proto.state);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appType !== 'undefined') {\n toReturn['appType'] = this.appType;\n }\n if (typeof this.releaseType !== 'undefined') {\n toReturn['releaseType'] = this.releaseType;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.filterTerm !== 'undefined') {\n toReturn['filterTerm'] = this.filterTerm;\n }\n if (typeof this.state !== 'undefined') {\n toReturn['state'] = this.state;\n }\n return toReturn;\n }\n}\nclass ListAppsForVendorIDsRequest {\n static fromProto(proto) {\n let m = new ListAppsForVendorIDsRequest();\n m = Object.assign(m, proto);\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n if (proto.fieldMask) {\n m.fieldMask = FieldMask.fromProto(proto.fieldMask);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.vendorIds !== 'undefined') {\n toReturn['vendorIds'] = this.vendorIds;\n }\n if (typeof this.includeAddons !== 'undefined') {\n toReturn['includeAddons'] = this.includeAddons;\n }\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {\n toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? this.fieldMask.toApiJson() : this.fieldMask;\n }\n return toReturn;\n }\n}\nclass ListAppsForVendorIDsResponse {\n static fromProto(proto) {\n let m = new ListAppsForVendorIDsResponse();\n m = Object.assign(m, proto);\n if (proto.apps) {\n m.apps = proto.apps.map(MarketplaceApp.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.apps !== 'undefined' && this.apps !== null) {\n toReturn['apps'] = 'toApiJson' in this.apps ? this.apps.toApiJson() : this.apps;\n }\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.hasMore !== 'undefined') {\n toReturn['hasMore'] = this.hasMore;\n }\n return toReturn;\n }\n}\nclass ListAppsRequest {\n static fromProto(proto) {\n let m = new ListAppsRequest();\n m = Object.assign(m, proto);\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n if (proto.fieldMask) {\n m.fieldMask = FieldMask.fromProto(proto.fieldMask);\n }\n if (proto.filter) {\n m.filter = ListAppsRequestListAppsFilter.fromProto(proto.filter);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {\n toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? this.fieldMask.toApiJson() : this.fieldMask;\n }\n if (typeof this.filter !== 'undefined' && this.filter !== null) {\n toReturn['filter'] = 'toApiJson' in this.filter ? this.filter.toApiJson() : this.filter;\n }\n return toReturn;\n }\n}\nclass ListRequiredAppSummariesFilters {\n static fromProto(proto) {\n let m = new ListRequiredAppSummariesFilters();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.searchTerm !== 'undefined') {\n toReturn['searchTerm'] = this.searchTerm;\n }\n return toReturn;\n }\n}\nclass ListRequiredAppSummariesRequest {\n static fromProto(proto) {\n let m = new ListRequiredAppSummariesRequest();\n m = Object.assign(m, proto);\n if (proto.filters) {\n m.filters = ListRequiredAppSummariesFilters.fromProto(proto.filters);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.vendorId !== 'undefined') {\n toReturn['vendorId'] = this.vendorId;\n }\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.filters !== 'undefined' && this.filters !== null) {\n toReturn['filters'] = 'toApiJson' in this.filters ? this.filters.toApiJson() : this.filters;\n }\n return toReturn;\n }\n}\nclass ListRequiredAppSummariesResponse {\n static fromProto(proto) {\n let m = new ListRequiredAppSummariesResponse();\n m = Object.assign(m, proto);\n if (proto.requiredAppSummaries) {\n m.requiredAppSummaries = proto.requiredAppSummaries.map(RequiredAppSummary.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.requiredAppSummaries !== 'undefined' && this.requiredAppSummaries !== null) {\n toReturn['requiredAppSummaries'] = 'toApiJson' in this.requiredAppSummaries ? this.requiredAppSummaries.toApiJson() : this.requiredAppSummaries;\n }\n if (typeof this.nextCursor !== 'undefined') {\n toReturn['nextCursor'] = this.nextCursor;\n }\n if (typeof this.hasMore !== 'undefined') {\n toReturn['hasMore'] = this.hasMore;\n }\n return toReturn;\n }\n}\nclass ListVendorRequest {\n static fromProto(proto) {\n let m = new ListVendorRequest();\n m = Object.assign(m, proto);\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n return toReturn;\n }\n}\nclass ListVendorResponse {\n static fromProto(proto) {\n let m = new ListVendorResponse();\n m = Object.assign(m, proto);\n if (proto.vendors) {\n m.vendors = proto.vendors.map(AppVendor.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.vendors !== 'undefined' && this.vendors !== null) {\n toReturn['vendors'] = 'toApiJson' in this.vendors ? this.vendors.toApiJson() : this.vendors;\n }\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.hasMore !== 'undefined') {\n toReturn['hasMore'] = this.hasMore;\n }\n return toReturn;\n }\n}\nclass GetMultiOrderFormsResponseOrderFormContainer {\n static fromProto(proto) {\n let m = new GetMultiOrderFormsResponseOrderFormContainer();\n m = Object.assign(m, proto);\n if (proto.orderForm) {\n m.orderForm = OrderForm.fromProto(proto.orderForm);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.orderForm !== 'undefined' && this.orderForm !== null) {\n toReturn['orderForm'] = 'toApiJson' in this.orderForm ? this.orderForm.toApiJson() : this.orderForm;\n }\n return toReturn;\n }\n}\nclass PagedAppResponse {\n static fromProto(proto) {\n let m = new PagedAppResponse();\n m = Object.assign(m, proto);\n if (proto.apps) {\n m.apps = proto.apps.map(MarketplaceApp.fromProto);\n }\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.apps !== 'undefined' && this.apps !== null) {\n toReturn['apps'] = 'toApiJson' in this.apps ? this.apps.toApiJson() : this.apps;\n }\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n if (typeof this.hasMore !== 'undefined') {\n toReturn['hasMore'] = this.hasMore;\n }\n return toReturn;\n }\n}\nclass GetMultiProductCostResponseProductCostEntry {\n static fromProto(proto) {\n let m = new GetMultiProductCostResponseProductCostEntry();\n m = Object.assign(m, proto);\n if (proto.value) {\n m.value = ProductCost.fromProto(proto.value);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.key !== 'undefined') {\n toReturn['key'] = this.key;\n }\n if (typeof this.value !== 'undefined' && this.value !== null) {\n toReturn['value'] = 'toApiJson' in this.value ? this.value.toApiJson() : this.value;\n }\n return toReturn;\n }\n}\nclass PublishAppRequest {\n static fromProto(proto) {\n let m = new PublishAppRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n return toReturn;\n }\n}\nclass RemoveAppIDRequest {\n static fromProto(proto) {\n let m = new RemoveAppIDRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.id !== 'undefined') {\n toReturn['id'] = this.id;\n }\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n return toReturn;\n }\n}\nclass RemoveAppIDResponse {\n static fromProto(proto) {\n let m = new RemoveAppIDResponse();\n m = Object.assign(m, proto);\n if (proto.vendor) {\n m.vendor = AppVendor.fromProto(proto.vendor);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.vendor !== 'undefined' && this.vendor !== null) {\n toReturn['vendor'] = 'toApiJson' in this.vendor ? this.vendor.toApiJson() : this.vendor;\n }\n return toReturn;\n }\n}\nclass RequestAppReviewRequest {\n static fromProto(proto) {\n let m = new RequestAppReviewRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n return toReturn;\n }\n}\nclass RequiredAppSummary {\n static fromProto(proto) {\n let m = new RequiredAppSummary();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.iconUrl !== 'undefined') {\n toReturn['iconUrl'] = this.iconUrl;\n }\n return toReturn;\n }\n}\nclass RestoreAppRequest {\n static fromProto(proto) {\n let m = new RestoreAppRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n return toReturn;\n }\n}\nclass CanActivateResponseSuccessResponse {\n static fromProto(proto) {\n let m = new CanActivateResponseSuccessResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n return toReturn;\n }\n}\nclass SuspendAppRequest {\n static fromProto(proto) {\n let m = new SuspendAppRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n return toReturn;\n }\n}\nclass UnapproveAddonRequest {\n static fromProto(proto) {\n let m = new UnapproveAddonRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.addonId !== 'undefined') {\n toReturn['addonId'] = this.addonId;\n }\n return toReturn;\n }\n}\nclass UnapproveAppRequest {\n static fromProto(proto) {\n let m = new UnapproveAppRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n return toReturn;\n }\n}\nclass UnsuspendAppRequest {\n static fromProto(proto) {\n let m = new UnsuspendAppRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n return toReturn;\n }\n}\nclass UpdateAppApprovalAndBillingSettingsRequest {\n static fromProto(proto) {\n let m = new UpdateAppApprovalAndBillingSettingsRequest();\n m = Object.assign(m, proto);\n if (proto.approvalProcess) {\n m.approvalProcess = enumStringToValue$2(ApprovalProcess, proto.approvalProcess);\n }\n if (proto.billingProcess) {\n m.billingProcess = enumStringToValue$2(BillingProcess, proto.billingProcess);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.approvalProcess !== 'undefined') {\n toReturn['approvalProcess'] = this.approvalProcess;\n }\n if (typeof this.billingProcess !== 'undefined') {\n toReturn['billingProcess'] = this.billingProcess;\n }\n return toReturn;\n }\n}\nclass UpdateAppCategoriesRequest {\n static fromProto(proto) {\n let m = new UpdateAppCategoriesRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.categoryIds !== 'undefined') {\n toReturn['categoryIds'] = this.categoryIds;\n }\n return toReturn;\n }\n}\nclass UpdateAppFulfillmentIntegrationRequest {\n static fromProto(proto) {\n let m = new UpdateAppFulfillmentIntegrationRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.usesFulfillmentIntegration !== 'undefined') {\n toReturn['usesFulfillmentIntegration'] = this.usesFulfillmentIntegration;\n }\n return toReturn;\n }\n}\nclass UpdateAppGeneralInformationRequest {\n static fromProto(proto) {\n let m = new UpdateAppGeneralInformationRequest();\n m = Object.assign(m, proto);\n if (proto.lmiCategories) {\n m.lmiCategories = proto.lmiCategories.map(v => enumStringToValue$2(MarketplaceAppLmiLmiCategories, v));\n }\n if (proto.price) {\n m.price = parseInt(proto.price, 10);\n }\n if (proto.restrictions) {\n m.restrictions = Restrictions.fromProto(proto.restrictions);\n }\n if (proto.fieldMask) {\n m.fieldMask = FieldMask.fromProto(proto.fieldMask);\n }\n if (proto.suggestedRetailPrice) {\n m.suggestedRetailPrice = parseInt(proto.suggestedRetailPrice, 10);\n }\n if (proto.country) {\n m.country = PermissionLists.fromProto(proto.country);\n }\n if (proto.commitment) {\n m.commitment = Commitment.fromProto(proto.commitment);\n }\n if (proto.state) {\n m.state = enumStringToValue$2(State, proto.state);\n }\n if (proto.cost) {\n m.cost = Cost.fromProto(proto.cost);\n }\n if (proto.setupFee) {\n m.setupFee = parseInt(proto.setupFee, 10);\n }\n if (proto.suggestedRetailSetupFee) {\n m.suggestedRetailSetupFee = parseInt(proto.suggestedRetailSetupFee, 10);\n }\n if (proto.deliveryMethod) {\n m.deliveryMethod = enumStringToValue$2(DeliveryMethod, proto.deliveryMethod);\n }\n if (proto.fees) {\n m.fees = proto.fees.map(Fee.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.vendor !== 'undefined') {\n toReturn['vendor'] = this.vendor;\n }\n if (typeof this.tagline !== 'undefined') {\n toReturn['tagline'] = this.tagline;\n }\n if (typeof this.serviceModel !== 'undefined') {\n toReturn['serviceModel'] = this.serviceModel;\n }\n if (typeof this.lmiCategories !== 'undefined') {\n toReturn['lmiCategories'] = this.lmiCategories;\n }\n if (typeof this.icon !== 'undefined') {\n toReturn['icon'] = this.icon;\n }\n if (typeof this.headerImage !== 'undefined') {\n toReturn['headerImage'] = this.headerImage;\n }\n if (typeof this.screenshot !== 'undefined') {\n toReturn['screenshot'] = this.screenshot;\n }\n if (typeof this.price !== 'undefined') {\n toReturn['price'] = this.price;\n }\n if (typeof this.currency !== 'undefined') {\n toReturn['currency'] = this.currency;\n }\n if (typeof this.billingFrequency !== 'undefined') {\n toReturn['billingFrequency'] = this.billingFrequency;\n }\n if (typeof this.restrictions !== 'undefined' && this.restrictions !== null) {\n toReturn['restrictions'] = 'toApiJson' in this.restrictions ? this.restrictions.toApiJson() : this.restrictions;\n }\n if (typeof this.allowPriceNegotiation !== 'undefined') {\n toReturn['allowPriceNegotiation'] = this.allowPriceNegotiation;\n }\n if (typeof this.gdprCompliant !== 'undefined') {\n toReturn['gdprCompliant'] = this.gdprCompliant;\n }\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {\n toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? this.fieldMask.toApiJson() : this.fieldMask;\n }\n if (typeof this.preventPriceConversionBetweenCurrencies !== 'undefined') {\n toReturn['preventPriceConversionBetweenCurrencies'] = this.preventPriceConversionBetweenCurrencies;\n }\n if (typeof this.suggestedRetailPrice !== 'undefined') {\n toReturn['suggestedRetailPrice'] = this.suggestedRetailPrice;\n }\n if (typeof this.country !== 'undefined' && this.country !== null) {\n toReturn['country'] = 'toApiJson' in this.country ? this.country.toApiJson() : this.country;\n }\n if (typeof this.commitment !== 'undefined' && this.commitment !== null) {\n toReturn['commitment'] = 'toApiJson' in this.commitment ? this.commitment.toApiJson() : this.commitment;\n }\n if (typeof this.multipleActivations !== 'undefined') {\n toReturn['multipleActivations'] = this.multipleActivations;\n }\n if (typeof this.usesEditions !== 'undefined') {\n toReturn['usesEditions'] = this.usesEditions;\n }\n if (typeof this.discoverable !== 'undefined') {\n toReturn['discoverable'] = this.discoverable;\n }\n if (typeof this.editionIds !== 'undefined') {\n toReturn['editionIds'] = this.editionIds;\n }\n if (typeof this.state !== 'undefined') {\n toReturn['state'] = this.state;\n }\n if (typeof this.cost !== 'undefined' && this.cost !== null) {\n toReturn['cost'] = 'toApiJson' in this.cost ? this.cost.toApiJson() : this.cost;\n }\n if (typeof this.setupFee !== 'undefined') {\n toReturn['setupFee'] = this.setupFee;\n }\n if (typeof this.suggestedRetailSetupFee !== 'undefined') {\n toReturn['suggestedRetailSetupFee'] = this.suggestedRetailSetupFee;\n }\n if (typeof this.usesCustomPricing !== 'undefined') {\n toReturn['usesCustomPricing'] = this.usesCustomPricing;\n }\n if (typeof this.deliveryMethod !== 'undefined') {\n toReturn['deliveryMethod'] = this.deliveryMethod;\n }\n if (typeof this.categories !== 'undefined') {\n toReturn['categories'] = this.categories;\n }\n if (typeof this.fees !== 'undefined' && this.fees !== null) {\n toReturn['fees'] = 'toApiJson' in this.fees ? this.fees.toApiJson() : this.fees;\n }\n return toReturn;\n }\n}\nclass UpdateAppIntegrationRequest {\n static fromProto(proto) {\n let m = new UpdateAppIntegrationRequest();\n m = Object.assign(m, proto);\n if (proto.partnerContactRecipients) {\n m.partnerContactRecipients = proto.partnerContactRecipients.map(Contact.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.publicKey !== 'undefined') {\n toReturn['publicKey'] = this.publicKey;\n }\n if (typeof this.reserveIdUrl !== 'undefined') {\n toReturn['reserveIdUrl'] = this.reserveIdUrl;\n }\n if (typeof this.purchaseWebhookUrl !== 'undefined') {\n toReturn['purchaseWebhookUrl'] = this.purchaseWebhookUrl;\n }\n if (typeof this.activationRequiresApproval !== 'undefined') {\n toReturn['activationRequiresApproval'] = this.activationRequiresApproval;\n }\n if (typeof this.addonPurchaseWebhookUrl !== 'undefined') {\n toReturn['addonPurchaseWebhookUrl'] = this.addonPurchaseWebhookUrl;\n }\n if (typeof this.userModWebhookUrl !== 'undefined') {\n toReturn['userModWebhookUrl'] = this.userModWebhookUrl;\n }\n if (typeof this.accountModWebhookUrl !== 'undefined') {\n toReturn['accountModWebhookUrl'] = this.accountModWebhookUrl;\n }\n if (typeof this.contactWebhookUrl !== 'undefined') {\n toReturn['contactWebhookUrl'] = this.contactWebhookUrl;\n }\n if (typeof this.fulfillmentEmail !== 'undefined') {\n toReturn['fulfillmentEmail'] = this.fulfillmentEmail;\n }\n if (typeof this.partnerSettingsWebhookUrl !== 'undefined') {\n toReturn['partnerSettingsWebhookUrl'] = this.partnerSettingsWebhookUrl;\n }\n if (typeof this.partnerContactRecipients !== 'undefined' && this.partnerContactRecipients !== null) {\n toReturn['partnerContactRecipients'] = 'toApiJson' in this.partnerContactRecipients ? this.partnerContactRecipients.toApiJson() : this.partnerContactRecipients;\n }\n if (typeof this.usesIntegration !== 'undefined') {\n toReturn['usesIntegration'] = this.usesIntegration;\n }\n if (typeof this.orderFormValidatorWebhookUrl !== 'undefined') {\n toReturn['orderFormValidatorWebhookUrl'] = this.orderFormValidatorWebhookUrl;\n }\n if (typeof this.allowWhiteLabeling !== 'undefined') {\n toReturn['allowWhiteLabeling'] = this.allowWhiteLabeling;\n }\n if (typeof this.customerWebhookUrl !== 'undefined') {\n toReturn['customerWebhookUrl'] = this.customerWebhookUrl;\n }\n if (typeof this.sendCancelationNotifications !== 'undefined') {\n toReturn['sendCancelationNotifications'] = this.sendCancelationNotifications;\n }\n if (typeof this.cancellationWebhookUrl !== 'undefined') {\n toReturn['cancellationWebhookUrl'] = this.cancellationWebhookUrl;\n }\n if (typeof this.serviceChangeWebhookUrl !== 'undefined') {\n toReturn['serviceChangeWebhookUrl'] = this.serviceChangeWebhookUrl;\n }\n if (typeof this.appLevelHasAdminDashboard !== 'undefined') {\n toReturn['appLevelHasAdminDashboard'] = this.appLevelHasAdminDashboard;\n }\n return toReturn;\n }\n}\nclass UpdateAppMarketingInformationRequest {\n static fromProto(proto) {\n let m = new UpdateAppMarketingInformationRequest();\n m = Object.assign(m, proto);\n if (proto.marketingInfo) {\n m.marketingInfo = MarketingInformation.fromProto(proto.marketingInfo);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.marketingInfo !== 'undefined' && this.marketingInfo !== null) {\n toReturn['marketingInfo'] = 'toApiJson' in this.marketingInfo ? this.marketingInfo.toApiJson() : this.marketingInfo;\n }\n if (typeof this.usesMarketingInformation !== 'undefined') {\n toReturn['usesMarketingInformation'] = this.usesMarketingInformation;\n }\n return toReturn;\n }\n}\nclass UpdateAppOrderFormRequest {\n static fromProto(proto) {\n let m = new UpdateAppOrderFormRequest();\n m = Object.assign(m, proto);\n if (proto.orderForm) {\n m.orderForm = OrderForm.fromProto(proto.orderForm);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.usesOrderForm !== 'undefined') {\n toReturn['usesOrderForm'] = this.usesOrderForm;\n }\n if (typeof this.orderForm !== 'undefined' && this.orderForm !== null) {\n toReturn['orderForm'] = 'toApiJson' in this.orderForm ? this.orderForm.toApiJson() : this.orderForm;\n }\n if (typeof this.usesActivationSpecificEntryUrl !== 'undefined') {\n toReturn['usesActivationSpecificEntryUrl'] = this.usesActivationSpecificEntryUrl;\n }\n if (typeof this.applicationUrl !== 'undefined') {\n toReturn['applicationUrl'] = this.applicationUrl;\n }\n return toReturn;\n }\n}\nclass UpdateAppSSOIntegrationRequest {\n static fromProto(proto) {\n let m = new UpdateAppSSOIntegrationRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.entryUrl !== 'undefined') {\n toReturn['entryUrl'] = this.entryUrl;\n }\n if (typeof this.sessionUrl !== 'undefined') {\n toReturn['sessionUrl'] = this.sessionUrl;\n }\n if (typeof this.logoutUrl !== 'undefined') {\n toReturn['logoutUrl'] = this.logoutUrl;\n }\n if (typeof this.usesSsoIntegration !== 'undefined') {\n toReturn['usesSsoIntegration'] = this.usesSsoIntegration;\n }\n return toReturn;\n }\n}\nclass UpdateAppTrialConfigurationRequest {\n static fromProto(proto) {\n let m = new UpdateAppTrialConfigurationRequest();\n m = Object.assign(m, proto);\n if (proto.endOfTrialAction) {\n m.endOfTrialAction = enumStringToValue$2(EndOfTrialActions, proto.endOfTrialAction);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.trialsEnabled !== 'undefined') {\n toReturn['trialsEnabled'] = this.trialsEnabled;\n }\n if (typeof this.duration !== 'undefined') {\n toReturn['duration'] = this.duration;\n }\n if (typeof this.endOfTrialAction !== 'undefined') {\n toReturn['endOfTrialAction'] = this.endOfTrialAction;\n }\n return toReturn;\n }\n}\nclass UpdateVendorRequest {\n static fromProto(proto) {\n let m = new UpdateVendorRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.id !== 'undefined') {\n toReturn['id'] = this.id;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.reportingCode !== 'undefined') {\n toReturn['reportingCode'] = this.reportingCode;\n }\n return toReturn;\n }\n}\nclass UpdateVendorResponse {\n static fromProto(proto) {\n let m = new UpdateVendorResponse();\n m = Object.assign(m, proto);\n if (proto.vendor) {\n m.vendor = AppVendor.fromProto(proto.vendor);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.vendor !== 'undefined' && this.vendor !== null) {\n toReturn['vendor'] = 'toApiJson' in this.vendor ? this.vendor.toApiJson() : this.vendor;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$1(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass AppEditionsMarketing {\n static fromProto(proto) {\n let m = new AppEditionsMarketing();\n m = Object.assign(m, proto);\n if (proto.resellerMarketing) {\n m.resellerMarketing = EditionMarketingInformation.fromProto(proto.resellerMarketing);\n }\n if (proto.endUserMarketing) {\n m.endUserMarketing = EditionMarketingInformation.fromProto(proto.endUserMarketing);\n }\n if (proto.releaseType) {\n m.releaseType = enumStringToValue$1(Release, proto.releaseType);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.editionId !== 'undefined') {\n toReturn['editionId'] = this.editionId;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.billingId !== 'undefined') {\n toReturn['billingId'] = this.billingId;\n }\n if (typeof this.usesResellerMarketing !== 'undefined') {\n toReturn['usesResellerMarketing'] = this.usesResellerMarketing;\n }\n if (typeof this.resellerMarketing !== 'undefined' && this.resellerMarketing !== null) {\n toReturn['resellerMarketing'] = 'toApiJson' in this.resellerMarketing ? this.resellerMarketing.toApiJson() : this.resellerMarketing;\n }\n if (typeof this.endUserMarketing !== 'undefined' && this.endUserMarketing !== null) {\n toReturn['endUserMarketing'] = 'toApiJson' in this.endUserMarketing ? this.endUserMarketing.toApiJson() : this.endUserMarketing;\n }\n if (typeof this.releaseType !== 'undefined') {\n toReturn['releaseType'] = this.releaseType;\n }\n return toReturn;\n }\n}\nclass Edition {\n static fromProto(proto) {\n let m = new Edition();\n m = Object.assign(m, proto);\n if (proto.created) {\n m.created = new Date(proto.created);\n }\n if (proto.updated) {\n m.updated = new Date(proto.updated);\n }\n if (proto.pricing) {\n m.pricing = EditionPricing.fromProto(proto.pricing);\n }\n if (proto.release) {\n m.release = enumStringToValue$1(Release, proto.release);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.editionId !== 'undefined') {\n toReturn['editionId'] = this.editionId;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.created !== 'undefined' && this.created !== null) {\n toReturn['created'] = 'toApiJson' in this.created ? this.created.toApiJson() : this.created;\n }\n if (typeof this.updated !== 'undefined' && this.updated !== null) {\n toReturn['updated'] = 'toApiJson' in this.updated ? this.updated.toApiJson() : this.updated;\n }\n if (typeof this.billingId !== 'undefined') {\n toReturn['billingId'] = this.billingId;\n }\n if (typeof this.pricing !== 'undefined' && this.pricing !== null) {\n toReturn['pricing'] = 'toApiJson' in this.pricing ? this.pricing.toApiJson() : this.pricing;\n }\n if (typeof this.currency !== 'undefined') {\n toReturn['currency'] = this.currency;\n }\n if (typeof this.billingFrequency !== 'undefined') {\n toReturn['billingFrequency'] = this.billingFrequency;\n }\n if (typeof this.release !== 'undefined') {\n toReturn['release'] = this.release;\n }\n return toReturn;\n }\n}\nclass EditionMarketingInformation {\n static fromProto(proto) {\n let m = new EditionMarketingInformation();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.description !== 'undefined') {\n toReturn['description'] = this.description;\n }\n if (typeof this.keySellingPoints !== 'undefined') {\n toReturn['keySellingPoints'] = this.keySellingPoints;\n }\n return toReturn;\n }\n}\nclass EditionPricing {\n static fromProto(proto) {\n let m = new EditionPricing();\n m = Object.assign(m, proto);\n if (proto.wholesalePrice) {\n m.wholesalePrice = parseInt(proto.wholesalePrice, 10);\n }\n if (proto.suggestedRetailPrice) {\n m.suggestedRetailPrice = parseInt(proto.suggestedRetailPrice, 10);\n }\n if (proto.billingFrequency) {\n m.billingFrequency = enumStringToValue$1(EditionBillingFrequency, proto.billingFrequency);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.wholesalePrice !== 'undefined') {\n toReturn['wholesalePrice'] = this.wholesalePrice;\n }\n if (typeof this.suggestedRetailPrice !== 'undefined') {\n toReturn['suggestedRetailPrice'] = this.suggestedRetailPrice;\n }\n if (typeof this.billingFrequency !== 'undefined') {\n toReturn['billingFrequency'] = this.billingFrequency;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass ListByMultiAppResponseAppEditions {\n static fromProto(proto) {\n let m = new ListByMultiAppResponseAppEditions();\n m = Object.assign(m, proto);\n if (proto.editions) {\n m.editions = proto.editions.map(Edition.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.editions !== 'undefined' && this.editions !== null) {\n toReturn['editions'] = 'toApiJson' in this.editions ? this.editions.toApiJson() : this.editions;\n }\n return toReturn;\n }\n}\nclass CreateEditionRequest {\n static fromProto(proto) {\n let m = new CreateEditionRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n return toReturn;\n }\n}\nclass CreateEditionResponse {\n static fromProto(proto) {\n let m = new CreateEditionResponse();\n m = Object.assign(m, proto);\n if (proto.edition) {\n m.edition = Edition.fromProto(proto.edition);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.edition !== 'undefined' && this.edition !== null) {\n toReturn['edition'] = 'toApiJson' in this.edition ? this.edition.toApiJson() : this.edition;\n }\n return toReturn;\n }\n}\nclass DeleteEditionRequest {\n static fromProto(proto) {\n let m = new DeleteEditionRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.editionId !== 'undefined') {\n toReturn['editionId'] = this.editionId;\n }\n return toReturn;\n }\n}\nclass UpdateMultiEditionRequestEditionData {\n static fromProto(proto) {\n let m = new UpdateMultiEditionRequestEditionData();\n m = Object.assign(m, proto);\n if (proto.pricing) {\n m.pricing = EditionPricing.fromProto(proto.pricing);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.editionId !== 'undefined') {\n toReturn['editionId'] = this.editionId;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.pricing !== 'undefined' && this.pricing !== null) {\n toReturn['pricing'] = 'toApiJson' in this.pricing ? this.pricing.toApiJson() : this.pricing;\n }\n return toReturn;\n }\n}\nclass GetBillingIDRequest {\n static fromProto(proto) {\n let m = new GetBillingIDRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.editionId !== 'undefined') {\n toReturn['editionId'] = this.editionId;\n }\n return toReturn;\n }\n}\nclass GetBillingIDResponse {\n static fromProto(proto) {\n let m = new GetBillingIDResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.editionId !== 'undefined') {\n toReturn['editionId'] = this.editionId;\n }\n if (typeof this.billingId !== 'undefined') {\n toReturn['billingId'] = this.billingId;\n }\n return toReturn;\n }\n}\nclass GetEditionRequest {\n static fromProto(proto) {\n let m = new GetEditionRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.editionId !== 'undefined') {\n toReturn['editionId'] = this.editionId;\n }\n return toReturn;\n }\n}\nclass GetEditionResponse {\n static fromProto(proto) {\n let m = new GetEditionResponse();\n m = Object.assign(m, proto);\n if (proto.edition) {\n m.edition = Edition.fromProto(proto.edition);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.edition !== 'undefined' && this.edition !== null) {\n toReturn['edition'] = 'toApiJson' in this.edition ? this.edition.toApiJson() : this.edition;\n }\n return toReturn;\n }\n}\nclass GetMultiDraftEditionRequest {\n static fromProto(proto) {\n let m = new GetMultiDraftEditionRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.editionIds !== 'undefined') {\n toReturn['editionIds'] = this.editionIds;\n }\n return toReturn;\n }\n}\nclass GetMultiDraftEditionResponse {\n static fromProto(proto) {\n let m = new GetMultiDraftEditionResponse();\n m = Object.assign(m, proto);\n if (proto.editions) {\n m.editions = proto.editions.map(Edition.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.editions !== 'undefined' && this.editions !== null) {\n toReturn['editions'] = 'toApiJson' in this.editions ? this.editions.toApiJson() : this.editions;\n }\n return toReturn;\n }\n}\nclass GetMultiEditionForMultiAppRequest {\n static fromProto(proto) {\n let m = new GetMultiEditionForMultiAppRequest();\n m = Object.assign(m, proto);\n if (proto.appEditionIdPairs) {\n m.appEditionIdPairs = proto.appEditionIdPairs.map(GetEditionRequest.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appEditionIdPairs !== 'undefined' && this.appEditionIdPairs !== null) {\n toReturn['appEditionIdPairs'] = 'toApiJson' in this.appEditionIdPairs ? this.appEditionIdPairs.toApiJson() : this.appEditionIdPairs;\n }\n return toReturn;\n }\n}\nclass GetMultiEditionRequest {\n static fromProto(proto) {\n let m = new GetMultiEditionRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.editionIds !== 'undefined') {\n toReturn['editionIds'] = this.editionIds;\n }\n return toReturn;\n }\n}\nclass GetMultiEditionResponse {\n static fromProto(proto) {\n let m = new GetMultiEditionResponse();\n m = Object.assign(m, proto);\n if (proto.editions) {\n m.editions = proto.editions.map(Edition.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.editions !== 'undefined' && this.editions !== null) {\n toReturn['editions'] = 'toApiJson' in this.editions ? this.editions.toApiJson() : this.editions;\n }\n return toReturn;\n }\n}\nclass ListByMultiAppRequest {\n static fromProto(proto) {\n let m = new ListByMultiAppRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appIds !== 'undefined') {\n toReturn['appIds'] = this.appIds;\n }\n return toReturn;\n }\n}\nclass ListByMultiAppResponse {\n static fromProto(proto) {\n let m = new ListByMultiAppResponse();\n m = Object.assign(m, proto);\n if (proto.appEditions) {\n m.appEditions = proto.appEditions.map(ListByMultiAppResponseAppEditions.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appEditions !== 'undefined' && this.appEditions !== null) {\n toReturn['appEditions'] = 'toApiJson' in this.appEditions ? this.appEditions.toApiJson() : this.appEditions;\n }\n return toReturn;\n }\n}\nclass ListDraftEditionsForAppRequest {\n static fromProto(proto) {\n let m = new ListDraftEditionsForAppRequest();\n m = Object.assign(m, proto);\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n return toReturn;\n }\n}\nclass ListDraftEditionsForAppResponse {\n static fromProto(proto) {\n let m = new ListDraftEditionsForAppResponse();\n m = Object.assign(m, proto);\n if (proto.editions) {\n m.editions = proto.editions.map(Edition.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.editions !== 'undefined' && this.editions !== null) {\n toReturn['editions'] = 'toApiJson' in this.editions ? this.editions.toApiJson() : this.editions;\n }\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.hasMore !== 'undefined') {\n toReturn['hasMore'] = this.hasMore;\n }\n return toReturn;\n }\n}\nclass ListEditionsForAppRequest {\n static fromProto(proto) {\n let m = new ListEditionsForAppRequest();\n m = Object.assign(m, proto);\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n return toReturn;\n }\n}\nclass ListEditionsForAppResponse {\n static fromProto(proto) {\n let m = new ListEditionsForAppResponse();\n m = Object.assign(m, proto);\n if (proto.editions) {\n m.editions = proto.editions.map(Edition.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.editions !== 'undefined' && this.editions !== null) {\n toReturn['editions'] = 'toApiJson' in this.editions ? this.editions.toApiJson() : this.editions;\n }\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.hasMore !== 'undefined') {\n toReturn['hasMore'] = this.hasMore;\n }\n return toReturn;\n }\n}\nclass ListEditionsMarketingForAppRequest {\n static fromProto(proto) {\n let m = new ListEditionsMarketingForAppRequest();\n m = Object.assign(m, proto);\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n if (proto.releaseType) {\n m.releaseType = enumStringToValue(Release, proto.releaseType);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n if (typeof this.releaseType !== 'undefined') {\n toReturn['releaseType'] = this.releaseType;\n }\n return toReturn;\n }\n}\nclass ListEditionsMarketingForAppResponse {\n static fromProto(proto) {\n let m = new ListEditionsMarketingForAppResponse();\n m = Object.assign(m, proto);\n if (proto.appEditionsMarketing) {\n m.appEditionsMarketing = proto.appEditionsMarketing.map(AppEditionsMarketing.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appEditionsMarketing !== 'undefined' && this.appEditionsMarketing !== null) {\n toReturn['appEditionsMarketing'] = 'toApiJson' in this.appEditionsMarketing ? this.appEditionsMarketing.toApiJson() : this.appEditionsMarketing;\n }\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.hasMore !== 'undefined') {\n toReturn['hasMore'] = this.hasMore;\n }\n return toReturn;\n }\n}\nclass UpdateEditionRequest {\n static fromProto(proto) {\n let m = new UpdateEditionRequest();\n m = Object.assign(m, proto);\n if (proto.pricing) {\n m.pricing = EditionPricing.fromProto(proto.pricing);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.editionId !== 'undefined') {\n toReturn['editionId'] = this.editionId;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.pricing !== 'undefined' && this.pricing !== null) {\n toReturn['pricing'] = 'toApiJson' in this.pricing ? this.pricing.toApiJson() : this.pricing;\n }\n return toReturn;\n }\n}\nclass UpdateMultiEditionRequest {\n static fromProto(proto) {\n let m = new UpdateMultiEditionRequest();\n m = Object.assign(m, proto);\n if (proto.editions) {\n m.editions = proto.editions.map(UpdateMultiEditionRequestEditionData.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.editions !== 'undefined' && this.editions !== null) {\n toReturn['editions'] = 'toApiJson' in this.editions ? this.editions.toApiJson() : this.editions;\n }\n return toReturn;\n }\n}\nclass UpsertEditionsMarketingRequest {\n static fromProto(proto) {\n let m = new UpsertEditionsMarketingRequest();\n m = Object.assign(m, proto);\n if (proto.resellerMarketing) {\n m.resellerMarketing = EditionMarketingInformation.fromProto(proto.resellerMarketing);\n }\n if (proto.endUserMarketing) {\n m.endUserMarketing = EditionMarketingInformation.fromProto(proto.endUserMarketing);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.editionId !== 'undefined') {\n toReturn['editionId'] = this.editionId;\n }\n if (typeof this.usesResellerMarketing !== 'undefined') {\n toReturn['usesResellerMarketing'] = this.usesResellerMarketing;\n }\n if (typeof this.resellerMarketing !== 'undefined' && this.resellerMarketing !== null) {\n toReturn['resellerMarketing'] = 'toApiJson' in this.resellerMarketing ? this.resellerMarketing.toApiJson() : this.resellerMarketing;\n }\n if (typeof this.endUserMarketing !== 'undefined' && this.endUserMarketing !== null) {\n toReturn['endUserMarketing'] = 'toApiJson' in this.endUserMarketing ? this.endUserMarketing.toApiJson() : this.endUserMarketing;\n }\n return toReturn;\n }\n}\n\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects Index.\n// *********************************\n\nconst environment = (window ? window['environment'] : 'prod') ?? 'prod';\nconst hostMap = {\n 'local': '',\n 'test': '',\n 'demo': 'marketplace-apps-api-demo.apigateway.co',\n 'prod': 'marketplace-apps-api-prod.apigateway.co',\n 'production': 'marketplace-apps-api-prod.apigateway.co'\n};\nlet HostService = /*#__PURE__*/(() => {\n class HostService {\n get host() {\n return hostMap[environment.toLowerCase()];\n }\n get hostWithScheme() {\n return 'https://' + this.host;\n }\n }\n HostService.ɵfac = function HostService_Factory(t) {\n return new (t || HostService)();\n };\n HostService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: HostService,\n factory: HostService.ɵfac,\n providedIn: 'root'\n });\n return HostService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nlet EditionsApiService = /*#__PURE__*/(() => {\n class EditionsApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n create(r) {\n const request = r.toApiJson ? r : new CreateEditionRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.Editions/Create\", request.toApiJson(), this.apiOptions()).pipe(map(resp => CreateEditionResponse.fromProto(resp)));\n }\n update(r) {\n const request = r.toApiJson ? r : new UpdateEditionRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.Editions/Update\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n updateMulti(r) {\n const request = r.toApiJson ? r : new UpdateMultiEditionRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.Editions/UpdateMulti\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n delete(r) {\n const request = r.toApiJson ? r : new DeleteEditionRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.Editions/Delete\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n get(r) {\n const request = r.toApiJson ? r : new GetEditionRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.Editions/Get\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetEditionResponse.fromProto(resp)));\n }\n getMulti(r) {\n const request = r.toApiJson ? r : new GetMultiEditionRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.Editions/GetMulti\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetMultiEditionResponse.fromProto(resp)));\n }\n getMultiDraft(r) {\n const request = r.toApiJson ? r : new GetMultiDraftEditionRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.Editions/GetMultiDraft\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetMultiDraftEditionResponse.fromProto(resp)));\n }\n getBillingId(r) {\n const request = r.toApiJson ? r : new GetBillingIDRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.Editions/GetBillingID\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetBillingIDResponse.fromProto(resp)));\n }\n listEditionsForApp(r) {\n const request = r.toApiJson ? r : new ListEditionsForAppRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.Editions/ListEditionsForApp\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListEditionsForAppResponse.fromProto(resp)));\n }\n listDraftEditionsForApp(r) {\n const request = r.toApiJson ? r : new ListDraftEditionsForAppRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.Editions/ListDraftEditionsForApp\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListDraftEditionsForAppResponse.fromProto(resp)));\n }\n getMultiEditionForMultiApp(r) {\n const request = r.toApiJson ? r : new GetMultiEditionForMultiAppRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.Editions/GetMultiEditionForMultiApp\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetMultiEditionResponse.fromProto(resp)));\n }\n listByMultiApp(r) {\n const request = r.toApiJson ? r : new ListByMultiAppRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.Editions/ListByMultiApp\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListByMultiAppResponse.fromProto(resp)));\n }\n upsertEditionsMarketing(r) {\n const request = r.toApiJson ? r : new UpsertEditionsMarketingRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.Editions/UpsertEditionsMarketing\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n listEditionsMarketingForApp(r) {\n const request = r.toApiJson ? r : new ListEditionsMarketingForAppRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.Editions/ListEditionsMarketingForApp\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListEditionsMarketingForAppResponse.fromProto(resp)));\n }\n }\n EditionsApiService.ɵfac = function EditionsApiService_Factory(t) {\n return new (t || EditionsApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n EditionsApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: EditionsApiService,\n factory: EditionsApiService.ɵfac,\n providedIn: 'root'\n });\n return EditionsApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nlet MarketplaceAppsApiService = /*#__PURE__*/(() => {\n class MarketplaceAppsApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n listAddons(r) {\n const request = r.toApiJson ? r : new ListAddonsRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.MarketplaceApps/ListAddons\", request.toApiJson(), this.apiOptions()).pipe(map(resp => AddonsListResponse.fromProto(resp)));\n }\n getAddon(r) {\n const request = r.toApiJson ? r : new GetAddonRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.MarketplaceApps/GetAddon\", request.toApiJson(), this.apiOptions()).pipe(map(resp => AddonResponse.fromProto(resp)));\n }\n getPublicKeys(r) {\n const request = r.toApiJson ? r : new GetPublicKeysRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.MarketplaceApps/GetPublicKeys\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetPublicKeysResponse.fromProto(resp)));\n }\n getSsoUrls(r) {\n const request = r.toApiJson ? r : new GetSSOUrlsRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.MarketplaceApps/GetSSOUrls\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetSSOUrlsResponse.fromProto(resp)));\n }\n getApp(r) {\n const request = r.toApiJson ? r : new GetAppRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.MarketplaceApps/GetApp\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetAppResponse.fromProto(resp)));\n }\n getMultiApp(r) {\n const request = r.toApiJson ? r : new GetMultiAppRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.MarketplaceApps/GetMultiApp\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetMultiAppResponse.fromProto(resp)));\n }\n listApps(r) {\n const request = r.toApiJson ? r : new ListAppsRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.MarketplaceApps/ListApps\", request.toApiJson(), this.apiOptions()).pipe(map(resp => PagedAppResponse.fromProto(resp)));\n }\n listAppsForVendorIDs(r) {\n const request = r.toApiJson ? r : new ListAppsForVendorIDsRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.MarketplaceApps/ListAppsForVendorIDs\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListAppsForVendorIDsResponse.fromProto(resp)));\n }\n getAppDraft(r) {\n const request = r.toApiJson ? r : new GetAppRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.MarketplaceApps/GetAppDraft\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetAppResponse.fromProto(resp)));\n }\n getMultiAppDraft(r) {\n const request = r.toApiJson ? r : new GetMultiAppRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.MarketplaceApps/GetMultiAppDraft\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetMultiAppResponse.fromProto(resp)));\n }\n approveAddon(r) {\n const request = r.toApiJson ? r : new ApproveAddonRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.MarketplaceApps/ApproveAddon\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n unapproveAddon(r) {\n const request = r.toApiJson ? r : new UnapproveAddonRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.MarketplaceApps/UnapproveAddon\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n listApprovedAddons(r) {\n const request = r.toApiJson ? r : new ListApprovedAddonsRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.MarketplaceApps/ListApprovedAddons\", request.toApiJson(), this.apiOptions()).pipe(map(resp => AddonsListResponse.fromProto(resp)));\n }\n getMultiOrderForms(r) {\n const request = r.toApiJson ? r : new GetMultiOrderFormsRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.MarketplaceApps/GetMultiOrderForms\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetMultiOrderFormsResponse.fromProto(resp)));\n }\n createApp(r) {\n const request = r.toApiJson ? r : new CreateAppRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.MarketplaceApps/CreateApp\", request.toApiJson(), this.apiOptions()).pipe(map(resp => AppResponse.fromProto(resp)));\n }\n deleteApp(r) {\n const request = r.toApiJson ? r : new DeleteAppRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.MarketplaceApps/DeleteApp\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n restoreApp(r) {\n const request = r.toApiJson ? r : new RestoreAppRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.MarketplaceApps/RestoreApp\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n duplicateApp(r) {\n const request = r.toApiJson ? r : new DuplicateAppRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.MarketplaceApps/DuplicateApp\", request.toApiJson(), this.apiOptions()).pipe(map(resp => DuplicateAppResponse.fromProto(resp)));\n }\n updateAppGeneralSettings(r) {\n const request = r.toApiJson ? r : new UpdateAppGeneralInformationRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.MarketplaceApps/UpdateAppGeneralSettings\", request.toApiJson(), this.apiOptions()).pipe(map(resp => AppResponse.fromProto(resp)));\n }\n updateAppIntegration(r) {\n const request = r.toApiJson ? r : new UpdateAppIntegrationRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.MarketplaceApps/UpdateAppIntegration\", request.toApiJson(), this.apiOptions()).pipe(map(resp => AppResponse.fromProto(resp)));\n }\n updateAppOrderForm(r) {\n const request = r.toApiJson ? r : new UpdateAppOrderFormRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.MarketplaceApps/UpdateAppOrderForm\", request.toApiJson(), this.apiOptions()).pipe(map(resp => AppResponse.fromProto(resp)));\n }\n updateAppEndUserMarketingInformation(r) {\n const request = r.toApiJson ? r : new UpdateAppMarketingInformationRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.MarketplaceApps/UpdateAppEndUserMarketingInformation\", request.toApiJson(), this.apiOptions()).pipe(map(resp => AppResponse.fromProto(resp)));\n }\n updateAppResellerMarketingInformation(r) {\n const request = r.toApiJson ? r : new UpdateAppMarketingInformationRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.MarketplaceApps/UpdateAppResellerMarketingInformation\", request.toApiJson(), this.apiOptions()).pipe(map(resp => AppResponse.fromProto(resp)));\n }\n updateAppSsoIntegration(r) {\n const request = r.toApiJson ? r : new UpdateAppSSOIntegrationRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.MarketplaceApps/UpdateAppSSOIntegration\", request.toApiJson(), this.apiOptions()).pipe(map(resp => AppResponse.fromProto(resp)));\n }\n updateAppFulfillmentIntegration(r) {\n const request = r.toApiJson ? r : new UpdateAppFulfillmentIntegrationRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.MarketplaceApps/UpdateAppFulfillmentIntegration\", request.toApiJson(), this.apiOptions()).pipe(map(resp => AppResponse.fromProto(resp)));\n }\n updateAppTrialConfiguration(r) {\n const request = r.toApiJson ? r : new UpdateAppTrialConfigurationRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.MarketplaceApps/UpdateAppTrialConfiguration\", request.toApiJson(), this.apiOptions()).pipe(map(resp => AppResponse.fromProto(resp)));\n }\n approveApp(r) {\n const request = r.toApiJson ? r : new ApproveAppRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.MarketplaceApps/ApproveApp\", request.toApiJson(), this.apiOptions()).pipe(map(resp => AppResponse.fromProto(resp)));\n }\n unapproveApp(r) {\n const request = r.toApiJson ? r : new UnapproveAppRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.MarketplaceApps/UnapproveApp\", request.toApiJson(), this.apiOptions()).pipe(map(resp => AppResponse.fromProto(resp)));\n }\n updateAppApprovalAndBillingSettings(r) {\n const request = r.toApiJson ? r : new UpdateAppApprovalAndBillingSettingsRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.MarketplaceApps/UpdateAppApprovalAndBillingSettings\", request.toApiJson(), this.apiOptions()).pipe(map(resp => AppResponse.fromProto(resp)));\n }\n publishApp(r) {\n const request = r.toApiJson ? r : new PublishAppRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.MarketplaceApps/PublishApp\", request.toApiJson(), this.apiOptions()).pipe(map(resp => AppResponse.fromProto(resp)));\n }\n getAppsWithUnpublishedChanges(r) {\n const request = r.toApiJson ? r : new GetAppsWithUnpublishedChangesRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.MarketplaceApps/GetAppsWithUnpublishedChanges\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetAppsWithUnpublishedChangesResponse.fromProto(resp)));\n }\n canActivate(r) {\n const request = r.toApiJson ? r : new CanActivateRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.MarketplaceApps/CanActivate\", request.toApiJson(), this.apiOptions()).pipe(map(resp => CanActivateResponse.fromProto(resp)));\n }\n getAppsToDeactivateUponDeactivation(r) {\n const request = r.toApiJson ? r : new GetAppsToDeactivateUponDeactivationRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.MarketplaceApps/GetAppsToDeactivateUponDeactivation\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetAppsToDeactivateUponDeactivationResponse.fromProto(resp)));\n }\n getAppIdFromSku(r) {\n const request = r.toApiJson ? r : new GetAppIDFromSkuRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.MarketplaceApps/GetAppIDFromSku\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetAppIDFromSkuResponse.fromProto(resp)));\n }\n getMultiProductCost(r) {\n const request = r.toApiJson ? r : new GetMultiProductCostRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.MarketplaceApps/GetMultiProductCost\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetMultiProductCostResponse.fromProto(resp)));\n }\n updateCategories(r) {\n const request = r.toApiJson ? r : new UpdateAppCategoriesRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.MarketplaceApps/UpdateCategories\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n suspendApp(r) {\n const request = r.toApiJson ? r : new SuspendAppRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.MarketplaceApps/SuspendApp\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n unsuspendApp(r) {\n const request = r.toApiJson ? r : new UnsuspendAppRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.MarketplaceApps/UnsuspendApp\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n requestAppReview(r) {\n const request = r.toApiJson ? r : new RequestAppReviewRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.MarketplaceApps/RequestAppReview\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n listRequiredAppSummaries(r) {\n const request = r.toApiJson ? r : new ListRequiredAppSummariesRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.MarketplaceApps/ListRequiredAppSummaries\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListRequiredAppSummariesResponse.fromProto(resp)));\n }\n }\n MarketplaceAppsApiService.ɵfac = function MarketplaceAppsApiService_Factory(t) {\n return new (t || MarketplaceAppsApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n MarketplaceAppsApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: MarketplaceAppsApiService,\n factory: MarketplaceAppsApiService.ɵfac,\n providedIn: 'root'\n });\n return MarketplaceAppsApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nlet VendorApiService = /*#__PURE__*/(() => {\n class VendorApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n create(r) {\n const request = r.toApiJson ? r : new CreateVendorRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.Vendor/Create\", request.toApiJson(), this.apiOptions()).pipe(map(resp => CreateVendorResponse.fromProto(resp)));\n }\n list(r) {\n const request = r.toApiJson ? r : new ListVendorRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.Vendor/List\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListVendorResponse.fromProto(resp)));\n }\n getMulti(r) {\n const request = r.toApiJson ? r : new GetMultiVendorRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.Vendor/GetMulti\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetMultiVendorResponse.fromProto(resp)));\n }\n addAppId(r) {\n const request = r.toApiJson ? r : new AddAppIDRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.Vendor/AddAppID\", request.toApiJson(), this.apiOptions()).pipe(map(resp => AddAppIDResponse.fromProto(resp)));\n }\n removeAppId(r) {\n const request = r.toApiJson ? r : new RemoveAppIDRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.Vendor/RemoveAppID\", request.toApiJson(), this.apiOptions()).pipe(map(resp => RemoveAppIDResponse.fromProto(resp)));\n }\n update(r) {\n const request = r.toApiJson ? r : new UpdateVendorRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.Vendor/Update\", request.toApiJson(), this.apiOptions()).pipe(map(resp => UpdateVendorResponse.fromProto(resp)));\n }\n getOwnedAppIDsByPartnerId(r) {\n const request = r.toApiJson ? r : new GetOwnedAppIDsByPartnerIDRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.Vendor/GetOwnedAppIDsByPartnerID\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetOwnedAppIDsByPartnerIDResponse.fromProto(resp)));\n }\n getByPartnerId(r) {\n const request = r.toApiJson ? r : new GetByPartnerIDRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.Vendor/GetByPartnerID\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetByPartnerIDResponse.fromProto(resp)));\n }\n isVendorDistributed(r) {\n const request = r.toApiJson ? r : new IsVendorDistributedByPartnerIDRequest(r);\n return this.http.post(this._host + \"/marketplaceapps.v1.Vendor/IsVendorDistributed\", request.toApiJson(), this.apiOptions()).pipe(map(resp => IsVendorDistributedByPartnerIDResponse.fromProto(resp)));\n }\n }\n VendorApiService.ɵfac = function VendorApiService_Factory(t) {\n return new (t || VendorApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n VendorApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: VendorApiService,\n factory: VendorApiService.ɵfac,\n providedIn: 'root'\n });\n return VendorApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Index.\n// *********************************\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { Access, ActiveAppEditionIdentifier, AddAppIDRequest, AddAppIDResponse, Addon, AddonResponse, AddonsListResponse, AppEditionsMarketing, AppRequirement, AppResponse, AppType, AppVendor, ApprovalProcess, ApproveAddonRequest, ApproveAppRequest, BillingProcess, CanActivateRequest, CanActivateResponse, CanActivateResponseInvalidResponse, CanActivateResponseSuccessResponse, Commitment, Contact, Cost, CreateAppRequest, CreateEditionRequest, CreateEditionResponse, CreateVendorRequest, CreateVendorResponse, DeleteAppRequest, DeleteEditionRequest, DeliveryMethod, DistributionSetting, DuplicateAppRequest, DuplicateAppResponse, Edition, EditionBillingFrequency, EditionIdentifier, EditionMarketingInformation, EditionPricing, EditionsApiService, EndOfTrialActions, Fee, FeeAmountType, FeeType, FieldMask, FrequentlyAskedQuestions, GetAddonRequest, GetAppIDFromSkuRequest, GetAppIDFromSkuResponse, GetAppRequest, GetAppResponse, GetAppsToDeactivateUponDeactivationRequest, GetAppsToDeactivateUponDeactivationResponse, GetAppsWithUnpublishedChangesRequest, GetAppsWithUnpublishedChangesResponse, GetBillingIDRequest, GetBillingIDResponse, GetByPartnerIDRequest, GetByPartnerIDResponse, GetEditionRequest, GetEditionResponse, GetMultiAppRequest, GetMultiAppResponse, GetMultiDraftEditionRequest, GetMultiDraftEditionResponse, GetMultiEditionForMultiAppRequest, GetMultiEditionRequest, GetMultiEditionResponse, GetMultiOrderFormsRequest, GetMultiOrderFormsResponse, GetMultiOrderFormsResponseOrderFormContainer, GetMultiProductCostRequest, GetMultiProductCostResponse, GetMultiProductCostResponseProductCostEntry, GetMultiVendorRequest, GetMultiVendorResponse, GetOwnedAppIDsByPartnerIDRequest, GetOwnedAppIDsByPartnerIDResponse, GetPublicKeysRequest, GetPublicKeysResponse, GetSSOUrlsRequest, GetSSOUrlsResponse, HostService, IdentifiedPublicKey, IncludedCommonFormFields, Integration, IsVendorDistributedByPartnerIDRequest, IsVendorDistributedByPartnerIDResponse, ListAddonsRequest, ListApprovedAddonsRequest, ListAppsForVendorIDsRequest, ListAppsForVendorIDsResponse, ListAppsRequest, ListAppsRequestListAppsFilter, ListByMultiAppRequest, ListByMultiAppResponse, ListByMultiAppResponseAppEditions, ListDraftEditionsForAppRequest, ListDraftEditionsForAppResponse, ListEditionsForAppRequest, ListEditionsForAppResponse, ListEditionsMarketingForAppRequest, ListEditionsMarketingForAppResponse, ListRequiredAppSummariesFilters, ListRequiredAppSummariesRequest, ListRequiredAppSummariesResponse, ListVendorRequest, ListVendorResponse, MarketingInformation, MarketplaceApp, MarketplaceAppLmi, MarketplaceAppLmiLmiCategories, MarketplaceAppProduct, MarketplaceAppProductProductCategories, MarketplaceAppsApiService, OrderForm, OrderFormField, OrderFormFieldOption, PagedAppResponse, PermissionLists, ProductCost, ProductCostEditionCostEntry, PublishAppRequest, Release, ReleaseType, RemoveAppIDRequest, RemoveAppIDResponse, RequestAppReviewRequest, RequiredAppSummary, RequiredBusinessData, RequiredFeatures, RestoreAppRequest, Restrictions, Rule, State, StateFilterOptions, SuspendAppRequest, TrialConfiguration, UnapproveAddonRequest, UnapproveAppRequest, UnsuspendAppRequest, UpdateAppApprovalAndBillingSettingsRequest, UpdateAppCategoriesRequest, UpdateAppFulfillmentIntegrationRequest, UpdateAppGeneralInformationRequest, UpdateAppIntegrationRequest, UpdateAppMarketingInformationRequest, UpdateAppOrderFormRequest, UpdateAppSSOIntegrationRequest, UpdateAppTrialConfigurationRequest, UpdateEditionRequest, UpdateMultiEditionRequest, UpdateMultiEditionRequestEditionData, UpdateVendorRequest, UpdateVendorResponse, UpsertEditionsMarketingRequest, VendorApiService };\n","import { HttpErrorResponse } from '@angular/common/http';\nimport { Injectable, NgModule } from '@angular/core';\nimport {\n AddAppIDRequest,\n AppVendor,\n CreateVendorRequest,\n GetByPartnerIDRequest,\n GetMultiVendorRequest,\n GetOwnedAppIDsByPartnerIDRequest,\n IsVendorDistributedByPartnerIDRequest,\n IsVendorDistributedByPartnerIDResponse,\n ListVendorRequest,\n RemoveAppIDRequest,\n UpdateVendorRequest,\n VendorApiService,\n} from '@vendasta/marketplace-apps/v1';\nimport { Observable, throwError } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n@Injectable({ providedIn: 'root' })\nexport class VendorService {\n constructor(private apiService: VendorApiService) {}\n\n create(name: string): Observable {\n const request = new CreateVendorRequest({ name: name });\n const response = this.apiService.create(request);\n return response.pipe(\n map((resp) => {\n return resp ? resp.vendor : null;\n }),\n );\n }\n list(\n cursor: string,\n pageSize: number,\n ): Observable<{\n vendors: AppVendor[];\n cursor: string;\n hasMore: boolean;\n }> {\n const request = new ListVendorRequest({ cursor: cursor, pageSize: pageSize });\n const response = this.apiService.list(request);\n return response.pipe(\n map((resp) => {\n if (!resp) {\n return { vendors: [], cursor: '', hasMore: false };\n }\n return { vendors: resp.vendors, cursor: resp.cursor, hasMore: resp.hasMore };\n }),\n );\n }\n getMulti(vendorIds: string[]): Observable {\n const request = new GetMultiVendorRequest({ ids: vendorIds });\n const response = this.apiService.getMulti(request);\n return response.pipe(\n map((resp) => {\n if (resp && resp.vendors && resp.vendors.length > 0) {\n return resp.vendors;\n }\n return [];\n }),\n );\n }\n addAppId(vendorId: string, appId: string): Observable {\n const request = new AddAppIDRequest({ id: vendorId, appId: appId });\n const response = this.apiService.addAppId(request);\n return response.pipe(\n map((resp) => {\n return resp ? resp.vendor : null;\n }),\n );\n }\n removeAppId(vendorId: string, appId: string): Observable {\n const request = new RemoveAppIDRequest({ id: vendorId, appId: appId });\n const response = this.apiService.removeAppId(request);\n return response.pipe(\n map((resp) => {\n return resp ? resp.vendor : null;\n }),\n );\n }\n update(vendorId: string, name: string): Observable {\n const request = new UpdateVendorRequest({ id: vendorId, name: name });\n const response = this.apiService.update(request);\n return response.pipe(\n map((resp) => {\n return resp ? resp.vendor : null;\n }),\n );\n }\n\n /*\n @params:\n - partnerId: represents the id of a partner to get the owned app ids for.\n @returns:\n - an observable of the string type\n - HttpErrorResponse with status 404 if partnerId is not present\n - HttpErrorResponse with status 500 if the api failed\n - HttpErrorResponse with 409 if the requester does not have access to the partner id\n */\n getOwnedAppIdsByPartnerId(partnerId: string | null): Observable {\n if (!partnerId) {\n const e = new HttpErrorResponse({\n status: 404,\n statusText: 'partner id is required',\n });\n return throwError(e);\n }\n const request = new GetOwnedAppIDsByPartnerIDRequest({\n partnerId: partnerId,\n });\n return this.apiService.getOwnedAppIDsByPartnerId(request).pipe(map((resp) => (resp || { appIds: [] }).appIds));\n }\n\n /*\n @params:\n - appId: represents the id of an app to determine it's ownership of.\n - partnerId: represents the id of a partner to determine if it owns appId.\n @returns:\n - an observable of the string type\n - HttpErrorResponse with status 404 if partnerId is not present\n - HttpErrorResponse with status 500 if the api failed\n - HttpErrorResponse with 409 if the requester does not have access to the partner id\n */\n isAppOwnedByPartner(appID: string | null, partnerId: string | null): Observable {\n if (!partnerId || !appID) {\n const e = new HttpErrorResponse({\n status: 404,\n statusText: 'partner id and app id is required',\n });\n return throwError(e);\n }\n\n return this.getOwnedAppIdsByPartnerId(partnerId).pipe(\n map((appIds) => {\n return appIds ? appIds.findIndex((i) => i === appID) > -1 : false;\n }),\n );\n }\n\n isVendorDistributed(partnerId: string): Observable {\n const request = new IsVendorDistributedByPartnerIDRequest({ partnerId: partnerId });\n const response = this.apiService.isVendorDistributed(request);\n return response.pipe(\n map((resp: IsVendorDistributedByPartnerIDResponse) => {\n return resp ? resp.isDistributed : null;\n }),\n );\n }\n\n getByPartnerId(partnerId: string): Observable {\n const request = new GetByPartnerIDRequest({ partnerId: partnerId });\n const response = this.apiService.getByPartnerId(request);\n return response.pipe(map((resp) => resp.vendor));\n }\n\n getVendorIdByPartnerId(partnerId: string): Observable {\n return this.getByPartnerId(partnerId).pipe(map((vendor) => vendor.id));\n }\n}\n\n@NgModule({\n providers: [VendorApiService],\n})\nexport class VendorServiceModule {}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n Addon,\n AppType,\n CreateAppRequest,\n CreateAppRequestInterface,\n FieldMask,\n GetAddonRequest,\n GetAppIDFromSkuRequest,\n GetAppIDFromSkuResponse,\n GetAppRequest,\n GetMultiAppRequest,\n GetMultiProductCostRequest,\n ListAppsForVendorIDsRequest,\n ListAppsForVendorIDsResponse,\n ListAppsRequest,\n ListAppsRequestListAppsFilter,\n ListRequiredAppSummariesFilters,\n ListRequiredAppSummariesRequest,\n ListRequiredAppSummariesResponse,\n MarketplaceApp,\n MarketplaceAppsApiService,\n ProductCost,\n ReleaseType,\n RequestAppReviewRequest,\n StateFilterOptions,\n SuspendAppRequest,\n UnsuspendAppRequest,\n UpdateAppFulfillmentIntegrationRequest,\n} from '@vendasta/marketplace-apps/v1';\nimport { HostService } from '@vendasta/marketplace-apps/v1';\nimport { Observable, forkJoin } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\ninterface UploadFileResponseInterface {\n fileUrl?: string;\n}\n\nexport interface SkuIds {\n appId?: string;\n addonId?: string;\n editionId?: string;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class MarketplaceAppService {\n constructor(\n private apiService: MarketplaceAppsApiService,\n private http: HttpClient,\n private hostService: HostService,\n ) {}\n\n // getApp gets the app with the given id\n getApp(appId: string, fieldMask?: FieldMask): Observable {\n const request = new GetAppRequest({ appId: appId, fieldMask: fieldMask });\n const response = this.apiService.getApp(request);\n return response.pipe(\n map((resp) => {\n return resp ? resp.app : null;\n }),\n );\n }\n\n // getMultiApp gets the aps with the id. If a given id was not found, that entry in the returned list will be null\n getMultiApps(appIds: string[], fieldMask?: FieldMask): Observable<(MarketplaceApp | null)[]> {\n // Split appIds into chunks to prevent timeouts when there are hundreds of apps to load\n // https://vendasta.jira.com/browse/QOF-1293\n const chunkSize = 250;\n const chunks: string[][] = [];\n\n for (let i = 0; i < appIds.length; i += chunkSize) {\n chunks.push(appIds.slice(i, i + chunkSize));\n }\n\n const chunks$ = chunks.map((appIds) => {\n const request = new GetMultiAppRequest({ appId: appIds, fieldMask: fieldMask });\n return this.apiService.getMultiApp(request).pipe(\n map((resp) => {\n if (resp && resp.apps && resp.apps.length > 0) {\n return resp.apps;\n }\n return [];\n }),\n );\n });\n\n return forkJoin(chunks$).pipe(\n // flatten the chunks into a single array of apps\n map((chunks) => {\n return chunks.flat();\n }),\n );\n }\n\n // getAppDraft returns the current unpublished version of an app\n getAppDraft(appId: string, fieldMask?: FieldMask): Observable {\n const request = new GetAppRequest({ appId: appId, fieldMask: fieldMask });\n const response = this.apiService.getAppDraft(request);\n return response.pipe(\n map((resp) => {\n return resp ? resp.app : undefined;\n }),\n );\n }\n\n getAddon(appId: string, addonId: string): Observable {\n const request = new GetAddonRequest({ appId: appId, addonId: addonId });\n const response$ = this.apiService.getAddon(request);\n return response$.pipe(\n map((resp) => {\n return resp ? resp.addon : undefined;\n }),\n );\n }\n\n listApps(\n pageSize = 0,\n cursor = '',\n fieldMask?: FieldMask,\n partnerId?: string,\n filterTerm?: string,\n releaseType?: ReleaseType,\n appType?: AppType,\n stateFilter?: StateFilterOptions,\n ): Observable<{\n apps: MarketplaceApp[];\n cursor: string;\n hasMore: boolean;\n }> {\n const filter = new ListAppsRequestListAppsFilter({\n partnerId: partnerId,\n filterTerm: filterTerm,\n releaseType: releaseType,\n appType: appType,\n state: stateFilter,\n });\n const request = new ListAppsRequest({\n pageSize: pageSize,\n cursor: cursor,\n fieldMask: fieldMask,\n filter: filter,\n });\n const response = this.apiService.listApps(request);\n return response.pipe(\n map((resp) => {\n if (!resp) {\n return { apps: [], cursor: '', pageSize: 0, hasMore: false };\n }\n return { apps: resp.apps, cursor: resp.cursor, pageSize: resp.pageSize, hasMore: resp.hasMore };\n }),\n );\n }\n\n listAppsForVendorIDs(\n vendorIds: string[],\n includeAddons: boolean,\n cursor = '',\n pageSize = 10,\n fieldMask?: FieldMask,\n ): Observable<{\n apps: MarketplaceApp[];\n cursor: string;\n hasMore: boolean;\n }> {\n const request = new ListAppsForVendorIDsRequest({\n vendorIds: vendorIds,\n includeAddons: includeAddons,\n cursor: cursor,\n pageSize: pageSize,\n fieldMask: fieldMask,\n });\n const response = this.apiService.listAppsForVendorIDs(request);\n return response.pipe(\n map((resp: ListAppsForVendorIDsResponse) => {\n if (!resp) {\n return { apps: [], cursor: '', hasMore: false };\n }\n return { apps: resp.apps, cursor: resp.cursor, hasMore: resp.hasMore };\n }),\n );\n }\n\n // This method will give you back the first parent of the app corresponding to the sku provided\n /**\n * @deprecated use the `appId` field on the response of the getIdsFromSku() method.\n */\n getAppIdFromSku(sku: string): Observable {\n const request = new GetAppIDFromSkuRequest({ sku: sku });\n return this.apiService.getAppIdFromSku(request).pipe(map((resp: GetAppIDFromSkuResponse) => resp.appId));\n }\n\n getIdsFromSku(sku: string): Observable {\n const request = new GetAppIDFromSkuRequest({ sku: sku });\n return this.apiService\n .getAppIdFromSku(request)\n .pipe(map((resp: GetAppIDFromSkuResponse) => (resp ? { ...resp } : null)));\n }\n\n // createApp sends an app creation request and returns the app\n createApp(kwargs: CreateAppRequestInterface): Observable {\n const request = new CreateAppRequest(kwargs);\n const response = this.apiService.createApp(request);\n return response.pipe(\n map((resp) => {\n return resp ? resp.app : null;\n }),\n );\n }\n\n // duplicateApp will duplicate the provided App and return the new App's ID\n duplicateApp(appId: string): Observable {\n return this.apiService.duplicateApp({ appId: appId }).pipe(map((resp) => (resp ? resp.appId : null)));\n }\n\n // uploadMarketingFile uploads a file to be used for an apps marketing material\n // returns the url to view that file\n uploadMarketingFile(file: File): Observable {\n const url = this.hostService.hostWithScheme + '/upload-file';\n return this.http\n .post(url, file, {\n headers: new HttpHeaders({\n 'Content-Type': file.type,\n 'Content-Disposition': `attachment; filename=\"${file.name}\"`,\n }),\n withCredentials: true,\n })\n .pipe(\n map((resp) => {\n return resp ? resp.fileUrl : undefined;\n }),\n );\n }\n\n // getMultiProductCost gets the cost of products for a partner.\n getMultiProductCost(partnerId: string, appIds: string[]): Observable<{ [key: string]: ProductCost } | null> {\n const request = new GetMultiProductCostRequest({ partnerId: partnerId, appIds: appIds });\n const response = this.apiService.getMultiProductCost(request);\n return response.pipe(\n map((resp) => {\n if (resp) {\n return resp.productCost;\n }\n\n return null;\n }),\n );\n }\n\n suspendApp(appId: string): Observable {\n const req = new SuspendAppRequest({\n appId: appId,\n });\n return this.apiService.suspendApp(req).pipe(map(() => true));\n }\n\n unsuspendApp(appId: string): Observable {\n const req = new UnsuspendAppRequest({\n appId: appId,\n });\n return this.apiService.unsuspendApp(req).pipe(map(() => true));\n }\n\n requestAppReview(appId: string): Observable {\n const req = new RequestAppReviewRequest({\n appId: appId,\n });\n return this.apiService.requestAppReview(req).pipe(map(() => true));\n }\n\n updateAppFulfillmentIntegration(\n appId: string,\n usesFulfillmentIntegration: boolean,\n ): Observable {\n const request = new UpdateAppFulfillmentIntegrationRequest({\n appId: appId,\n usesFulfillmentIntegration: usesFulfillmentIntegration,\n });\n return this.apiService.updateAppFulfillmentIntegration(request).pipe(\n map((resp) => {\n return resp ? resp.app : null;\n }),\n );\n }\n\n listRequiredAppSummaries(\n vendorId: string,\n cursor: string,\n pageSize: number,\n filters: ListRequiredAppSummariesFilters,\n ): Observable {\n return this.apiService.listRequiredAppSummaries(\n new ListRequiredAppSummariesRequest({\n vendorId,\n cursor,\n pageSize,\n filters,\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n AppEditionsMarketing,\n CreateEditionRequest,\n DeleteEditionRequest,\n Edition,\n EditionBillingFrequency,\n EditionMarketingInformationInterface,\n EditionsApiService,\n GetEditionRequest,\n GetMultiDraftEditionRequest,\n GetMultiEditionForMultiAppRequest,\n GetMultiEditionRequest,\n ListDraftEditionsForAppRequest,\n ListEditionsForAppRequest,\n ListEditionsMarketingForAppRequest,\n Release,\n UpdateMultiEditionRequest,\n UpsertEditionsMarketingRequest,\n} from '@vendasta/marketplace-apps/v1';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nexport interface EditionIdentifiers {\n appId: string;\n editionId: string;\n}\n\nexport interface EditionPricingData {\n wholesalePrice: number;\n suggestedRetailPrice: number;\n billingFrequency: EditionBillingFrequency;\n}\n\nexport interface EditionData {\n editionId: string;\n name: string;\n pricing: EditionPricingData;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class EditionsService {\n constructor(private apiService: EditionsApiService) {}\n\n get(appId: string, editionId: string): Observable {\n const req = new GetEditionRequest({\n appId: appId,\n editionId: editionId,\n });\n return this.apiService.get(req).pipe(map((resp) => resp.edition));\n }\n\n getMulti(appId: string, editionIds: string[]): Observable {\n const req = new GetMultiEditionRequest({\n appId: appId,\n editionIds: editionIds,\n });\n return this.apiService.getMulti(req).pipe(map((resp) => resp.editions));\n }\n\n getMultiDraft(appId: string, editionIds: string[]): Observable {\n const req = new GetMultiDraftEditionRequest({\n appId: appId,\n editionIds: editionIds,\n });\n return this.apiService.getMultiDraft(req).pipe(map((resp) => resp.editions));\n }\n\n listEditionsForApp(appId: string, cursor: string, pageSize: number): Observable {\n const req = new ListEditionsForAppRequest({\n appId: appId,\n cursor: cursor,\n pageSize: pageSize,\n });\n return this.apiService.listEditionsForApp(req).pipe(map((resp) => resp.editions));\n }\n\n listDraftEditionsForApp(appId: string, cursor: string, pageSize: number): Observable {\n const req = new ListDraftEditionsForAppRequest({\n appId: appId,\n cursor: cursor,\n pageSize: pageSize,\n });\n return this.apiService.listDraftEditionsForApp(req).pipe(map((resp) => resp.editions));\n }\n\n getMultiEditionForMultiApp(editionIdentifiersList: EditionIdentifiers[]): Observable {\n const req = new GetMultiEditionForMultiAppRequest({\n appEditionIdPairs: editionIdentifiersList,\n });\n return this.apiService.getMultiEditionForMultiApp(req).pipe(map((resp) => resp.editions));\n }\n\n updateMulti(appId: string, editionData: EditionData[]): Observable {\n const req = new UpdateMultiEditionRequest({\n appId: appId,\n editions: editionData,\n });\n return this.apiService.updateMulti(req).pipe(map(() => true));\n }\n\n create(appId: string, editionName: string): Observable {\n const req = new CreateEditionRequest({\n appId,\n name: editionName,\n });\n return this.apiService.create(req).pipe(map((resp) => resp.edition));\n }\n\n deleteEdition(appId: string, editionId: string): Observable {\n const req = new DeleteEditionRequest({\n appId: appId,\n editionId: editionId,\n });\n return this.apiService.delete(req).pipe(map(() => true));\n }\n\n upsertEditionsMarketing(\n appId: string,\n editionId: string,\n endUserMarketing: EditionMarketingInformationInterface,\n usesResellerMarketing: boolean,\n resellerMarketing: EditionMarketingInformationInterface,\n ): Observable {\n const req = new UpsertEditionsMarketingRequest({\n appId: appId,\n editionId: editionId,\n endUserMarketing: endUserMarketing,\n usesResellerMarketing: usesResellerMarketing,\n resellerMarketing: resellerMarketing,\n });\n return this.apiService.upsertEditionsMarketing(req).pipe(map(() => true));\n }\n\n listEditionsMarketingForApp(appId: string, release: Release): Observable {\n const req = new ListEditionsMarketingForAppRequest({\n appId: appId,\n releaseType: release,\n });\n return this.apiService.listEditionsMarketingForApp(req).pipe(\n map((aem) => {\n return aem.appEditionsMarketing;\n }),\n );\n }\n}\n","export class File {\n constructor(public url: string) {\n this.url = url;\n }\n\n get name(): string | null {\n return this.url ? this.url.substring(this.url.lastIndexOf('/') + 1, this.url.lastIndexOf('.')) : null;\n }\n\n get icon(): string {\n const ext = this.url ? this.url.substring(this.url.lastIndexOf('.') + 1) : null;\n switch (ext) {\n case 'pdf':\n return 'icon-pdf';\n case 'ppt':\n return 'icon-ppt';\n default:\n return 'icon-docs';\n }\n }\n}\n","import { Addon as GeneratedAddon } from '@vendasta/marketplace-apps/v1';\nimport { File } from './file.model';\nimport { formatDisplayPrice, BillingFrequency } from '@vendasta/shared';\n\nexport class Addon extends GeneratedAddon {\n // These fields are needed to properly\n // display the Addons parent information in the navigation\n productIcon: string;\n productName: string;\n private _endUserMarketingFiles: File[] | undefined;\n private _resellerMarketingFiles: File[] | undefined;\n\n static fromApi(data: any): Addon {\n const addon: any = {};\n data = data || {};\n Object.assign(addon, data);\n if (data.created) {\n addon['created'] = new Date(data.created);\n }\n if (data.updated) {\n addon['updated'] = new Date(data.updated);\n }\n return new Addon(addon);\n }\n\n constructor(data?: any) {\n super();\n data = data || {};\n this.addonId = data.addonId;\n this.appId = data.appId;\n this.tagline = data.tagline;\n this.price = data.price;\n this.title = data.title;\n this.description = data.description;\n this.created = data.created;\n this.updated = data.updated;\n this.orderForm = data.orderForm;\n this.usesOrderForm = data.usesOrderForm;\n this.approved = data.approved;\n this.icon = data.icon;\n this.bannerImage = data.bannerImage;\n this.resellerMarketing = data.resellerMarketing;\n this.endUserMarketing = data.endUserMarketing;\n this.billingFrequency = data.billingFrequency;\n this.serviceModel = data.serviceModel;\n this.discoverable = data.discoverable;\n this.screenshots = data.screenshots;\n this.productName = data.productName;\n this.productIcon = data.productIcon;\n this.multipleActivations = data.multipleActivations;\n this.restrictions = data.restrictions;\n this.activationRequiresApproval = data.activationRequiresApproval;\n this.billingId = data.billingId;\n this.commitment = data.commitment;\n this.currency = data.currency;\n this.usesCustomPricing = data.usesCustomPricing;\n }\n\n get endUserMarketingFiles(): File[] | null {\n if (this._endUserMarketingFiles) {\n return this._endUserMarketingFiles;\n } else {\n if (this.endUserMarketing.files) {\n this._endUserMarketingFiles = this.endUserMarketing.files.map((url) => new File(url));\n return this._endUserMarketingFiles;\n }\n }\n return null;\n }\n\n get resellerMarketingFiles(): File[] | null {\n if (this._resellerMarketingFiles) {\n return this._resellerMarketingFiles;\n } else {\n if (this.resellerMarketing.files) {\n this._resellerMarketingFiles = this.resellerMarketing.files.map((url) => new File(url));\n return this._resellerMarketingFiles;\n }\n }\n return null;\n }\n\n get formattedPrice(): string {\n const billingString = this.billingFrequency ? this.billingFrequency : 'monthly';\n return formatDisplayPrice(this.price, this.currency, billingString as BillingFrequency);\n }\n}\n"],"mappings":"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","names":["FeeAmountType","FeeType","AppType","ApprovalProcess","BillingProcess","DeliveryMethod","DistributionSetting","EndOfTrialActions","MarketplaceAppLmiLmiCategories","MarketplaceAppProductProductCategories","ReleaseType","State","StateFilterOptions","EditionBillingFrequency","Release","enumStringToValue$c","enumRef","value","Fee","_Fee","proto","m","kwargs","toReturn","Commitment","_Commitment","proto","m","kwargs","toReturn","IncludedCommonFormFields","_IncludedCommonFormFields","proto","m","kwargs","toReturn","OrderFormFieldOption","_OrderFormFieldOption","OrderForm","_OrderForm","OrderFormField","_OrderFormField","AppRequirement","_AppRequirement","proto","m","Rule","kwargs","toReturn","EditionIdentifier","_EditionIdentifier","PermissionLists","_PermissionLists","RequiredBusinessData","_RequiredBusinessData","RequiredFeatures","_RequiredFeatures","Restrictions","_Restrictions","_Rule","enumStringToValue$8","enumRef","value","Contact","_Contact","Cost","_Cost","FrequentlyAskedQuestions","_FrequentlyAskedQuestions","IdentifiedPublicKey","_IdentifiedPublicKey","Integration","_Integration","ApprovalProcess","MarketingInformation","_MarketingInformation","proto","m","FrequentlyAskedQuestions","kwargs","toReturn","MarketplaceApp","_MarketplaceApp","enumStringToValue$8","MarketplaceAppProductProductCategories","v","MarketplaceAppLmiLmiCategories","Integration","OrderForm","Restrictions","Commitment","TrialConfiguration","State","AppType","Cost","BillingProcess","DeliveryMethod","TrialConfiguration","_TrialConfiguration","proto","m","enumStringToValue$8","EndOfTrialActions","kwargs","toReturn","Addon","_Addon","proto","m","OrderForm","MarketingInformation","Restrictions","Commitment","kwargs","toReturn","FieldMask","_FieldMask","proto","m","kwargs","toReturn","AppVendor","_AppVendor","proto","m","kwargs","toReturn","ProductCost","_ProductCost","proto","m","Commitment","obj","k","kwargs","toReturn","enumStringToValue$2","enumRef","value","ActiveAppEditionIdentifier","_ActiveAppEditionIdentifier","AddAppIDRequest","_AddAppIDRequest","AddAppIDResponse","_AddAppIDResponse","AppVendor","AddonResponse","_AddonResponse","Addon","AddonsListResponse","_AddonsListResponse","AppResponse","_AppResponse","MarketplaceApp","ApproveAddonRequest","_ApproveAddonRequest","ApproveAppRequest","_ApproveAppRequest","CanActivateRequest","_CanActivateRequest","CanActivateResponse","_CanActivateResponse","CanActivateResponseInvalidResponse","CanActivateResponseSuccessResponse","CreateAppRequest","_CreateAppRequest","v","MarketplaceAppLmiLmiCategories","Restrictions","OrderForm","MarketingInformation","PermissionLists","DistributionSetting","State","Cost","DeliveryMethod","CreateVendorRequest","_CreateVendorRequest","CreateVendorResponse","_CreateVendorResponse","DeleteAppRequest","_DeleteAppRequest","DuplicateAppRequest","_DuplicateAppRequest","DuplicateAppResponse","_DuplicateAppResponse","GetAddonRequest","_GetAddonRequest","GetAppIDFromSkuRequest","_GetAppIDFromSkuRequest","GetAppIDFromSkuResponse","_GetAppIDFromSkuResponse","GetAppRequest","_GetAppRequest","FieldMask","GetAppResponse","_GetAppResponse","GetAppsToDeactivateUponDeactivationRequest","_GetAppsToDeactivateUponDeactivationRequest","GetAppsToDeactivateUponDeactivationResponse","_GetAppsToDeactivateUponDeactivationResponse","GetAppsWithUnpublishedChangesRequest","_GetAppsWithUnpublishedChangesRequest","GetAppsWithUnpublishedChangesResponse","_GetAppsWithUnpublishedChangesResponse","GetByPartnerIDRequest","_GetByPartnerIDRequest","GetByPartnerIDResponse","_GetByPartnerIDResponse","GetMultiAppRequest","_GetMultiAppRequest","GetMultiAppResponse","_GetMultiAppResponse","GetMultiOrderFormsRequest","_GetMultiOrderFormsRequest","GetMultiOrderFormsResponse","_GetMultiOrderFormsResponse","GetMultiOrderFormsResponseOrderFormContainer","GetMultiProductCostRequest","_GetMultiProductCostRequest","GetMultiProductCostResponse","_GetMultiProductCostResponse","GetMultiVendorRequest","_GetMultiVendorRequest","GetMultiVendorResponse","_GetMultiVendorResponse","GetOwnedAppIDsByPartnerIDRequest","_GetOwnedAppIDsByPartnerIDRequest","GetOwnedAppIDsByPartnerIDResponse","_GetOwnedAppIDsByPartnerIDResponse","GetPublicKeysRequest","_GetPublicKeysRequest","GetPublicKeysResponse","_GetPublicKeysResponse","IdentifiedPublicKey","GetSSOUrlsRequest","_GetSSOUrlsRequest","GetSSOUrlsResponse","_GetSSOUrlsResponse","_CanActivateResponseInvalidResponse","IsVendorDistributedByPartnerIDRequest","_IsVendorDistributedByPartnerIDRequest","IsVendorDistributedByPartnerIDResponse","_IsVendorDistributedByPartnerIDResponse","ListAddonsRequest","_ListAddonsRequest","ListApprovedAddonsRequest","_ListApprovedAddonsRequest","ListAppsRequestListAppsFilter","_ListAppsRequestListAppsFilter","AppType","ReleaseType","StateFilterOptions","ListAppsForVendorIDsRequest","_ListAppsForVendorIDsRequest","ListAppsForVendorIDsResponse","_ListAppsForVendorIDsResponse","ListAppsRequest","_ListAppsRequest","ListRequiredAppSummariesFilters","_ListRequiredAppSummariesFilters","ListRequiredAppSummariesRequest","_ListRequiredAppSummariesRequest","ListRequiredAppSummariesResponse","_ListRequiredAppSummariesResponse","RequiredAppSummary","ListVendorRequest","_ListVendorRequest","ListVendorResponse","_ListVendorResponse","_GetMultiOrderFormsResponseOrderFormContainer","PagedAppResponse","_PagedAppResponse","PublishAppRequest","_PublishAppRequest","proto","m","kwargs","toReturn","RemoveAppIDRequest","_RemoveAppIDRequest","RemoveAppIDResponse","_RemoveAppIDResponse","AppVendor","RequestAppReviewRequest","_RequestAppReviewRequest","RequiredAppSummary","_RequiredAppSummary","RestoreAppRequest","_RestoreAppRequest","CanActivateResponseSuccessResponse","_CanActivateResponseSuccessResponse","SuspendAppRequest","_SuspendAppRequest","UnapproveAddonRequest","_UnapproveAddonRequest","UnapproveAppRequest","_UnapproveAppRequest","UnsuspendAppRequest","_UnsuspendAppRequest","UpdateAppApprovalAndBillingSettingsRequest","_UpdateAppApprovalAndBillingSettingsRequest","enumStringToValue$2","ApprovalProcess","BillingProcess","UpdateAppCategoriesRequest","_UpdateAppCategoriesRequest","UpdateAppFulfillmentIntegrationRequest","_UpdateAppFulfillmentIntegrationRequest","UpdateAppGeneralInformationRequest","_UpdateAppGeneralInformationRequest","v","MarketplaceAppLmiLmiCategories","Restrictions","FieldMask","PermissionLists","Commitment","State","Cost","DeliveryMethod","Fee","UpdateAppIntegrationRequest","_UpdateAppIntegrationRequest","Contact","UpdateAppMarketingInformationRequest","_UpdateAppMarketingInformationRequest","MarketingInformation","UpdateAppOrderFormRequest","_UpdateAppOrderFormRequest","OrderForm","UpdateAppSSOIntegrationRequest","_UpdateAppSSOIntegrationRequest","UpdateAppTrialConfigurationRequest","_UpdateAppTrialConfigurationRequest","EndOfTrialActions","UpdateVendorRequest","_UpdateVendorRequest","UpdateVendorResponse","_UpdateVendorResponse","enumStringToValue$1","enumRef","value","AppEditionsMarketing","_AppEditionsMarketing","EditionMarketingInformation","Release","Edition","_Edition","EditionPricing","_EditionMarketingInformation","_EditionPricing","EditionBillingFrequency","enumStringToValue","ListByMultiAppResponseAppEditions","_ListByMultiAppResponseAppEditions","CreateEditionRequest","_CreateEditionRequest","CreateEditionResponse","_CreateEditionResponse","DeleteEditionRequest","_DeleteEditionRequest","UpdateMultiEditionRequestEditionData","_UpdateMultiEditionRequestEditionData","GetBillingIDRequest","_GetBillingIDRequest","GetBillingIDResponse","_GetBillingIDResponse","GetEditionRequest","_GetEditionRequest","GetEditionResponse","_GetEditionResponse","GetMultiDraftEditionRequest","_GetMultiDraftEditionRequest","GetMultiDraftEditionResponse","_GetMultiDraftEditionResponse","GetMultiEditionForMultiAppRequest","_GetMultiEditionForMultiAppRequest","GetMultiEditionRequest","_GetMultiEditionRequest","GetMultiEditionResponse","_GetMultiEditionResponse","ListByMultiAppRequest","_ListByMultiAppRequest","ListByMultiAppResponse","_ListByMultiAppResponse","ListDraftEditionsForAppRequest","_ListDraftEditionsForAppRequest","ListDraftEditionsForAppResponse","_ListDraftEditionsForAppResponse","ListEditionsForAppRequest","_ListEditionsForAppRequest","ListEditionsForAppResponse","_ListEditionsForAppResponse","ListEditionsMarketingForAppRequest","_ListEditionsMarketingForAppRequest","ListEditionsMarketingForAppResponse","_ListEditionsMarketingForAppResponse","UpdateEditionRequest","_UpdateEditionRequest","UpdateMultiEditionRequest","_UpdateMultiEditionRequest","UpsertEditionsMarketingRequest","_UpsertEditionsMarketingRequest","environment","hostMap","HostService","t","ɵɵdefineInjectable","EditionsApiService","http","hostService","HttpHeaders","r","request","map","resp","__spreadProps","__spreadValues","ɵɵinject","HttpClient","MarketplaceAppsApiService","ListAddonsRequest","AddonsListResponse","GetAddonRequest","AddonResponse","GetPublicKeysRequest","GetPublicKeysResponse","GetSSOUrlsRequest","GetSSOUrlsResponse","GetAppRequest","GetAppResponse","GetMultiAppRequest","GetMultiAppResponse","ListAppsRequest","PagedAppResponse","ListAppsForVendorIDsRequest","ListAppsForVendorIDsResponse","ApproveAddonRequest","ListApprovedAddonsRequest","GetMultiOrderFormsRequest","GetMultiOrderFormsResponse","CreateAppRequest","AppResponse","DeleteAppRequest","DuplicateAppRequest","DuplicateAppResponse","ApproveAppRequest","GetAppsWithUnpublishedChangesRequest","GetAppsWithUnpublishedChangesResponse","CanActivateRequest","CanActivateResponse","GetAppsToDeactivateUponDeactivationRequest","GetAppsToDeactivateUponDeactivationResponse","GetAppIDFromSkuRequest","GetAppIDFromSkuResponse","GetMultiProductCostRequest","GetMultiProductCostResponse","ListRequiredAppSummariesRequest","ListRequiredAppSummariesResponse","VendorApiService","CreateVendorRequest","CreateVendorResponse","ListVendorRequest","ListVendorResponse","GetMultiVendorRequest","GetMultiVendorResponse","AddAppIDRequest","AddAppIDResponse","GetOwnedAppIDsByPartnerIDRequest","GetOwnedAppIDsByPartnerIDResponse","GetByPartnerIDRequest","GetByPartnerIDResponse","IsVendorDistributedByPartnerIDRequest","IsVendorDistributedByPartnerIDResponse","VendorService","constructor","apiService","create","name","request","CreateVendorRequest","pipe","map","resp","vendor","list","cursor","pageSize","ListVendorRequest","vendors","hasMore","getMulti","vendorIds","GetMultiVendorRequest","ids","length","addAppId","vendorId","appId","AddAppIDRequest","id","removeAppId","RemoveAppIDRequest","update","UpdateVendorRequest","getOwnedAppIdsByPartnerId","partnerId","e","HttpErrorResponse","status","statusText","throwError","GetOwnedAppIDsByPartnerIDRequest","getOwnedAppIDsByPartnerId","appIds","isAppOwnedByPartner","appID","findIndex","i","isVendorDistributed","IsVendorDistributedByPartnerIDRequest","isDistributed","getByPartnerId","GetByPartnerIDRequest","getVendorIdByPartnerId","ɵɵinject","VendorApiService","factory","ɵfac","providedIn","_VendorService","MarketplaceAppService","constructor","apiService","http","hostService","getApp","appId","fieldMask","request","GetAppRequest","pipe","map","resp","app","getMultiApps","appIds","chunks","i","length","chunkSize","push","slice","chunks$","GetMultiAppRequest","getMultiApp","apps","forkJoin","flat","getAppDraft","undefined","getAddon","addonId","GetAddonRequest","addon","listApps","pageSize","cursor","partnerId","filterTerm","releaseType","appType","stateFilter","filter","ListAppsRequestListAppsFilter","state","ListAppsRequest","hasMore","listAppsForVendorIDs","vendorIds","includeAddons","ListAppsForVendorIDsRequest","getAppIdFromSku","sku","GetAppIDFromSkuRequest","getIdsFromSku","__spreadValues","createApp","kwargs","CreateAppRequest","duplicateApp","uploadMarketingFile","file","url","hostWithScheme","post","headers","HttpHeaders","type","name","withCredentials","fileUrl","getMultiProductCost","GetMultiProductCostRequest","productCost","suspendApp","req","SuspendAppRequest","unsuspendApp","UnsuspendAppRequest","requestAppReview","RequestAppReviewRequest","updateAppFulfillmentIntegration","usesFulfillmentIntegration","UpdateAppFulfillmentIntegrationRequest","listRequiredAppSummaries","vendorId","filters","ListRequiredAppSummariesRequest","ɵɵinject","MarketplaceAppsApiService","HttpClient","HostService","factory","ɵfac","providedIn","_MarketplaceAppService","EditionsService","constructor","apiService","get","appId","editionId","req","GetEditionRequest","pipe","map","resp","edition","getMulti","editionIds","GetMultiEditionRequest","editions","getMultiDraft","GetMultiDraftEditionRequest","listEditionsForApp","cursor","pageSize","ListEditionsForAppRequest","listDraftEditionsForApp","ListDraftEditionsForAppRequest","getMultiEditionForMultiApp","editionIdentifiersList","GetMultiEditionForMultiAppRequest","appEditionIdPairs","updateMulti","editionData","UpdateMultiEditionRequest","create","editionName","CreateEditionRequest","name","deleteEdition","DeleteEditionRequest","delete","upsertEditionsMarketing","endUserMarketing","usesResellerMarketing","resellerMarketing","UpsertEditionsMarketingRequest","listEditionsMarketingForApp","release","ListEditionsMarketingForAppRequest","releaseType","aem","appEditionsMarketing","ɵɵinject","EditionsApiService","factory","ɵfac","providedIn","_EditionsService","File","constructor","url","name","substring","lastIndexOf","icon","Addon","GeneratedAddon","fromApi","data","addon","Object","assign","created","Date","updated","constructor","addonId","appId","tagline","price","title","description","orderForm","usesOrderForm","approved","icon","bannerImage","resellerMarketing","endUserMarketing","billingFrequency","serviceModel","discoverable","screenshots","productName","productIcon","multipleActivations","restrictions","activationRequiresApproval","billingId","commitment","currency","usesCustomPricing","endUserMarketingFiles","_endUserMarketingFiles","files","map","url","File","resellerMarketingFiles","_resellerMarketingFiles","formattedPrice","billingString","formatDisplayPrice"],"x_google_ignoreList":[0]}