{"version":3,"file":"chunks/334029aff46c5f.js","mappings":"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","sources":["webpack:///./resources/js/common/hamlet/hamlet-api.ts","webpack:///./resources/js/common/hamlet/hamlet-user.ts","webpack:///./resources/js/components/generic/personalization-logged-in-out.ts"],"sourcesContent":["import _ from 'underscore';\nimport axios from 'axios';\nimport Environment from '../environment';\nimport stgConfig from \"../../../../config\";\nimport { hamletUser } from './hamlet-user';\n\nexport class HamletApi {\n baseDomain: string;\n\n constructor() {\n this.baseDomain = this.getBaseDomain();\n }\n\n getBaseDomain() {\n if (!Environment.isProduction()) {\n return `${window.location.hostname.indexOf('qa-wac') > -1 ? 'https://qa-wac.internal.atlassian.com' : stgConfig.stgWacInternalUrl}`;\n }\n\n return 'https://www.atlassian.com';\n }\n\n getHamletPath() {\n if (!Environment.isProduction()) {\n return `${this.baseDomain}/apis/stg/hamlet`;\n }\n\n return `${this.baseDomain}/hamlet`;\n }\n\n getCofsPath() {\n if (!Environment.isProduction()) {\n return `${this.baseDomain}/apis/stg/cofs`;\n }\n\n return `${this.baseDomain}/apis/prod/cofs`;\n }\n\n getCnasPath() {\n if (!Environment.isProduction()) {\n return `${this.baseDomain}/apis/stg/cnas`;\n }\n\n return `${this.baseDomain}/apis/prod/cnas`;\n }\n\n getBxpPath() {\n return `${this.baseDomain}/endpoint`;\n }\n\n hamletRequest(params, useCofsPath) {\n\n let basePath = useCofsPath ? this.getCofsPath() : this.getHamletPath();\n\n let request = {\n url: `${basePath}${params.url}`,\n method: params.method || 'GET',\n headers: params.headers || {},\n params: params.params\n };\n\n if (request.method === 'GET') {\n request.params = {cacheBuster: new Date().getTime(), ...params.params };\n }\n\n if (request.method === 'POST') {\n request.headers['Content-Type'] = 'application/json';\n request.data = params.data || '';\n }\n\n if (params.authenticated && hamletUser.getToken()) {\n request.headers['ATL-XSRF-Token'] = hamletUser.getToken();\n request.withCredentials = true;\n }\n\n return axios(request);\n }\n\n bxpRequest(params) {\n\n let request = {\n url: `${params.url.startsWith('http') ? '' : this.getBxpPath()}${params.url}`,\n method: params.method || 'GET',\n headers: params.headers || {},\n params: params.params\n };\n\n if (request.method === 'GET') {\n request.params = { cacheBuster: new Date().getTime(), ...params.params };\n }\n\n if (request.method === 'POST') {\n request.headers['Content-Type'] = 'application/json';\n request.data = params.data || '';\n }\n\n if (params.authenticated && hamletUser.getToken()) {\n request.withCredentials = true;\n }\n\n return axios(request);\n }\n\n get(data) {\n let options = { method: 'GET' };\n\n if (_.isString(data)) {\n options.url = data;\n } else if (_.isObject(data)) {\n Object.assign(options, data);\n }\n\n return this.hamletRequest(options);\n }\n\n post(data) {\n let options = { method: 'POST' };\n\n if (_.isString(data)) {\n options.url = data;\n } else {\n Object.assign(options, data);\n }\n\n return this.hamletRequest(options);\n }\n\n /**\n * Generic request wrapper\n */\n request(options) {\n return axios(options);\n }\n\n}\n\nexport let hamletApi = new HamletApi();\n","import Environment from '../environment';\nimport { hamletApi } from './hamlet-api';\n\nconst ProductKeys = {\n CONFLUENCE: \"confluence.ondemand\",\n JIRA_CORE: \"jira-core.ondemand\",\n JIRA_BUSINESS: \"jira-core.ondemand\",\n JIRA_SOFTWARE: \"jira-software.ondemand\",\n JIRA_SERVICE_DESK: \"jira-servicedesk.ondemand\",\n BITBUCKET: \"com.atlassian.bitbucket\",\n OPSGENIE: \"opsgenie\",\n STATUSPAGE: \"statuspage\",\n TRELLO: \"trello\",\n};\n\nexport const transformAvailableProductsIntoAvailableSites = (availableProductsSites) => {\n return availableProductsSites.map(site => {\n return {\n adminAccess: site.adminAccess,\n products: site.products ?? site.availableProducts.map(availableProduct => ProductKeys[availableProduct.productType]),\n cloudId: site.cloudId,\n displayName: site.displayName,\n avatarUrl: site.avatar,\n url: site.url,\n };\n });\n}\n\nexport class HamletUser {\n token: null;\n initialized: boolean;\n user: any;\n sites: any[];\n performanceBoostExperiment: boolean;\n extendedTrialAvailability: any;\n organisationDetails: any;\n\n availableProductsData: { cached: any | null; request: Promise | null } = { cached: null, request: null };\n meData: { cached: any | null; request: Promise | null } = {cached: null, request: null};\n\n constructor() {\n\n this.token = null;\n this.initialized = false;\n\n this.user = {\n contactDetails: {\n firstName: '',\n lastName: '',\n email: ''\n },\n organisationDetails: {\n address1: '',\n address2: '',\n city: '',\n state: '',\n postcode: '',\n isoCountryCode: '',\n organisationName: '',\n organisationType: null,\n payOnAccount: false,\n taxId: ''\n },\n lassoDetails: {\n firstName: '',\n lastName: '',\n username: '',\n displayName: ''\n },\n myDetails: {\n aaid: null,\n avatar: null,\n email: '',\n name: '',\n firstName: '',\n lastName: ''\n },\n isLoggedIn: false\n };\n\n this.sites = [];\n this.performanceBoostExperiment = false;\n\n }\n\n initUser(performanceBoostExperiment: boolean, enableAisAvailableProducts) {\n\n if (this.initialized) {\n return Promise.resolve(this.user);\n }\n this.initialized = true;\n\n return Promise.all([\n this.retrieveXsrfToken(),\n this.getStargateProfile(performanceBoostExperiment, false, enableAisAvailableProducts)\n ])\n .then(() => {\n return Promise.resolve(this.user);\n })\n .catch(() => {\n return Promise.resolve(this.user);\n });\n }\n\n retrieveXsrfToken() {\n\n const options = {\n url: `${hamletApi.getHamletPath()}/1.0/auth/xsrf/plain`,\n method: 'GET',\n withCredentials: true\n };\n\n return hamletApi.request(options)\n .then((response) => {\n\n if (response.data && response.data !== '') {\n\n this.setToken(response.data);\n this.user.isLoggedIn = true;\n\n return Promise.resolve();\n }\n\n this.user.isLoggedIn = false;\n return Promise.reject();\n })\n .catch(() => {\n\n this.user.isLoggedIn = false;\n return Promise.reject();\n });\n }\n\n getStargateProfile(performanceBoostExperiment: boolean, debugAllSites?: boolean) {\n\n if (performanceBoostExperiment) {\n this.performanceBoostExperiment = true;\n }\n\n return Promise.all([\n this.retrieveMe(),\n this.retrieveSitesData(debugAllSites)\n ])\n .then(([identityData, sitesData]) => {\n if (identityData && sitesData) {\n Object.assign(this.user.myDetails, identityData);\n this.setSites(sitesData);\n this.user.isLoggedIn = true;\n }\n\n return Promise.resolve();\n })\n .catch(() => {\n\n this.user.isLoggedIn = false;\n return Promise.resolve();\n });\n }\n\n retrieveCurrentUser(params) {\n params.url = '/1.0/public/contact/currentUser';\n\n return hamletApi.hamletRequest(params);\n }\n\n retrieveUserDetails(params) {\n params.url = '/1.0/public/auth/user/details'\n\n return hamletApi.hamletRequest(params);\n }\n\n retrieveMe() {\n const hostname = Environment.getAPIPrivateURL();\n const url = `${hostname}/me`;\n\n const options = {\n url: url,\n method: 'GET',\n withCredentials: true\n };\n\n\n let request;\n if (this.meData.cached) {\n // response available\n request = Promise.resolve(this.meData.cached);\n } else if (this.meData.request) {\n // pending request\n request = this.meData.request;\n } else {\n // first request\n this.meData.request = hamletApi.request(options);\n request = this.meData.request;\n }\n return request\n .then(result => {\n\n if (!result.data) {\n return Promise.reject();\n }\n\n this.meData.cached = result;\n this.meData.request = null;\n\n // clean up any names that are emails here\n let name = result.data.name;\n if (name.indexOf('@') > -1) {\n name = name.split('@')[0];\n }\n\n const stargateData = {\n aaid: (result.data.account_id),\n avatar: (result.data.picture),\n email: (result.data.email),\n name: (name),\n firstName: (this.getFirstName(name)),\n lastName: (this.getLastName(name))\n };\n\n return Promise.resolve(stargateData);\n })\n .catch(() => {\n\n this.user.isLoggedIn = false;\n return Promise.reject();\n });\n }\n\n retrieveSitesData(debugAllSites?: boolean) {\n return this.retrieveAvailableProductsData(debugAllSites).then(availableProductsSites => {\n const sitesData = transformAvailableProductsIntoAvailableSites(availableProductsSites);\n return sitesData;\n }).catch(() => {\n this.user.isLoggedIn = false;\n });\n }\n\n retrieveAvailableProductsData(debugAllSites?: boolean) {\n let url = `${Environment.getAPIPrivateURL()}/ais/available-products`;\n const options = {\n url: url,\n method: 'GET',\n withCredentials: true\n };\n\n let request;\n if (this.availableProductsData.cached) {\n // response available\n request = Promise.resolve(this.availableProductsData.cached);\n } else if (this.availableProductsData.request) {\n // pending request\n request = this.availableProductsData.request;\n } else {\n // first request\n this.availableProductsData.request = hamletApi.request(options);\n request = this.availableProductsData.request;\n }\n return request.then(result => {\n\n if (!result.data) {\n return [];\n }\n\n this.availableProductsData.cached = result;\n this.availableProductsData.request = null;\n\n const sitesResult = result.data.sites || [];\n const availableProductsSites = debugAllSites ? sitesResult : sitesResult.filter((site) => this.isValidSite(site));\n return Promise.resolve(availableProductsSites);\n }).catch(() => {\n this.user.isLoggedIn = false;\n return Promise.reject();\n });\n }\n\n checkExtendedTrialAvailability(migrationSourceUuid, productKey, cloudIds) {\n const options = {\n url: `${hamletApi.getHamletPath()}/1.0/public/account/${migrationSourceUuid}/extendedTrial/availability`,\n method: 'POST',\n data: {\n productKey,\n cloudIds,\n },\n withCredentials: true\n };\n\n return hamletApi.request(options)\n .then((response) => {\n if (response.data && response.data !== '') {\n this.setExtendedTrialAvailability(response.data);\n return Promise.resolve(response.data);\n }\n\n return Promise.resolve();\n })\n .catch(() => {\n return Promise.resolve();\n });\n }\n\n getExtendedTrialAvailability() {\n return this.extendedTrialAvailability;\n }\n\n setExtendedTrialAvailability(extendedTrialAvailability) {\n this.extendedTrialAvailability = extendedTrialAvailability;\n }\n\n setToken(token) {\n this.token = token;\n }\n\n getToken() {\n return this.token;\n }\n\n setUser(options) {\n Object.assign(this.user, options);\n }\n\n getUser() {\n return this.user;\n }\n\n setSites(sites) {\n this.sites = sites;\n }\n\n getSites() {\n return this.sites;\n }\n\n getSitesByProduct(availableProducts) {\n\n let groupSitesByProduct = {};\n\n this.sites.forEach((site) => {\n site.products.forEach((product) => {\n (groupSitesByProduct[product] = groupSitesByProduct[product] || []).push({\n cloudId: site.cloudId,\n displayName: site.displayName,\n url: site.url,\n avatarUrl: site.avatarUrl || '',\n isVertigo: site.isVertigo || false,\n })\n })\n });\n\n let result = [];\n for (var product in groupSitesByProduct) {\n\n if (product.length) {\n result.push({\n name: availableProducts[product].name,\n icon: availableProducts[product].login_logo_url || '',\n sites: groupSitesByProduct[product].map((site) => site.url)\n });\n }\n }\n return result;\n }\n\n getDisplayName() {\n return this.user.myDetails.name;\n }\n\n getFirstName(fullName = '') {\n return fullName.trim().split(' ')[0];\n }\n\n getLastName(fullName = '') {\n let lastName = '';\n let names = fullName.trim().split(' ');\n\n if (names.length > 1) {\n names.shift();\n lastName = names.join(' ');\n }\n\n return lastName;\n }\n\n getUserEmail() {\n return this.user.myDetails.email || '';\n }\n\n getUserAaid() {\n return this.user.myDetails.aaid || '';\n }\n\n getAvatar() {\n return this.user.myDetails.avatar;\n }\n\n isLoggedIn() {\n return this.user.isLoggedIn && this.user.myDetails.email.length > 0;\n }\n\n isExpert() {\n return this.organisationDetails.organisationType === 'EXPERT';\n }\n\n isReseller() {\n return this.organisationDetails.organisationType === 'RESELLER';\n }\n\n isPlatinumExpert() {\n return this.organisationDetails.organisationType === 'EXPERT' && this.organisationDetails.payOnAccount;\n }\n\n isValidSite(site) {\n\n const ignoreSiteNames = [\n 'servicedog',\n 'ecosystem',\n 'atlassiantraining',\n 'Atlassian Stride',\n 'volunteerhub',\n 'atlassiantraining',\n 'hello-staging',\n 'ecosystem',\n 'riskmanagement',\n 'hello-staging3',\n 'hello-staging6',\n 'hello-staging9',\n 'jdog',\n 'sre-ehlo',\n 'trello',\n 'Trello',\n 'bitbucket',\n 'Bitbucket'\n ];\n\n if (ignoreSiteNames.indexOf(site.displayName) > -1) {\n return false;\n }\n\n if (site.cloudId.startsWith('DUMMY')) {\n return false;\n }\n\n if (site.displayName.toUpperCase().match(\".*-SANDBOX-\\\\d{3}$\")) {\n return false\n }\n\n return true;\n }\n\n}\n\nexport let hamletUser = new HamletUser();\n","import { hamletUser } from \"../../common/hamlet/hamlet-user\";\n\ntype PersonalizationLoggedInOutParams = {\n showLoggedOutKnownUser: boolean;\n switchFirstName: boolean;\n};\n\nexport default class PersonalizationLoggedInOut {\n domRoot: HTMLElement;\n params: PersonalizationLoggedInOutParams;\n showLoggedOutKnownUser: boolean;\n switchFirstName: boolean;\n isLoggedIn: boolean;\n loadingState: HTMLElement;\n contentLoggedIn: HTMLElement;\n contentLoggedOut: HTMLElement;\n contentKnownUser: HTMLElement;\n\n constructor(domRoot: HTMLElement, params: PersonalizationLoggedInOutParams) {\n this.domRoot = domRoot as HTMLElement;\n this.params = params;\n this.showLoggedOutKnownUser = params.showLoggedOutKnownUser;\n this.switchFirstName = params.switchFirstName;\n this.isLoggedIn = false;\n this.loadingState = domRoot.querySelector(\".loading-state\") as HTMLElement;\n this.contentLoggedIn = domRoot.querySelector(\".logged-in\") as HTMLElement;\n this.contentLoggedOut = domRoot.querySelector(\".logged-out\") as HTMLElement;\n this.contentKnownUser = domRoot.querySelector(\".logged-out-known-user\") as HTMLElement;\n this.init();\n }\n\n init() {\n const hamletUserCheck = () => {\n return hamletUser.getStargateProfile(true).then(() => {\n this.isLoggedIn = hamletUser.isLoggedIn() || false;\n this.loadingState.style.display = \"none\";\n if (this.isLoggedIn) {\n this.contentLoggedIn.style.display = \"block\";\n if (this.switchFirstName) {\n const personalizedStrings = this.contentLoggedIn.querySelectorAll(\"*\");\n Array.from(personalizedStrings).forEach(personalizedString => {\n if (personalizedString.innerText.includes(\"{firstName}\") && personalizedString.children.length == 0) {\n personalizedString.innerText = personalizedString.innerText.replace(/{firstName}/g, hamletUser.getUser().myDetails.firstName);\n }\n })\n }\n } else {\n this.contentLoggedOut.style.display = \"block\";\n }\n });\n };\n\n hamletUserCheck();\n }\n}\n"],"names":["hamletApi","HamletApi","_classCallCheck","this","baseDomain","getBaseDomain","key","value","Environment","concat","window","location","hostname","indexOf","stgConfig","params","useCofsPath","basePath","getCofsPath","getHamletPath","request","url","method","headers","_objectSpread","cacheBuster","Date","getTime","data","authenticated","hamletUser","withCredentials","axios","startsWith","getBxpPath","options","_","Object","assign","hamletRequest","ProductKeys","CONFLUENCE","JIRA_CORE","JIRA_BUSINESS","JIRA_SOFTWARE","JIRA_SERVICE_DESK","BITBUCKET","OPSGENIE","STATUSPAGE","TRELLO","HamletUser","_defineProperty","cached","token","initialized","user","contactDetails","firstName","lastName","email","organisationDetails","address1","address2","city","state","postcode","isoCountryCode","organisationName","organisationType","payOnAccount","taxId","lassoDetails","username","displayName","myDetails","aaid","avatar","name","isLoggedIn","sites","performanceBoostExperiment","enableAisAvailableProducts","_this","Promise","resolve","all","retrieveXsrfToken","getStargateProfile","then","_this2","response","setToken","reject","debugAllSites","_this3","retrieveMe","retrieveSitesData","_ref","_ref2","identityData","sitesData","setSites","_this4","meData","result","split","stargateData","account_id","picture","getFirstName","getLastName","_this5","retrieveAvailableProductsData","availableProductsSites","map","site","_site$products","adminAccess","products","availableProducts","availableProduct","productType","cloudId","avatarUrl","transformAvailableProductsIntoAvailableSites","_this6","availableProductsData","sitesResult","filter","isValidSite","migrationSourceUuid","productKey","cloudIds","_this7","setExtendedTrialAvailability","extendedTrialAvailability","groupSitesByProduct","forEach","product","push","isVertigo","length","icon","login_logo_url","arguments","undefined","trim","names","shift","join","toUpperCase","match","PersonalizationLoggedInOut","domRoot","showLoggedOutKnownUser","switchFirstName","loadingState","querySelector","contentLoggedIn","contentLoggedOut","contentKnownUser","init","style","display","personalizedStrings","querySelectorAll","Array","from","personalizedString","innerText","includes","children","replace"],"sourceRoot":""}