UNPKG

@sap_oss/wdio-qmate-service

Version:

[![REUSE status](https://api.reuse.software/badge/github.com/SAP/wdio-qmate-service)](https://api.reuse.software/info/github.com/SAP/wdio-qmate-service)[![Node.js CI](https://github.com/SAP/wdio-qmate-service/actions/workflows/node.js.yml/badge.svg)](http

113 lines 3.86 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || (function () { var ownKeys = function(o) { ownKeys = Object.getOwnPropertyNames || function (o) { var ar = []; for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; return ar; }; return ownKeys(o); }; return function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); __setModuleDefault(result, mod); return result; }; })(); var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getUserId = getUserId; const os = __importStar(require("os")); const path_1 = __importDefault(require("path")); const node_localstorage_1 = require("node-localstorage"); const undici_1 = require("undici"); const constants_1 = require("./constants"); async function getUserId() { if (!isLocalStorageAvailable()) { console.log("Cannot retrieve user ID."); return null; } if (isUserIdStored()) { return getUserIdFromStore(); } else { const userId = await retrieveNewUserIdFromServer(); if (userId !== null) { saveUserIdToStore(userId); } return userId; } } function isLocalStorageAvailable() { try { getLocalStorage(); return true; } catch (e) { console.log("LocalStorage is not available: ", e.message); return false; } } function isUserIdStored() { return getLocalStorage().getItem("UserId") !== null; } function getUserIdFromStore() { return getLocalStorage().getItem("UserId"); } async function retrieveNewUserIdFromServer() { try { return await fetchNewUserIdFromServer(); } catch (error) { console.log("Error while fetching user ID: ", error.message); return null; } } function saveUserIdToStore(userId) { getLocalStorage().setItem("UserId", userId); } let localStorageInstance = null; function getLocalStorage() { localStorageInstance ??= new node_localstorage_1.LocalStorage(path_1.default.join(os.homedir(), '.qmate-userId')); return localStorageInstance; } async function fetchNewUserIdFromServer() { const response = await fetchNewUserResponse(); return await extractUserIdFromResponse(response); } async function fetchNewUserResponse() { return (0, undici_1.fetch)(`${constants_1.STATS_SERVER_URL}/api/user`, { method: "POST", dispatcher: new undici_1.Agent({}) }); } async function extractUserIdFromResponse(response) { if (!response.ok) { console.log(`Failed to create Qmate Stats User: ${response.status} ${response.statusText}`); return null; } const responseText = await response.text(); const responseData = JSON.parse(responseText); return responseData.id; } //# sourceMappingURL=getUserId.js.map