{ "version": 3, "sources": ["apps/business-center-client/src/app/core/lmi-categories.ts", "apps/business-center-client/src/app/core/product.ts"], "sourcesContent": ["export interface LmiCategory {\n name: string;\n translationKey?: string;\n categoryId: string;\n}\n\nexport const LMI_CATEGORIES: LmiCategory[] = [\n {\n name: 'Listings',\n translationKey: 'COMMON.LMI_CATEGORIES.LISTINGS',\n categoryId: 'listings',\n },\n {\n name: 'Social',\n translationKey: 'COMMON.LMI_CATEGORIES.SOCIAL',\n categoryId: 'social',\n },\n {\n name: 'Reputation',\n translationKey: 'COMMON.LMI_CATEGORIES.REPUTATION',\n categoryId: 'reputation',\n },\n {\n name: 'SEO',\n translationKey: 'COMMON.LMI_CATEGORIES.SEO',\n categoryId: 'seo',\n },\n {\n name: 'Website',\n translationKey: 'COMMON.LMI_CATEGORIES.WEBSITE',\n categoryId: 'website',\n },\n {\n name: 'Advertising',\n translationKey: 'COMMON.LMI_CATEGORIES.ADVERTISING',\n categoryId: 'advertising',\n },\n {\n name: 'Content',\n translationKey: 'COMMON.LMI_CATEGORIES.CONTENT',\n categoryId: 'content_and_experience',\n },\n];\n\nexport const LMI_CATEGORY_MAP = LMI_CATEGORIES.reduce((previous, current) => {\n previous[current.categoryId] = current;\n return previous;\n}, {});\n\nexport const LMI_CATEGORIES_BY_NAME = LMI_CATEGORIES.reduce((previous, current) => {\n previous[current.name] = current;\n return previous;\n}, {});\n\nexport const LMI_CATEGORIES_WITH_REGIONAL_GRADES: string[] = ['listings'];\n\nexport const LMI_CATEGORY_ENUM_MAP = {\n 0: 'NOT_SET',\n 1: 'WEBSITE',\n 2: 'CONTENT_AND_EXPERIENCE',\n 3: 'LISTINGS',\n 4: 'REPUTATION',\n 5: 'SEO',\n 6: 'SOCIAL',\n 7: 'ADVERTISING',\n};\n\nexport const LMI_CATEGORY_TITLE_ENUM_MAP = {\n NOT_SET: 0,\n WEBSITE: 1,\n CONTENT_AND_EXPERIENCE: 2,\n LISTINGS: 3,\n REPUTATION: 4,\n SEO: 5,\n SOCIAL: 6,\n ADVERTISING: 7,\n};\n", "import { Account } from '@vendasta/accounts/legacy';\nimport { FrequentlyAskedQuestionsInterface } from '@vendasta/marketplace-packages';\nimport { App, Edition } from '@galaxy/marketplace-apps';\nimport dayjs from 'dayjs';\nimport utc from 'dayjs/plugin/utc';\nimport { LMI_CATEGORY_ENUM_MAP } from './lmi-categories';\ndayjs.extend(utc);\n\nconst ENTRY_URL_ACCOUNT_GROUP_PLACEHOLDER = '';\n\nfunction lowerToTitleCase(value: string): string {\n // Code taken from https://github.com/gouch/to-title-case to support the proper spec.\n const smallWords = /^(a|an|and|as|at|but|by|en|for|if|in|nor|of|on|or|per|the|to|vs?\\.?|via)$/i;\n\n return value\n ? value.replace(/[A-Za-z0-9\\u00C0-\\u00FF]+[^\\s-]*/g, (match, index, title) => {\n if (\n index > 0 &&\n index + match.length !== title.length &&\n match.search(smallWords) > -1 &&\n title.charAt(index - 2) !== ':' &&\n (title.charAt(index + match.length) !== '-' || title.charAt(index - 1) === '-') &&\n title.charAt(index - 1).search(/[^\\s-]/) < 0\n ) {\n return match.toLowerCase();\n }\n\n if (match.substr(1).search(/[A-Z]|\\../) > -1) {\n return match;\n }\n\n return match.charAt(0).toUpperCase() + match.substr(1);\n })\n : value;\n}\n\nexport class FAQ {\n question: string;\n answer: string;\n}\n\nexport enum EDITION {\n STANDARD = 0,\n EXPRESS,\n PRO,\n}\n\nexport class File {\n public name: string;\n public icon: string;\n public url: string;\n\n constructor(url: string) {\n this.name = this._extractName(url);\n this.icon = this._determineIcon(url);\n this.url = url;\n }\n\n _extractName(url: string): string {\n return url.substring(url.lastIndexOf('/') + 1, url.lastIndexOf('.'));\n }\n\n _determineIcon(url: string): string {\n const ext = url.substring(url.lastIndexOf('.') + 1);\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\nexport class Product {\n productId: string;\n editionId?: string;\n name: string;\n editionName?: string;\n active?: boolean;\n abbreviation: string;\n entryUrl?: string;\n iconColor: string;\n iconUrl: string;\n icon: string;\n isTrial: boolean;\n expired: boolean;\n trialDuration?: number;\n trialEnabled?: boolean;\n trialDaysRemaining?: number;\n\n edition?: EDITION;\n editions?: Edition[];\n\n tagline: string;\n headerImageUrl: string;\n screenshotUrls: string[];\n files: File[];\n lmiCategories: number[];\n pdfUploadUrls: string[];\n\n description: string;\n _description: string;\n\n keySellingPoints: string[];\n _keySellingPoints: string[];\n\n faqs?: FrequentlyAskedQuestionsInterface[];\n _faqs: FrequentlyAskedQuestionsInterface[];\n\n getLmiCategoryNames: () => string[];\n\n endUserMarketingInfo?: {\n description: string;\n keyBenefits: string[];\n faqs: FAQ[];\n };\n\n usesCustomizationForm?: boolean;\n\n restrictions?: any;\n\n static fromV2App(app: App): Product {\n const p = new Product({});\n\n if (app === new App({})) {\n return p;\n }\n\n if (app.activationInformation) {\n p.usesCustomizationForm = app.activationInformation.orderFormEnabled;\n }\n\n if (app.trialConfiguration) {\n p.trialDuration = app.trialConfiguration.trialDuration;\n p.trialEnabled = app.trialConfiguration.trialEnabled;\n }\n\n if (app.sharedMarketingInformation) {\n p.name = app.sharedMarketingInformation.name;\n p.editionName = app.sharedMarketingInformation.editionName;\n p.icon = app.sharedMarketingInformation.iconUrl;\n p.iconUrl = app.sharedMarketingInformation.iconUrl;\n p.tagline = app.sharedMarketingInformation.tagline;\n p.headerImageUrl = app.sharedMarketingInformation.bannerImageUrl;\n }\n\n if (app.endUserMarketingInformation) {\n p.description = app.endUserMarketingInformation.description;\n p.keySellingPoints = app.endUserMarketingInformation.keySellingPoints;\n p.faqs = app.endUserMarketingInformation.faqs;\n p.screenshotUrls = app.endUserMarketingInformation.screenshotUrls;\n p.files = app.endUserMarketingInformation.fileUrls?.map((fu) => new File(fu));\n }\n\n if (app.editionInformation) {\n p.editions = app.editionInformation.editions;\n }\n\n if (app.key) {\n p.productId = app.key.appId;\n p.editionId = app.key.editionId;\n }\n\n if (app.ssoIntegration && app.ssoIntegration.enabled && app.ssoIntegration.entryUrl) {\n p.entryUrl = app.ssoIntegration.entryUrl.replace(\n new RegExp('%3CaccountId%3E', 'g'),\n ENTRY_URL_ACCOUNT_GROUP_PLACEHOLDER,\n );\n } else if (app.basicIntegration && app.basicIntegration.applicationUrl) {\n p.entryUrl = app.basicIntegration.applicationUrl;\n } else if (\n app.key &&\n app.key.appId &&\n app.key.appId.startsWith('CP-') &&\n app.ssoIntegration &&\n app.ssoIntegration.entryUrl\n ) {\n p.entryUrl = app.ssoIntegration.entryUrl.replace(\n new RegExp('%3CaccountId%3E', 'g'),\n ENTRY_URL_ACCOUNT_GROUP_PLACEHOLDER,\n );\n }\n\n return p;\n }\n\n constructor(productData: {\n active?: boolean;\n category?: string;\n created?: string | Date;\n currency?: number;\n description?: string;\n endDate?: string | Date;\n entryUrl?: string;\n expiry?: string;\n faqs?: FrequentlyAskedQuestionsInterface[];\n headerImageUrl?: string;\n iconUrl?: string;\n isArchived?: boolean;\n isTrial?: boolean;\n keySellingPoints?: string[];\n lmiCategories?: number[];\n name?: string;\n origin?: string;\n partnerId?: string;\n pdfUploadUrls?: string[];\n productId?: string;\n editionId?: string;\n screenshotUrls?: string[];\n serviceModel?: number[];\n sessionUrl?: string;\n tagline?: string;\n updated?: string | Date;\n updatedBy?: string;\n usesCustomizationForm?: boolean;\n websiteUrl?: string;\n wholesalePrice?: string;\n trialDaysRemaining?: number;\n trialDuration?: number;\n restrictions?: any;\n\n endUserMarketingInfo?: {\n description: string;\n keyBenefits: string[];\n faqs: FAQ[];\n };\n }) {\n this.productId = productData.productId;\n this.name = productData.name;\n this.tagline = productData.tagline;\n this.icon = productData.iconUrl;\n this.iconUrl = productData.iconUrl;\n this.iconColor = Product.getIconColorForName(productData.name);\n this.abbreviation = Product.abbreviation(productData.name);\n this.headerImageUrl = productData.headerImageUrl;\n this.entryUrl = productData.entryUrl;\n this.screenshotUrls = productData.screenshotUrls;\n this.active = productData.active;\n this.files = Product.files(productData);\n this.lmiCategories = productData.lmiCategories || [];\n this.pdfUploadUrls = productData.pdfUploadUrls;\n this.editionId = productData.editionId || '';\n\n this.endUserMarketingInfo = productData.endUserMarketingInfo;\n this._description = productData.description;\n this._keySellingPoints = productData.keySellingPoints;\n this._faqs = productData.faqs;\n this.isTrial = productData.isTrial;\n this.expired = Product.isProductExpired(productData.expiry);\n this.trialDaysRemaining = productData.trialDaysRemaining;\n this.trialDuration = productData.trialDuration;\n this.description = this.endUserMarketingInfo ? this.endUserMarketingInfo.description : this._description;\n\n this.restrictions = productData.restrictions;\n\n this.keySellingPoints = this.endUserMarketingInfo ? this.endUserMarketingInfo.keyBenefits : this._keySellingPoints;\n\n this.faqs = this.endUserMarketingInfo ? this.endUserMarketingInfo.faqs : this._faqs;\n\n this.getLmiCategoryNames = () => {\n return this.lmiCategories\n ? this.lmiCategories.map((lmiCategory) =>\n lowerToTitleCase(Product.convertLmiCategoryEnum(lmiCategory).toLowerCase().replace(/_/g, ' ')),\n )\n : [];\n };\n\n this.usesCustomizationForm = productData.usesCustomizationForm || false;\n }\n\n static convertLmiCategoryEnum(lmiNumber: number): string {\n return LMI_CATEGORY_ENUM_MAP[lmiNumber];\n }\n\n static getRelevantFiles(productData: any): string[] {\n return productData.endUserMarketingInfo ? productData.endUserMarketingInfo.files : productData.pdfUploadUrls;\n }\n\n static files(productData: any): File[] {\n return this.getRelevantFiles(productData) ? this.getRelevantFiles(productData).map((url) => new File(url)) : [];\n }\n\n static abbreviation(productName: string): string {\n const defaultAbbreviation = 'U'; // untitled\n if (productName) {\n // example input \"Partner Central\"\n // example output \"PC\"\n\n // example input \"Partner\"\n // example output \"P\"\n const names = productName.split(' ');\n return names.length > 1 ? names[0][0] + names[1][0] : names[0][0];\n }\n return defaultAbbreviation;\n }\n\n static getIconColorForName(name: string): string {\n // determine an icon color for a product with no icon by using the product name\n const COLOR_CODES = [\n '#EF5350',\n '#42A5F5',\n '#66BB6A',\n '#FFA726',\n '#AB47BC',\n '#FFCA28',\n '#EC407A',\n '#26C6DA',\n '#FF7B57',\n ];\n let nameSum = 0;\n const defaultColor = '#808080';\n if (!name) {\n return defaultColor;\n }\n for (let i = 0; i < name.length; i++) {\n nameSum += name[i].charCodeAt(0);\n }\n\n const index = nameSum % COLOR_CODES.length;\n return COLOR_CODES[index];\n }\n\n static isProductExpired(expiryDate: string): boolean {\n // determines if the expiry date of the product has passed or not,\n // positive difference implies the expiry date has passed\n const now = dayjs().utc();\n const difference = now.diff(expiryDate);\n return difference > 0;\n }\n\n public renderBusinessIdIntoEntryUrl(businessId: string): void {\n if (this.entryUrl) {\n this.entryUrl = this.entryUrl.replace(new RegExp(ENTRY_URL_ACCOUNT_GROUP_PLACEHOLDER, 'g'), businessId);\n }\n }\n\n public isAccountOfProduct(a: Account): boolean {\n return a.accountId === this.productId || a.productId === this.productId || a.appId === this.productId;\n }\n}\n"], "mappings": "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", "names": ["LMI_CATEGORIES", "LMI_CATEGORY_MAP", "LMI_CATEGORIES_BY_NAME", "LMI_CATEGORY_ENUM_MAP", "LMI_CATEGORY_TITLE_ENUM_MAP", "init_lmi_categories", "__esmMin", "name", "translationKey", "categoryId", "reduce", "previous", "current", "NOT_SET", "WEBSITE", "CONTENT_AND_EXPERIENCE", "LISTINGS", "REPUTATION", "SEO", "SOCIAL", "ADVERTISING", "lowerToTitleCase", "value", "smallWords", "replace", "match", "index", "title", "length", "search", "charAt", "toLowerCase", "substr", "toUpperCase", "import_dayjs", "import_utc", "ENTRY_URL_ACCOUNT_GROUP_PLACEHOLDER", "EDITION", "File", "Product", "init_product", "__esmMin", "init_src", "init_lmi_categories", "dayjs", "extend", "utc", "constructor", "url", "name", "_extractName", "icon", "_determineIcon", "substring", "lastIndexOf", "fromV2App", "app", "p", "App", "activationInformation", "usesCustomizationForm", "orderFormEnabled", "trialConfiguration", "trialDuration", "trialEnabled", "sharedMarketingInformation", "editionName", "iconUrl", "tagline", "headerImageUrl", "bannerImageUrl", "endUserMarketingInformation", "description", "keySellingPoints", "faqs", "screenshotUrls", "files", "fileUrls", "map", "fu", "editionInformation", "editions", "key", "productId", "appId", "editionId", "ssoIntegration", "enabled", "entryUrl", "RegExp", "basicIntegration", "applicationUrl", "startsWith", "productData", "iconColor", "getIconColorForName", "abbreviation", "active", "lmiCategories", "pdfUploadUrls", "endUserMarketingInfo", "_description", "_keySellingPoints", "_faqs", "isTrial", "expired", "isProductExpired", "expiry", "trialDaysRemaining", "restrictions", "keyBenefits", "getLmiCategoryNames", "lmiCategory", "convertLmiCategoryEnum", "lmiNumber", "LMI_CATEGORY_ENUM_MAP", "getRelevantFiles", "productName", "defaultAbbreviation", "names", "split", "COLOR_CODES", "nameSum", "defaultColor", "i", "charCodeAt", "expiryDate", "diff", "renderBusinessIdIntoEntryUrl", "businessId", "isAccountOfProduct", "a", "accountId"] }