UNPKG

@controlplane/cli

Version:

Control Plane Corporation CLI

36 lines 1.11 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.parseSaToken = exports.nextName = void 0; const base64url_1 = require("base64url"); const crypto_1 = require("crypto"); const base32Encode = require('base32-encode'); function nextName(prefix, length) { if (!length || length < 8) { length = 8; } if (prefix === undefined) { const first = 'xbgjkmqacpez'; prefix = first[Math.floor(Math.random() * Math.floor(first.length))]; length -= 1; } const buf = (0, crypto_1.randomBytes)(length); return prefix + base32Encode(buf, 'Crockford').toLowerCase().substring(0, length); } exports.nextName = nextName; function parseSaToken(s) { if (!s) { return null; } if (s.startsWith('s')) { // maybe a service account let key = base64url_1.default.decode(s.split('.')[1] || ''); let parts = key.split('.'); return { org: parts[0], name: parts[1], }; } return null; } exports.parseSaToken = parseSaToken; //# sourceMappingURL=names.js.map