{"version":3,"sources":["node_modules/@vendasta/constant-contact/fesm2020/vendasta-constant-contact.mjs","apps/partner-center-client/src/app/accounts/change-plan-dialog/change-plan-dialog.component.ts","apps/partner-center-client/src/app/accounts/change-plan-dialog/change-plan-dialog.component.html","apps/partner-center-client/src/app/accounts/change-plan-dialog/change-plan-service.ts"],"sourcesContent":["import * as i0 from '@angular/core';\nimport { Injectable } from '@angular/core';\nimport { map } from 'rxjs/operators';\nimport * as i1 from '@angular/common/http';\nimport { HttpHeaders } from '@angular/common/http';\n\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar AccountPlan = /*#__PURE__*/function (AccountPlan) {\n AccountPlan[AccountPlan[\"ACCOUNT_PLAN_INVALID\"] = 0] = \"ACCOUNT_PLAN_INVALID\";\n AccountPlan[AccountPlan[\"ACCOUNT_PLAN_EMAIL\"] = 1] = \"ACCOUNT_PLAN_EMAIL\";\n AccountPlan[AccountPlan[\"ACCOUNT_PLAN_EMAIL_PLUS\"] = 2] = \"ACCOUNT_PLAN_EMAIL_PLUS\";\n AccountPlan[AccountPlan[\"ACCOUNT_PLAN_LITE\"] = 3] = \"ACCOUNT_PLAN_LITE\";\n AccountPlan[AccountPlan[\"ACCOUNT_PLAN_STANDARD\"] = 4] = \"ACCOUNT_PLAN_STANDARD\";\n AccountPlan[AccountPlan[\"ACCOUNT_PLAN_PREMIUM\"] = 5] = \"ACCOUNT_PLAN_PREMIUM\";\n return AccountPlan;\n}(AccountPlan || {});\nvar AccountStatus = /*#__PURE__*/function (AccountStatus) {\n AccountStatus[AccountStatus[\"ACCOUNT_STATUS_INVALID\"] = 0] = \"ACCOUNT_STATUS_INVALID\";\n AccountStatus[AccountStatus[\"ACCOUNT_STATUS_TRIAL\"] = 1] = \"ACCOUNT_STATUS_TRIAL\";\n AccountStatus[AccountStatus[\"ACCOUNT_STATUS_OPEN\"] = 2] = \"ACCOUNT_STATUS_OPEN\";\n AccountStatus[AccountStatus[\"ACCOUNT_STATUS_CANCELLED\"] = 3] = \"ACCOUNT_STATUS_CANCELLED\";\n AccountStatus[AccountStatus[\"ACCOUNT_STATUS_PENDING_CANCELLATION\"] = 4] = \"ACCOUNT_STATUS_PENDING_CANCELLATION\";\n AccountStatus[AccountStatus[\"ACCOUNT_STATUS_TRIAL_END\"] = 5] = \"ACCOUNT_STATUS_TRIAL_END\";\n return AccountStatus;\n}(AccountStatus || {});\n// *********************************\n\nfunction enumStringToValue(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass Account {\n static fromProto(proto) {\n let m = new Account();\n m = Object.assign(m, proto);\n if (proto.pricingTierId) {\n m.pricingTierId = parseInt(proto.pricingTierId, 10);\n }\n if (proto.status) {\n m.status = enumStringToValue(AccountStatus, proto.status);\n }\n if (proto.plan) {\n m.plan = enumStringToValue(AccountPlan, proto.plan);\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.businessId !== 'undefined') {\n toReturn['businessId'] = this.businessId;\n }\n if (typeof this.pricingTierId !== 'undefined') {\n toReturn['pricingTierId'] = this.pricingTierId;\n }\n if (typeof this.status !== 'undefined') {\n toReturn['status'] = this.status;\n }\n if (typeof this.plan !== 'undefined') {\n toReturn['plan'] = this.plan;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n return toReturn;\n }\n}\nclass GetMultiCampaignsResponseCampaign {\n static fromProto(proto) {\n let m = new GetMultiCampaignsResponseCampaign();\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.businessId !== 'undefined') {\n toReturn['businessId'] = this.businessId;\n }\n if (typeof this.campaignId !== 'undefined') {\n toReturn['campaignId'] = this.campaignId;\n }\n if (typeof this.campaignName !== 'undefined') {\n toReturn['campaignName'] = this.campaignName;\n }\n return toReturn;\n }\n}\nclass GetAccountRequest {\n static fromProto(proto) {\n let m = new GetAccountRequest();\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.businessId !== 'undefined') {\n toReturn['businessId'] = this.businessId;\n }\n return toReturn;\n }\n}\nclass GetAccountResponse {\n static fromProto(proto) {\n let m = new GetAccountResponse();\n m = Object.assign(m, proto);\n if (proto.account) {\n m.account = Account.fromProto(proto.account);\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.account !== 'undefined' && this.account !== null) {\n toReturn['account'] = 'toApiJson' in this.account ? this.account.toApiJson() : this.account;\n }\n return toReturn;\n }\n}\nclass GetMultiCampaignsRequest {\n static fromProto(proto) {\n let m = new GetMultiCampaignsRequest();\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.businessId !== 'undefined') {\n toReturn['businessId'] = this.businessId;\n }\n if (typeof this.campaignIds !== 'undefined') {\n toReturn['campaignIds'] = this.campaignIds;\n }\n return toReturn;\n }\n}\nclass GetMultiCampaignsResponse {\n static fromProto(proto) {\n let m = new GetMultiCampaignsResponse();\n m = Object.assign(m, proto);\n if (proto.campaigns) {\n m.campaigns = proto.campaigns.map(GetMultiCampaignsResponseCampaign.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.campaigns !== 'undefined' && this.campaigns !== null) {\n toReturn['campaigns'] = 'toApiJson' in this.campaigns ? this.campaigns.toApiJson() : this.campaigns;\n }\n return toReturn;\n }\n}\nclass ListAccountsRequest {\n static fromProto(proto) {\n let m = new ListAccountsRequest();\n m = Object.assign(m, proto);\n if (proto.pagingOptions) {\n m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);\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.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {\n toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? this.pagingOptions.toApiJson() : this.pagingOptions;\n }\n return toReturn;\n }\n}\nclass ListAccountsResponse {\n static fromProto(proto) {\n let m = new ListAccountsResponse();\n m = Object.assign(m, proto);\n if (proto.accounts) {\n m.accounts = proto.accounts.map(Account.fromProto);\n }\n if (proto.pagingMetadata) {\n m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);\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.accounts !== 'undefined' && this.accounts !== null) {\n toReturn['accounts'] = 'toApiJson' in this.accounts ? this.accounts.toApiJson() : this.accounts;\n }\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {\n toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? this.pagingMetadata.toApiJson() : this.pagingMetadata;\n }\n return toReturn;\n }\n}\nclass ListPricingTiersRequest {\n static fromProto(proto) {\n let m = new ListPricingTiersRequest();\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 ListPricingTiersResponse {\n static fromProto(proto) {\n let m = new ListPricingTiersResponse();\n m = Object.assign(m, proto);\n if (proto.pricingTiers) {\n m.pricingTiers = proto.pricingTiers.map(ListPricingTiersResponsePricingTier.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.pricingTiers !== 'undefined' && this.pricingTiers !== null) {\n toReturn['pricingTiers'] = 'toApiJson' in this.pricingTiers ? this.pricingTiers.toApiJson() : this.pricingTiers;\n }\n return toReturn;\n }\n}\nclass PagedRequestOptions {\n static fromProto(proto) {\n let m = new PagedRequestOptions();\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 PagedResponseMetadata {\n static fromProto(proto) {\n let m = new PagedResponseMetadata();\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.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 ListPricingTiersResponsePricingTier {\n static fromProto(proto) {\n let m = new ListPricingTiersResponsePricingTier();\n m = Object.assign(m, proto);\n if (proto.id) {\n m.id = parseInt(proto.id, 10);\n }\n if (proto.minContact) {\n m.minContact = parseInt(proto.minContact, 10);\n }\n if (proto.maxContact) {\n m.maxContact = parseInt(proto.maxContact, 10);\n }\n if (proto.wholesalePriceInCents) {\n m.wholesalePriceInCents = parseInt(proto.wholesalePriceInCents, 10);\n }\n if (proto.retailPriceInCents) {\n m.retailPriceInCents = parseInt(proto.retailPriceInCents, 10);\n }\n if (proto.plan) {\n m.plan = enumStringToValue(AccountPlan, proto.plan);\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.id !== 'undefined') {\n toReturn['id'] = this.id;\n }\n if (typeof this.minContact !== 'undefined') {\n toReturn['minContact'] = this.minContact;\n }\n if (typeof this.maxContact !== 'undefined') {\n toReturn['maxContact'] = this.maxContact;\n }\n if (typeof this.contactRangeDisplayString !== 'undefined') {\n toReturn['contactRangeDisplayString'] = this.contactRangeDisplayString;\n }\n if (typeof this.wholesalePriceInCents !== 'undefined') {\n toReturn['wholesalePriceInCents'] = this.wholesalePriceInCents;\n }\n if (typeof this.retailPriceInCents !== 'undefined') {\n toReturn['retailPriceInCents'] = this.retailPriceInCents;\n }\n if (typeof this.plan !== 'undefined') {\n toReturn['plan'] = this.plan;\n }\n return toReturn;\n }\n}\nclass UpdateAccountPlanRequest {\n static fromProto(proto) {\n let m = new UpdateAccountPlanRequest();\n m = Object.assign(m, proto);\n if (proto.plan) {\n m.plan = enumStringToValue(AccountPlan, proto.plan);\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.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.businessId !== 'undefined') {\n toReturn['businessId'] = this.businessId;\n }\n if (typeof this.plan !== 'undefined') {\n toReturn['plan'] = this.plan;\n }\n return toReturn;\n }\n}\n\n// *********************************\n\nconst environment = (window ? window['environment'] : 'prod') ?? 'prod';\nconst hostMap = {\n 'local': 'constant-contact-api.vendasta-local.com',\n 'test': '',\n 'demo': 'constant-contact-api-demo.apigateway.co',\n 'prod': 'constant-contact-api-prod.apigateway.co',\n 'production': 'constant-contact-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// *********************************\nlet AccountApiService = /*#__PURE__*/(() => {\n class AccountApiService {\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 listPricingTiers(r) {\n const request = r.toApiJson ? r : new ListPricingTiersRequest(r);\n return this.http.post(this._host + \"/constantcontact.v1.AccountService/ListPricingTiers\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListPricingTiersResponse.fromProto(resp)));\n }\n listAccounts(r) {\n const request = r.toApiJson ? r : new ListAccountsRequest(r);\n return this.http.post(this._host + \"/constantcontact.v1.AccountService/ListAccounts\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListAccountsResponse.fromProto(resp)));\n }\n getAccount(r) {\n const request = r.toApiJson ? r : new GetAccountRequest(r);\n return this.http.post(this._host + \"/constantcontact.v1.AccountService/GetAccount\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetAccountResponse.fromProto(resp)));\n }\n updateAccountPlan(r) {\n const request = r.toApiJson ? r : new UpdateAccountPlanRequest(r);\n return this.http.post(this._host + \"/constantcontact.v1.AccountService/UpdateAccountPlan\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n }\n AccountApiService.ɵfac = function AccountApiService_Factory(t) {\n return new (t || AccountApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n AccountApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: AccountApiService,\n factory: AccountApiService.ɵfac,\n providedIn: 'root'\n });\n return AccountApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet AccountService = /*#__PURE__*/(() => {\n class AccountService {\n constructor(accountApiService) {\n this.accountApiService = accountApiService;\n }\n listPricingTiers(partnerId) {\n return this.accountApiService.listPricingTiers(new ListPricingTiersRequest({\n partnerId: partnerId\n })).pipe(map(resp => {\n return resp.pricingTiers;\n }));\n }\n listAccounts(partnerId, cursor, pageSize) {\n return this.accountApiService.listAccounts(new ListAccountsRequest({\n partnerId: partnerId,\n pagingOptions: {\n cursor: cursor,\n pageSize: pageSize\n }\n }));\n }\n getAccount(businessId) {\n return this.accountApiService.getAccount(new GetAccountRequest({\n businessId: businessId\n })).pipe(map(resp => {\n return resp.account;\n }));\n }\n updateAccountPlan(partnerId, businessId, plan) {\n return this.accountApiService.updateAccountPlan(new UpdateAccountPlanRequest({\n partnerId: partnerId,\n businessId: businessId,\n plan: plan\n })).pipe(map(() => true));\n }\n }\n AccountService.ɵfac = function AccountService_Factory(t) {\n return new (t || AccountService)(i0.ɵɵinject(AccountApiService));\n };\n AccountService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: AccountService,\n factory: AccountService.ɵfac,\n providedIn: 'root'\n });\n return AccountService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\nlet CampaignApiService = /*#__PURE__*/(() => {\n class CampaignApiService {\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 getMulti(r) {\n const request = r.toApiJson ? r : new GetMultiCampaignsRequest(r);\n return this.http.post(this._host + \"/constantcontact.v1.CampaignService/GetMulti\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetMultiCampaignsResponse.fromProto(resp)));\n }\n }\n CampaignApiService.ɵfac = function CampaignApiService_Factory(t) {\n return new (t || CampaignApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n CampaignApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: CampaignApiService,\n factory: CampaignApiService.ɵfac,\n providedIn: 'root'\n });\n return CampaignApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet CampaignService = /*#__PURE__*/(() => {\n class CampaignService {\n constructor(campaignApiService) {\n this.campaignApiService = campaignApiService;\n }\n getMulti(partnerId, businessId, campaignIds) {\n return this.campaignApiService.getMulti(new GetMultiCampaignsRequest({\n partnerId: partnerId,\n businessId: businessId,\n campaignIds: campaignIds\n })).pipe(map(resp => {\n return resp.campaigns;\n }));\n }\n }\n CampaignService.ɵfac = function CampaignService_Factory(t) {\n return new (t || CampaignService)(i0.ɵɵinject(CampaignApiService));\n };\n CampaignService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: CampaignService,\n factory: CampaignService.ɵfac,\n providedIn: 'root'\n });\n return CampaignService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { Account, AccountApiService, AccountPlan, AccountService, AccountStatus, CampaignApiService, CampaignService, GetAccountRequest, GetAccountResponse, GetMultiCampaignsRequest, GetMultiCampaignsResponse, GetMultiCampaignsResponseCampaign, HostService, ListAccountsRequest, ListAccountsResponse, ListPricingTiersRequest, ListPricingTiersResponse, ListPricingTiersResponsePricingTier, PagedRequestOptions, PagedResponseMetadata, UpdateAccountPlanRequest };\n","import { Component, Inject, OnInit, SecurityContext } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { AccountPlan } from '@vendasta/constant-contact';\nimport { Observable } from 'rxjs';\nimport { AppConfig, AppConfigService } from '../../app-config.service';\n\nexport type PlanOptionValue = AccountPlan;\n\nexport interface PlanOption {\n name: string;\n value: PlanOptionValue;\n}\n\nexport interface ChangePlanData {\n options: PlanOption[];\n moreDetailsMessageHTML: string;\n currentPlan$: Observable;\n onSubmit: (plan: PlanOptionValue) => void;\n}\n\n@Component({\n styleUrls: ['change-plan-dialog.component.scss'],\n templateUrl: './change-plan-dialog.component.html',\n})\nexport class ChangePlanDialogComponent implements OnInit {\n private sanitizedMessage: string;\n appConfig$: Observable;\n chosenPlanValue: PlanOptionValue;\n confirmCheck = false;\n\n constructor(\n private sanitizer: DomSanitizer,\n public dialogRef: MatDialogRef,\n private appConfigService: AppConfigService,\n @Inject(MAT_DIALOG_DATA) public changePlanData: ChangePlanData,\n ) {}\n\n ngOnInit(): void {\n this.appConfig$ = this.appConfigService.config$;\n this.sanitizedMessage = this.sanitizer.sanitize(SecurityContext.HTML, this.changePlanData.moreDetailsMessageHTML);\n }\n\n submit(plan: PlanOptionValue): void {\n this.changePlanData.onSubmit(plan);\n this.close();\n }\n\n close(): void {\n this.dialogRef.close();\n }\n\n updatePlanSelected(value: PlanOptionValue): void {\n this.chosenPlanValue = value;\n }\n}\n","

\n {{ 'CHANGE_PLAN_DIALOG.CHANGE_PLAN' | translate }}\n

\n\n
\n \n
\n

\n
\n
\n \n \n {{ planOption.name }}\n \n \n {{ 'CHANGE_PLAN_DIALOG.CURRENT_PLAN_HINT' | translate }}\n \n \n \n \n
\n
\n
\n \n {{ 'CHANGE_PLAN_DIALOG.DISCLAIMER' | translate }}\n \n
\n \n
\n {{ 'CHANGE_PLAN_DIALOG.YOU_DO_NOT_HAVE_PERMISSION' | translate }}\n
\n {{ 'CHANGE_PLAN_DIALOG.CONTACT_AN_ADMIN' | translate }}\n
\n
\n \n \n \n CHANGE\n \n \n
\n
\n\n \n\n","import { Injectable } from '@angular/core';\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { Environment, EnvironmentService } from '@galaxy/core';\nimport { Account as A, AccountPlan, AccountService } from '@vendasta/constant-contact';\nimport { SnackbarService } from '@vendasta/galaxy/snackbar-service';\nimport { Observable, of as observableOf } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\nimport { constantContactAppId } from '../../marketplace-app/global-brands-constants';\nimport { ChangePlanData, ChangePlanDialogComponent, PlanOption, PlanOptionValue } from './change-plan-dialog.component';\n\nconst upgradeableProductIds: string[] = [\n constantContactAppId[Environment.PROD],\n constantContactAppId[Environment.DEMO],\n];\nexport type Account = A;\n\n@Injectable({ providedIn: 'root' })\nexport class ChangePlanService {\n private changePlanDialog: MatDialogRef;\n constructor(\n private accountService: AccountService,\n private snackbarService: SnackbarService,\n public dialog: MatDialog,\n private environmentService: EnvironmentService,\n ) {}\n\n isUpgradableProduct(productId: string): boolean {\n return upgradeableProductIds.some((v) => v === productId);\n }\n\n openChangePlanDialog(partnerId: string, accountGroupId: string, productId: string): void {\n let changePlanData: ChangePlanData;\n const env = this.environmentService.getEnvironment();\n switch (productId) {\n case constantContactAppId[env]:\n changePlanData = this.constantContactChangePlanData(partnerId, accountGroupId, productId);\n break;\n default:\n this.snackbarService.errorSnack('An unexpected error occurred.');\n return;\n }\n this.openDialog(changePlanData);\n }\n\n private constantContactChangePlanData(partnerId: string, accountGroupId: string, productId: string): ChangePlanData {\n return {\n moreDetailsMessageHTML:\n 'Full plan details are available on the ' +\n '' +\n 'Constant Contact details page.' +\n '' +\n '
Your next invoice might not reflect this change.',\n options: [\n {\n name: this.getPlanName(AccountPlan.ACCOUNT_PLAN_LITE),\n value: AccountPlan.ACCOUNT_PLAN_LITE,\n },\n {\n name: this.getPlanName(AccountPlan.ACCOUNT_PLAN_STANDARD),\n value: AccountPlan.ACCOUNT_PLAN_STANDARD,\n },\n {\n name: this.getPlanName(AccountPlan.ACCOUNT_PLAN_PREMIUM),\n value: AccountPlan.ACCOUNT_PLAN_PREMIUM,\n },\n ],\n currentPlan$: this.getConstantContactAccountPlan(accountGroupId),\n onSubmit: (planOptionValue) => {\n this.handleConstantContactSubmission(partnerId, accountGroupId, planOptionValue);\n },\n };\n }\n\n private openDialog(changePlanData: ChangePlanData): void {\n this.changePlanDialog = this.dialog.open(ChangePlanDialogComponent, {\n maxWidth: '600px',\n minHeight: '200px',\n minWidth: '400px',\n data: changePlanData,\n });\n }\n\n private handleConstantContactSubmission(partnerId: string, accountGroupId: string, plan: PlanOptionValue): void {\n if (this.isValidConstantContactPlan(plan)) {\n this.updateConstantContactPlan(partnerId, accountGroupId, plan as AccountPlan);\n } else {\n this.snackbarService.errorSnack('An error occurred. Please try again');\n }\n }\n\n private updateConstantContactPlan(partnerId: string, accountGroupId: string, plan: AccountPlan): void {\n this.accountService.updateAccountPlan(partnerId, accountGroupId, plan).subscribe(\n () => {\n this.snackbarService.successSnack('Working. Changes will be complete in 1 minute', null, 20000);\n },\n () => {\n this.snackbarService.errorSnack('An error occurred. Please try again');\n },\n );\n }\n\n private getConstantContactAccountPlan(accountGroupId: string): Observable {\n return this.accountService.getAccount(accountGroupId).pipe(\n map((account) => {\n if (!account) {\n return { name: 'unknown', value: AccountPlan.ACCOUNT_PLAN_INVALID };\n }\n return {\n name: this.getPlanName(account.plan),\n value: account.plan,\n };\n }),\n catchError(() => {\n return observableOf({\n name: 'unknown',\n value: AccountPlan.ACCOUNT_PLAN_INVALID,\n });\n }),\n );\n }\n\n private isValidConstantContactPlan(val: PlanOptionValue): boolean {\n return [\n AccountPlan.ACCOUNT_PLAN_LITE,\n AccountPlan.ACCOUNT_PLAN_STANDARD,\n AccountPlan.ACCOUNT_PLAN_PREMIUM,\n ].includes(val);\n }\n\n private getPlanName(plan: PlanOptionValue): string {\n switch (plan) {\n case AccountPlan.ACCOUNT_PLAN_EMAIL:\n return 'Email';\n case AccountPlan.ACCOUNT_PLAN_EMAIL_PLUS:\n return 'Email Plus';\n case AccountPlan.ACCOUNT_PLAN_LITE:\n return 'Lite';\n case AccountPlan.ACCOUNT_PLAN_STANDARD:\n return 'Standard';\n case AccountPlan.ACCOUNT_PLAN_PREMIUM:\n return 'Premium';\n default:\n return 'unknown';\n }\n }\n}\n"],"mappings":"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","names":["AccountPlan","AccountStatus","enumStringToValue","enumRef","value","Account","_Account","proto","m","kwargs","toReturn","GetAccountRequest","_GetAccountRequest","proto","m","kwargs","toReturn","GetAccountResponse","_GetAccountResponse","Account","ListAccountsRequest","_ListAccountsRequest","proto","m","PagedRequestOptions","kwargs","toReturn","ListAccountsResponse","_ListAccountsResponse","Account","PagedResponseMetadata","ListPricingTiersRequest","_ListPricingTiersRequest","ListPricingTiersResponse","_ListPricingTiersResponse","ListPricingTiersResponsePricingTier","_PagedRequestOptions","_PagedResponseMetadata","_ListPricingTiersResponsePricingTier","enumStringToValue","AccountPlan","UpdateAccountPlanRequest","_UpdateAccountPlanRequest","environment","hostMap","HostService","t","ɵɵdefineInjectable","AccountApiService","http","hostService","HttpHeaders","r","request","map","resp","GetAccountRequest","GetAccountResponse","__spreadProps","__spreadValues","ɵɵinject","HttpClient","AccountService","accountApiService","partnerId","cursor","pageSize","businessId","plan","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","ɵɵpipeBind1","ɵɵtemplate","ChangePlanDialogComponent_span_3_div_1_div_4_mat_radio_button_2_span_2_Template","ɵɵproperty","planOption_r4","value","currentPlan_r5","name","ɵɵlistener","$event","ɵɵrestoreView","_r2","ctx_r2","ɵɵnextContext","updatePlanSelected","ɵɵresetView","confirmCheck","ChangePlanDialogComponent_span_3_div_1_div_4_mat_radio_button_2_Template","changePlanData","options","ɵɵtwoWayListener","_r6","i0","ɵɵtwoWayBindingSet","chosenPlanValue","ɵɵtwoWayProperty","ɵɵelement","_r7","submit","ChangePlanDialogComponent_span_3_div_1_div_4_Template","ChangePlanDialogComponent_span_3_div_1_div_5_Template","ChangePlanDialogComponent_span_3_div_1_ng_template_6_Template","ɵɵtemplateRefExtractor","_r1","close","ChangePlanDialogComponent_span_3_div_1_button_11_Template","moreDetailsMessageHTML","ɵɵsanitizeHtml","config_r9","userCanAccessAccounts","cannotChange_r8","ChangePlanDialogComponent_span_3_div_1_Template","currentPlan$","loading_r10","ChangePlanDialogComponent","constructor","sanitizer","dialogRef","appConfigService","ngOnInit","appConfig$","config$","sanitizedMessage","sanitize","SecurityContext","HTML","plan","onSubmit","ɵɵdirectiveInject","DomSanitizer","MatDialogRef","AppConfigService","MAT_DIALOG_DATA","selectors","decls","vars","consts","template","rf","ctx","ChangePlanDialogComponent_span_3_Template","ChangePlanDialogComponent_ng_template_5_Template","_ChangePlanDialogComponent","upgradeableProductIds","constantContactAppId","Environment","PROD","DEMO","ChangePlanService","constructor","accountService","snackbarService","dialog","environmentService","isUpgradableProduct","productId","some","v","openChangePlanDialog","partnerId","accountGroupId","changePlanData","env","getEnvironment","constantContactChangePlanData","errorSnack","openDialog","moreDetailsMessageHTML","options","name","getPlanName","AccountPlan","ACCOUNT_PLAN_LITE","value","ACCOUNT_PLAN_STANDARD","ACCOUNT_PLAN_PREMIUM","currentPlan$","getConstantContactAccountPlan","onSubmit","planOptionValue","handleConstantContactSubmission","changePlanDialog","open","ChangePlanDialogComponent","maxWidth","minHeight","minWidth","data","plan","isValidConstantContactPlan","updateConstantContactPlan","updateAccountPlan","subscribe","successSnack","getAccount","pipe","map","account","ACCOUNT_PLAN_INVALID","catchError","observableOf","val","includes","ACCOUNT_PLAN_EMAIL","ACCOUNT_PLAN_EMAIL_PLUS","ɵɵinject","AccountService","SnackbarService","MatDialog","EnvironmentService","factory","ɵfac","providedIn","_ChangePlanService"],"x_google_ignoreList":[0]}