UNPKG

@fabric-es/operator

Version:
68 lines 2.46 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.enrollAdmin = void 0; const util_1 = __importDefault(require("util")); const types_1 = require("./types"); const utils_1 = require("./utils"); const enrollAdmin = async (option) => { const logger = utils_1.getLogger({ name: '[operator] enrollAdmin.js' }); const { enrollmentID, enrollmentSecret, mspId, caName, connectionProfile, wallet } = option; Object.entries(option).forEach(([key, value]) => { if (value === undefined) { logger.error(`${key} is missing`); throw new Error(`${key} is missing`); } }); logger.debug(`enrollmentID: ${enrollmentID}`); logger.debug(`mspId: ${mspId}`); logger.debug(`caName: ${caName}`); logger.debug(`connectionProfile: ${connectionProfile}`); let caService; try { caService = await utils_1.getFabricCaService(connectionProfile, caName); } catch (e) { logger.error(util_1.default.format('fail to newFabricCAServices: %j', e)); throw new Error(e); } const walletEntry = await wallet.get(enrollmentID); if (!!walletEntry) return { status: types_1.SUCCESS, message: `${types_1.IDENTITY_ALREADY_EXIST}: "${enrollmentID}"`, }; let identity; try { const enrollment = await caService.enroll({ enrollmentID, enrollmentSecret }); identity = { type: 'X.509', mspId, credentials: { certificate: enrollment.certificate, privateKey: enrollment.key.toBytes(), }, }; } catch (e) { logger.error(util_1.default.format('fail to enroll %s, %j', enrollmentID, e)); throw new Error(e); } logger.info(`${mspId} enrolls ${enrollmentID}`); try { await wallet.put(enrollmentID, identity); } catch (e) { logger.error(util_1.default.format('fail to import into wallet %s, %j', enrollmentID, e)); throw new Error(e); } logger.info(`Import identity into wallet: ${enrollmentID}`); return { status: types_1.SUCCESS, message: 'Successfully enroll admin and import into the wallet', }; }; exports.enrollAdmin = enrollAdmin; //# sourceMappingURL=enrollAdmin.js.map