{ "version": 3, "sources": ["server/collections/companies/enums/company.enums.ts", "src/app/shared/services/routes/route.service.ts"], "sourcesContent": ["enum AccountType {\r\n premium = 'premium',\r\n customer = 'customer', // stand business\r\n freeMember = 'free-member',\r\n basicMember = 'basic-member', // stand free\r\n all = 'all'\r\n}\r\n\r\nenum AccountStatus {\r\n active = 'active',\r\n inactive = 'inactive',\r\n suspended = 'suspended',\r\n customerFree = 'customerFree',\r\n ghost = 'ghost', //azienda raggiungibile da google ma non dal sito\r\n obsolete = 'obsolete', //azienda free che sarebbe da rimuovere, ma porta visite per cui per ora resta su\r\n deleted = 'deleted',\r\n all = 'all',\r\n}\r\n\r\nenum OrderType {\r\n lastin = 'lastin',\r\n firstin = 'firstin'\r\n}\r\n\r\nenum SponsorLevelEnum {\r\n none = 'none',\r\n regular = 'regular',\r\n main = 'main',\r\n top = 'top'\r\n}\r\n\r\nexport { AccountType, AccountStatus, OrderType, SponsorLevelEnum };\r\n", "import { AccountType } from '@collections/companies/enums';\r\nimport { ICategory } from '@collections/categories/interfaces/category.interface';\r\nimport { ICompany, ICompanyBase } from '@collections/companies/interfaces/company.interface';\r\nimport { Inject, Injectable, LOCALE_ID } from '@angular/core';\r\nimport { Observable, of } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { CompanyBySlugGQL } from '@shared/services/company/companyBySlug.gql.service';\r\nimport { IPortalEvent } from '@collections/portal-events/interfaces/portal-events.interface';\r\nimport { INews } from '@collections/news/interfaces/news.interface';\r\nimport { IUser } from '@collections/users/interfaces/user.interface';\r\nimport { UserInfo } from '@shared/services/users/types/user-info';\r\nimport { HOST_URL } from 'app/shared/tokens/host-url';\r\nimport { LanguagesService } from '../languages/languages.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RoutesService {\r\n\r\n constructor(\r\n @Inject(LOCALE_ID) private locale: string,\r\n @Inject(HOST_URL) private hostUrl: string,\r\n private languagesService: LanguagesService,\r\n){ }\r\n\r\n getCompanyUrl(company: Partial, path?: string, absolute=false): string {\r\n path = path ?? company.primaryPath;\r\n let url = this.formatCompanyUrl(path, company.slug, company.accountType);\r\n if (absolute) {\r\n url = this.getAbsoluteUrl(url)\r\n }\r\n return url;\r\n }\r\n\r\n getCompanyAltLangUrl(company: ICompany, lang: string): string {\r\n const pathLocale = company.primaryPathLocales\r\n .find(p => p.lang === lang);\r\n if (!pathLocale) {\r\n throw new Error(`no company path found for ${lang} language`);\r\n }\r\n return this.formatCompanyUrl(pathLocale.path, company.slug, company.accountType);\r\n }\r\n\r\n getCompanyEditUrl(company: ICompanyBase, lang: string = this.locale): string {\r\n const editUrl = `${this.getCompanyUrl(company)}/edit/info/${lang}/${company._id}`;\r\n return editUrl;\r\n }\r\n\r\n // getCompanyUrlBySlug(slug: string, lang: string): Observable {\r\n // return this.companyBySlugGQL.fetch({\r\n // slug: slug,\r\n // lang: lang\r\n // }, {\r\n // fetchPolicy: 'cache-first'\r\n // })\r\n // .pipe(\r\n // map(({data: {companyBySlug: company}}) => this.formatCompanyUrl(company.primaryPath, company.slug, company.accountType))\r\n // );\r\n // }\r\n\r\n private formatCompanyUrl(primaryPath: string, slug: string, accountType: AccountType): string {\r\n if (!primaryPath || !slug || ! accountType) {\r\n throw new Error(`Got insuficient parameters for company url: ${slug}`);\r\n\r\n }\r\n const page = accountType === AccountType.customer ? 'stand' : 'stand-free';\r\n return `/hall${primaryPath}/${page}/${slug}`;\r\n }\r\n\r\n getProductUrl(company: Partial, productSlug: string, path?: string, absolute=false): string {\r\n path = path ?? company.primaryPath;\r\n let url = this.formatCompanyUrl(path, company.slug, company.accountType);\r\n url = `${url}/products/${productSlug}`;\r\n if (absolute) {\r\n url = this.getAbsoluteUrl(url);\r\n }\r\n return url;\r\n }\r\n\r\n getWikiUrl(wikiSlug: string, absolute=false): string {\r\n let url = `/metal-working-basics/${wikiSlug}`;\r\n if (absolute) {\r\n url = this.getAbsoluteUrl(url);\r\n }\r\n return url;\r\n }\r\n\r\n // getProductUrlBySlug(productSlug: string, company: ICompany, lang: string): Observable {\r\n // const companyUrl = this.getCompanyUrl(company, lang);\r\n // return `${url}/products/${productSlug}`;\r\n // }\r\n\r\n\r\n // getNewsUrlBySlug(newsSlug: string, companySlug: string, lang: string): Observable {\r\n // if (companySlug) {\r\n // return this.getCompanyUrlBySlug(companySlug, lang)\r\n // .pipe(\r\n // map( url => `${url}/news/${newsSlug}`)\r\n // );\r\n // } else {\r\n // return of(`/news/${newsSlug}`);\r\n // }\r\n // }\r\n\r\n getCategoryUrl(slug: string): string {\r\n return `/hall${slug}`;\r\n }\r\n\r\n getCategoryUrlBySlug(categorySlug: string): Observable {\r\n return of(`/hall/${categorySlug}`);\r\n }\r\n\r\n getEventUrl(event: IPortalEvent): string {\r\n return `/events/${event.slug}`;\r\n }\r\n\r\n getNewsUrl(slug: string, company?: ICompanyBase, absolute=false): string {\r\n let url;\r\n if (company) {\r\n const companyUrl = this.getCompanyUrl(company);\r\n url =`${companyUrl}/news/${slug}`;\r\n } else {\r\n url = `/news/${slug}`;\r\n }\r\n\r\n if (absolute) {\r\n url = this.getAbsoluteUrl(url);\r\n }\r\n return url;\r\n }\r\n\r\n getUserUrl(user: UserInfo | IUser, absolute=false): string {\r\n let url = `/account/${user.slug}`;\r\n if (absolute) {\r\n url = this.getAbsoluteUrl(url);\r\n }\r\n return url;\r\n }\r\n\r\n public getAbsoluteUrl(url: string, lang: string = ''): string {\r\n // Se in Dev Mode andrebbe tolta la lingua\r\n const absolute = `${this.hostUrl}/${lang ? lang : this.languagesService.getCurrentLangCode()}${url}`;\r\n const urlObj = new URL(absolute);\r\n const allowedSearchParams = ['after'];\r\n for (const k of urlObj.searchParams.keys()) {\r\n if (!allowedSearchParams.includes(k)) {\r\n urlObj.searchParams.delete(k);\r\n }\r\n }\r\n\r\n return urlObj.toString();\r\n\r\n }\r\n}\r\n"], "mappings": "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", "names": ["AccountType", "AccountStatus", "OrderType", "RoutesService", "constructor", "locale", "hostUrl", "languagesService", "getCompanyUrl", "company", "path", "absolute", "primaryPath", "url", "formatCompanyUrl", "slug", "accountType", "getAbsoluteUrl", "getCompanyAltLangUrl", "lang", "pathLocale", "primaryPathLocales", "find", "p", "Error", "getCompanyEditUrl", "_id", "page", "AccountType", "customer", "getProductUrl", "productSlug", "getWikiUrl", "wikiSlug", "getCategoryUrl", "getCategoryUrlBySlug", "categorySlug", "of", "getEventUrl", "event", "getNewsUrl", "getUserUrl", "user", "getCurrentLangCode", "urlObj", "URL", "allowedSearchParams", "k", "searchParams", "keys", "includes", "delete", "toString", "\u0275\u0275inject", "LOCALE_ID", "HOST_URL", "LanguagesService", "factory", "\u0275fac", "providedIn", "_RoutesService"] }