@decaf-ts/fabric-weaver
Version:
template for ts projects
65 lines • 7.83 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getCertName = getCertName;
exports.createNodeOU = createNodeOU;
const logging_1 = require("@decaf-ts/logging");
const yaml_1 = require("../../utils/yaml.cjs");
const path_1 = __importDefault(require("path"));
const fs_1 = __importDefault(require("fs"));
const fabric_general_1 = require("../constants/fabric-general.cjs");
function getCertName(mspdir) {
const log = logging_1.Logging.for(getCertName);
try {
const directory = mspdir;
const certFolder = path_1.default.join(directory, "cacerts");
const dirInfo = fs_1.default.readdirSync(certFolder);
const files = dirInfo.filter((file) => {
const filePath = path_1.default.join(certFolder, file);
return fs_1.default.statSync(filePath).isFile();
});
return files[0] || "ca-cert.pem";
}
catch (e) {
log.error("Error reading local MSP directory: " + e);
return "ca-cert.pem";
}
}
function createNodeOU(enable = false, pathFromMSPDir = "cacerts", mspdir = "msp", cert) {
const log = logging_1.Logging.for(createNodeOU);
if (!cert)
cert = getCertName(mspdir);
const nodeOU = {
NodeOUs: {
Enable: enable,
ClientOUIdentifier: {
Certificate: `${pathFromMSPDir}/${cert}`,
OrganizationalUnitIdentifier: fabric_general_1.FabricAccountType.CLIENT,
},
AdminOUIdentifier: {
Certificate: `${pathFromMSPDir}/${cert}`,
OrganizationalUnitIdentifier: fabric_general_1.FabricAccountType.ADMIN,
},
OrdererOUIdentifier: {
Certificate: `${pathFromMSPDir}/${cert}`,
OrganizationalUnitIdentifier: fabric_general_1.FabricAccountType.ORDERER,
},
PeerOUIdentifier: {
Certificate: `${pathFromMSPDir}/${cert}`,
OrganizationalUnitIdentifier: fabric_general_1.FabricAccountType.PEER,
},
},
};
try {
const location = path_1.default.join(mspdir, "config.yaml");
log.info(`Writing node OU configuration to ${location}`);
(0, yaml_1.writeFileYaml)(location, nodeOU);
}
catch (e) {
log.error(`Error writing node OU configuration: ${e}`);
throw e;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1vdS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9mYWJyaWMvbm9kZS1vdS9ub2RlLW91LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBT0Esa0NBa0JDO0FBRUQsb0NBd0NDO0FBbkVELCtDQUE0QztBQUM1QywyQ0FBaUQ7QUFDakQsZ0RBQXdCO0FBQ3hCLDRDQUFvQjtBQUNwQixnRUFBZ0U7QUFHaEUsU0FBZ0IsV0FBVyxDQUFDLE1BQWM7SUFDeEMsTUFBTSxHQUFHLEdBQUcsaUJBQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckMsSUFBSSxDQUFDO1FBQ0gsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDO1FBQ3pCLE1BQU0sVUFBVSxHQUFHLGNBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBRW5ELE1BQU0sT0FBTyxHQUFHLFlBQUUsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFM0MsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3BDLE1BQU0sUUFBUSxHQUFHLGNBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzdDLE9BQU8sWUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN4QyxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLGFBQWEsQ0FBQztJQUNuQyxDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNYLEdBQUcsQ0FBQyxLQUFLLENBQUMscUNBQXFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDckQsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFnQixZQUFZLENBQzFCLFNBQWtCLEtBQUssRUFDdkIsaUJBQXlCLFNBQVMsRUFDbEMsU0FBaUIsS0FBSyxFQUN0QixJQUFhO0lBRWIsTUFBTSxHQUFHLEdBQUcsaUJBQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdEMsSUFBSSxDQUFDLElBQUk7UUFBRSxJQUFJLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRXRDLE1BQU0sTUFBTSxHQUFpQjtRQUMzQixPQUFPLEVBQUU7WUFDUCxNQUFNLEVBQUUsTUFBTTtZQUNkLGtCQUFrQixFQUFFO2dCQUNsQixXQUFXLEVBQUUsR0FBRyxjQUFjLElBQUksSUFBSSxFQUFFO2dCQUN4Qyw0QkFBNEIsRUFBRSxrQ0FBaUIsQ0FBQyxNQUFNO2FBQ3ZEO1lBQ0QsaUJBQWlCLEVBQUU7Z0JBQ2pCLFdBQVcsRUFBRSxHQUFHLGNBQWMsSUFBSSxJQUFJLEVBQUU7Z0JBQ3hDLDRCQUE0QixFQUFFLGtDQUFpQixDQUFDLEtBQUs7YUFDdEQ7WUFDRCxtQkFBbUIsRUFBRTtnQkFDbkIsV0FBVyxFQUFFLEdBQUcsY0FBYyxJQUFJLElBQUksRUFBRTtnQkFDeEMsNEJBQTRCLEVBQUUsa0NBQWlCLENBQUMsT0FBTzthQUN4RDtZQUNELGdCQUFnQixFQUFFO2dCQUNoQixXQUFXLEVBQUUsR0FBRyxjQUFjLElBQUksSUFBSSxFQUFFO2dCQUN4Qyw0QkFBNEIsRUFBRSxrQ0FBaUIsQ0FBQyxJQUFJO2FBQ3JEO1NBQ0Y7S0FDRixDQUFDO0lBRUYsSUFBSSxDQUFDO1FBQ0gsTUFBTSxRQUFRLEdBQUcsY0FBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFFbEQsR0FBRyxDQUFDLElBQUksQ0FBQyxvQ0FBb0MsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUN6RCxJQUFBLG9CQUFhLEVBQWUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ1gsR0FBRyxDQUFDLEtBQUssQ0FBQyx3Q0FBd0MsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN2RCxNQUFNLENBQUMsQ0FBQztJQUNWLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9nZ2luZyB9IGZyb20gXCJAZGVjYWYtdHMvbG9nZ2luZ1wiO1xuaW1wb3J0IHsgd3JpdGVGaWxlWWFtbCB9IGZyb20gXCIuLi8uLi91dGlscy95YW1sXCI7XG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IGZzIGZyb20gXCJmc1wiO1xuaW1wb3J0IHsgRmFicmljQWNjb3VudFR5cGUgfSBmcm9tIFwiLi4vY29uc3RhbnRzL2ZhYnJpYy1nZW5lcmFsXCI7XG5pbXBvcnQgeyBOb2RlT1VDb25maWcgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9mYWJyaWMvbm9kZS1vdS1jb25maWdcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldENlcnROYW1lKG1zcGRpcjogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgbG9nID0gTG9nZ2luZy5mb3IoZ2V0Q2VydE5hbWUpO1xuICB0cnkge1xuICAgIGNvbnN0IGRpcmVjdG9yeSA9IG1zcGRpcjtcbiAgICBjb25zdCBjZXJ0Rm9sZGVyID0gcGF0aC5qb2luKGRpcmVjdG9yeSwgXCJjYWNlcnRzXCIpO1xuXG4gICAgY29uc3QgZGlySW5mbyA9IGZzLnJlYWRkaXJTeW5jKGNlcnRGb2xkZXIpO1xuXG4gICAgY29uc3QgZmlsZXMgPSBkaXJJbmZvLmZpbHRlcigoZmlsZSkgPT4ge1xuICAgICAgY29uc3QgZmlsZVBhdGggPSBwYXRoLmpvaW4oY2VydEZvbGRlciwgZmlsZSk7XG4gICAgICByZXR1cm4gZnMuc3RhdFN5bmMoZmlsZVBhdGgpLmlzRmlsZSgpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGZpbGVzWzBdIHx8IFwiY2EtY2VydC5wZW1cIjtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGxvZy5lcnJvcihcIkVycm9yIHJlYWRpbmcgbG9jYWwgTVNQIGRpcmVjdG9yeTogXCIgKyBlKTtcbiAgICByZXR1cm4gXCJjYS1jZXJ0LnBlbVwiO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVOb2RlT1UoXG4gIGVuYWJsZTogYm9vbGVhbiA9IGZhbHNlLFxuICBwYXRoRnJvbU1TUERpcjogc3RyaW5nID0gXCJjYWNlcnRzXCIsXG4gIG1zcGRpcjogc3RyaW5nID0gXCJtc3BcIixcbiAgY2VydD86IHN0cmluZ1xuKSB7XG4gIGNvbnN0IGxvZyA9IExvZ2dpbmcuZm9yKGNyZWF0ZU5vZGVPVSk7XG4gIGlmICghY2VydCkgY2VydCA9IGdldENlcnROYW1lKG1zcGRpcik7XG5cbiAgY29uc3Qgbm9kZU9VOiBOb2RlT1VDb25maWcgPSB7XG4gICAgTm9kZU9Vczoge1xuICAgICAgRW5hYmxlOiBlbmFibGUsXG4gICAgICBDbGllbnRPVUlkZW50aWZpZXI6IHtcbiAgICAgICAgQ2VydGlmaWNhdGU6IGAke3BhdGhGcm9tTVNQRGlyfS8ke2NlcnR9YCxcbiAgICAgICAgT3JnYW5pemF0aW9uYWxVbml0SWRlbnRpZmllcjogRmFicmljQWNjb3VudFR5cGUuQ0xJRU5ULFxuICAgICAgfSxcbiAgICAgIEFkbWluT1VJZGVudGlmaWVyOiB7XG4gICAgICAgIENlcnRpZmljYXRlOiBgJHtwYXRoRnJvbU1TUERpcn0vJHtjZXJ0fWAsXG4gICAgICAgIE9yZ2FuaXphdGlvbmFsVW5pdElkZW50aWZpZXI6IEZhYnJpY0FjY291bnRUeXBlLkFETUlOLFxuICAgICAgfSxcbiAgICAgIE9yZGVyZXJPVUlkZW50aWZpZXI6IHtcbiAgICAgICAgQ2VydGlmaWNhdGU6IGAke3BhdGhGcm9tTVNQRGlyfS8ke2NlcnR9YCxcbiAgICAgICAgT3JnYW5pemF0aW9uYWxVbml0SWRlbnRpZmllcjogRmFicmljQWNjb3VudFR5cGUuT1JERVJFUixcbiAgICAgIH0sXG4gICAgICBQZWVyT1VJZGVudGlmaWVyOiB7XG4gICAgICAgIENlcnRpZmljYXRlOiBgJHtwYXRoRnJvbU1TUERpcn0vJHtjZXJ0fWAsXG4gICAgICAgIE9yZ2FuaXphdGlvbmFsVW5pdElkZW50aWZpZXI6IEZhYnJpY0FjY291bnRUeXBlLlBFRVIsXG4gICAgICB9LFxuICAgIH0sXG4gIH07XG5cbiAgdHJ5IHtcbiAgICBjb25zdCBsb2NhdGlvbiA9IHBhdGguam9pbihtc3BkaXIsIFwiY29uZmlnLnlhbWxcIik7XG5cbiAgICBsb2cuaW5mbyhgV3JpdGluZyBub2RlIE9VIGNvbmZpZ3VyYXRpb24gdG8gJHtsb2NhdGlvbn1gKTtcbiAgICB3cml0ZUZpbGVZYW1sPE5vZGVPVUNvbmZpZz4obG9jYXRpb24sIG5vZGVPVSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBsb2cuZXJyb3IoYEVycm9yIHdyaXRpbmcgbm9kZSBPVSBjb25maWd1cmF0aW9uOiAke2V9YCk7XG4gICAgdGhyb3cgZTtcbiAgfVxufVxuIl19