{"version":3,"file":"chunks/0a142f84e18893fa92d6.js","mappings":"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","sources":["webpack:///./resources/js/common/hamlet/hamlet-api.ts","webpack:///./resources/js/common/hamlet/hamlet-user.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\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 ProductKey = [];\nProductKey[\"CONFLUENCE\"] = \"confluence.ondemand\";\nProductKey[\"JIRA_CORE\"] = \"jira-core.ondemand\";\nProductKey[\"JIRA_BUSINESS\"] = \"jira-core.ondemand\";\nProductKey[\"JIRA_SOFTWARE\"] = \"jira-software.ondemand\";\nProductKey[\"JIRA_SERVICE_DESK\"] = \"jira-servicedesk.ondemand\";\nProductKey[\"BITBUCKET\"] = \"com.atlassian.bitbucket\";\nProductKey[\"OPSGENIE\"] = \"opsgenie\";\nProductKey[\"STATUSPAGE\"] = \"statuspage\";\nProductKey[\"TRELLO\"] = \"trello\";\n\nexport const transformAvailableProductsIntoAvailableSites = (availableProductsSites) => {\n return availableProductsSites.map(site => {\n return {\n adminAccess: site.adminAccess,\n products: site.availableProducts.map(availableProduct => ProductKey[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\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, 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, debugAllSites, enableAisAvailableProducts = false) {\n\n if (performanceBoostExperiment) {\n this.performanceBoostExperiment = true;\n }\n\n return Promise.all([\n this.retrieveMe(),\n this.retrieveSitesData(debugAllSites, enableAisAvailableProducts)\n ])\n .then(([identityData, sitesData]) => {\n\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 return hamletApi.request(options)\n .then(result => {\n\n if (!result.data) {\n return Promise.reject();\n }\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, enableAisAvailableProducts) {\n return this.retrieveAvailableProductsData(debugAllSites, enableAisAvailableProducts).then(availableProductsSites => {\n const sitesData = transformAvailableProductsIntoAvailableSites(availableProductsSites);\n return sitesData;\n }).catch(() => {\n this.user.isLoggedIn = false;\n });\n }\n\n retrieveAvailableProductsData(debugAllSites, enableAisAvailableProducts) {\n let url = `${Environment.getAPIPrivateURL()}`;\n if (enableAisAvailableProducts) {\n url = url + `/ais/available-products`\n } else {\n url = url + `/available-products/api/available-products`\n }\n const options = {\n url: url,\n method: 'GET',\n withCredentials: true\n };\n\n return (hamletApi.request(options)).then(result => {\n\n if (!result.data) {\n return [];\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"],"names":["hamletApi","this","baseDomain","getBaseDomain","Environment","window","location","hostname","indexOf","stgConfig","params","useCofsPath","basePath","getCofsPath","getHamletPath","request","url","method","headers","cacheBuster","Date","getTime","data","authenticated","hamletUser","withCredentials","axios","startsWith","getBxpPath","options","_","Object","assign","hamletRequest","ProductKey","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","Promise","resolve","all","retrieveXsrfToken","getStargateProfile","then","response","setToken","reject","debugAllSites","retrieveMe","retrieveSitesData","identityData","sitesData","setSites","result","split","stargateData","account_id","picture","getFirstName","getLastName","retrieveAvailableProductsData","availableProductsSites","map","site","adminAccess","products","availableProducts","availableProduct","productType","cloudId","avatarUrl","transformAvailableProductsIntoAvailableSites","sitesResult","filter","isValidSite","migrationSourceUuid","productKey","cloudIds","setExtendedTrialAvailability","extendedTrialAvailability","groupSitesByProduct","forEach","product","push","isVertigo","length","icon","login_logo_url","fullName","trim","names","shift","join","toUpperCase","match"],"sourceRoot":""}