@decaf-ts/fabric-weaver
Version:
template for ts projects
58 lines • 7.49 kB
JavaScript
import { Logging } from "@decaf-ts/logging";
import { writeFileYaml } from "../../utils/yaml";
import path from "path";
import fs from "fs";
import { FabricAccountType } from "../constants/fabric-general";
export function getCertName(mspdir) {
const log = Logging.for(getCertName);
try {
const directory = mspdir;
const certFolder = path.join(directory, "cacerts");
const dirInfo = fs.readdirSync(certFolder);
const files = dirInfo.filter((file) => {
const filePath = path.join(certFolder, file);
return fs.statSync(filePath).isFile();
});
return files[0] || "ca-cert.pem";
}
catch (e) {
log.error("Error reading local MSP directory: " + e);
return "ca-cert.pem";
}
}
export function createNodeOU(enable = false, pathFromMSPDir = "cacerts", mspdir = "msp", cert) {
const log = Logging.for(createNodeOU);
if (!cert)
cert = getCertName(mspdir);
const nodeOU = {
NodeOUs: {
Enable: enable,
ClientOUIdentifier: {
Certificate: `${pathFromMSPDir}/${cert}`,
OrganizationalUnitIdentifier: FabricAccountType.CLIENT,
},
AdminOUIdentifier: {
Certificate: `${pathFromMSPDir}/${cert}`,
OrganizationalUnitIdentifier: FabricAccountType.ADMIN,
},
OrdererOUIdentifier: {
Certificate: `${pathFromMSPDir}/${cert}`,
OrganizationalUnitIdentifier: FabricAccountType.ORDERER,
},
PeerOUIdentifier: {
Certificate: `${pathFromMSPDir}/${cert}`,
OrganizationalUnitIdentifier: FabricAccountType.PEER,
},
},
};
try {
const location = path.join(mspdir, "config.yaml");
log.info(`Writing node OU configuration to ${location}`);
writeFileYaml(location, nodeOU);
}
catch (e) {
log.error(`Error writing node OU configuration: ${e}`);
throw e;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1vdS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9mYWJyaWMvbm9kZS1vdS9ub2RlLW91LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQ3hCLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUNwQixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUdoRSxNQUFNLFVBQVUsV0FBVyxDQUFDLE1BQWM7SUFDeEMsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQyxJQUFJLENBQUM7UUFDSCxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUM7UUFDekIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFFbkQsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUUzQyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDcEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDN0MsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksYUFBYSxDQUFDO0lBQ25DLENBQUM7SUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ1gsR0FBRyxDQUFDLEtBQUssQ0FBQyxxQ0FBcUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNyRCxPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZLENBQzFCLFNBQWtCLEtBQUssRUFDdkIsaUJBQXlCLFNBQVMsRUFDbEMsU0FBaUIsS0FBSyxFQUN0QixJQUFhO0lBRWIsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN0QyxJQUFJLENBQUMsSUFBSTtRQUFFLElBQUksR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFdEMsTUFBTSxNQUFNLEdBQWlCO1FBQzNCLE9BQU8sRUFBRTtZQUNQLE1BQU0sRUFBRSxNQUFNO1lBQ2Qsa0JBQWtCLEVBQUU7Z0JBQ2xCLFdBQVcsRUFBRSxHQUFHLGNBQWMsSUFBSSxJQUFJLEVBQUU7Z0JBQ3hDLDRCQUE0QixFQUFFLGlCQUFpQixDQUFDLE1BQU07YUFDdkQ7WUFDRCxpQkFBaUIsRUFBRTtnQkFDakIsV0FBVyxFQUFFLEdBQUcsY0FBYyxJQUFJLElBQUksRUFBRTtnQkFDeEMsNEJBQTRCLEVBQUUsaUJBQWlCLENBQUMsS0FBSzthQUN0RDtZQUNELG1CQUFtQixFQUFFO2dCQUNuQixXQUFXLEVBQUUsR0FBRyxjQUFjLElBQUksSUFBSSxFQUFFO2dCQUN4Qyw0QkFBNEIsRUFBRSxpQkFBaUIsQ0FBQyxPQUFPO2FBQ3hEO1lBQ0QsZ0JBQWdCLEVBQUU7Z0JBQ2hCLFdBQVcsRUFBRSxHQUFHLGNBQWMsSUFBSSxJQUFJLEVBQUU7Z0JBQ3hDLDRCQUE0QixFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDckQ7U0FDRjtLQUNGLENBQUM7SUFFRixJQUFJLENBQUM7UUFDSCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUMsQ0FBQztRQUVsRCxHQUFHLENBQUMsSUFBSSxDQUFDLG9DQUFvQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELGFBQWEsQ0FBZSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDWCxHQUFHLENBQUMsS0FBSyxDQUFDLHdDQUF3QyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sQ0FBQyxDQUFDO0lBQ1YsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2dnaW5nIH0gZnJvbSBcIkBkZWNhZi10cy9sb2dnaW5nXCI7XG5pbXBvcnQgeyB3cml0ZUZpbGVZYW1sIH0gZnJvbSBcIi4uLy4uL3V0aWxzL3lhbWxcIjtcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgZnMgZnJvbSBcImZzXCI7XG5pbXBvcnQgeyBGYWJyaWNBY2NvdW50VHlwZSB9IGZyb20gXCIuLi9jb25zdGFudHMvZmFicmljLWdlbmVyYWxcIjtcbmltcG9ydCB7IE5vZGVPVUNvbmZpZyB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL2ZhYnJpYy9ub2RlLW91LWNvbmZpZ1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2VydE5hbWUobXNwZGlyOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBsb2cgPSBMb2dnaW5nLmZvcihnZXRDZXJ0TmFtZSk7XG4gIHRyeSB7XG4gICAgY29uc3QgZGlyZWN0b3J5ID0gbXNwZGlyO1xuICAgIGNvbnN0IGNlcnRGb2xkZXIgPSBwYXRoLmpvaW4oZGlyZWN0b3J5LCBcImNhY2VydHNcIik7XG5cbiAgICBjb25zdCBkaXJJbmZvID0gZnMucmVhZGRpclN5bmMoY2VydEZvbGRlcik7XG5cbiAgICBjb25zdCBmaWxlcyA9IGRpckluZm8uZmlsdGVyKChmaWxlKSA9PiB7XG4gICAgICBjb25zdCBmaWxlUGF0aCA9IHBhdGguam9pbihjZXJ0Rm9sZGVyLCBmaWxlKTtcbiAgICAgIHJldHVybiBmcy5zdGF0U3luYyhmaWxlUGF0aCkuaXNGaWxlKCk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gZmlsZXNbMF0gfHwgXCJjYS1jZXJ0LnBlbVwiO1xuICB9IGNhdGNoIChlKSB7XG4gICAgbG9nLmVycm9yKFwiRXJyb3IgcmVhZGluZyBsb2NhbCBNU1AgZGlyZWN0b3J5OiBcIiArIGUpO1xuICAgIHJldHVybiBcImNhLWNlcnQucGVtXCI7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU5vZGVPVShcbiAgZW5hYmxlOiBib29sZWFuID0gZmFsc2UsXG4gIHBhdGhGcm9tTVNQRGlyOiBzdHJpbmcgPSBcImNhY2VydHNcIixcbiAgbXNwZGlyOiBzdHJpbmcgPSBcIm1zcFwiLFxuICBjZXJ0Pzogc3RyaW5nXG4pIHtcbiAgY29uc3QgbG9nID0gTG9nZ2luZy5mb3IoY3JlYXRlTm9kZU9VKTtcbiAgaWYgKCFjZXJ0KSBjZXJ0ID0gZ2V0Q2VydE5hbWUobXNwZGlyKTtcblxuICBjb25zdCBub2RlT1U6IE5vZGVPVUNvbmZpZyA9IHtcbiAgICBOb2RlT1VzOiB7XG4gICAgICBFbmFibGU6IGVuYWJsZSxcbiAgICAgIENsaWVudE9VSWRlbnRpZmllcjoge1xuICAgICAgICBDZXJ0aWZpY2F0ZTogYCR7cGF0aEZyb21NU1BEaXJ9LyR7Y2VydH1gLFxuICAgICAgICBPcmdhbml6YXRpb25hbFVuaXRJZGVudGlmaWVyOiBGYWJyaWNBY2NvdW50VHlwZS5DTElFTlQsXG4gICAgICB9LFxuICAgICAgQWRtaW5PVUlkZW50aWZpZXI6IHtcbiAgICAgICAgQ2VydGlmaWNhdGU6IGAke3BhdGhGcm9tTVNQRGlyfS8ke2NlcnR9YCxcbiAgICAgICAgT3JnYW5pemF0aW9uYWxVbml0SWRlbnRpZmllcjogRmFicmljQWNjb3VudFR5cGUuQURNSU4sXG4gICAgICB9LFxuICAgICAgT3JkZXJlck9VSWRlbnRpZmllcjoge1xuICAgICAgICBDZXJ0aWZpY2F0ZTogYCR7cGF0aEZyb21NU1BEaXJ9LyR7Y2VydH1gLFxuICAgICAgICBPcmdhbml6YXRpb25hbFVuaXRJZGVudGlmaWVyOiBGYWJyaWNBY2NvdW50VHlwZS5PUkRFUkVSLFxuICAgICAgfSxcbiAgICAgIFBlZXJPVUlkZW50aWZpZXI6IHtcbiAgICAgICAgQ2VydGlmaWNhdGU6IGAke3BhdGhGcm9tTVNQRGlyfS8ke2NlcnR9YCxcbiAgICAgICAgT3JnYW5pemF0aW9uYWxVbml0SWRlbnRpZmllcjogRmFicmljQWNjb3VudFR5cGUuUEVFUixcbiAgICAgIH0sXG4gICAgfSxcbiAgfTtcblxuICB0cnkge1xuICAgIGNvbnN0IGxvY2F0aW9uID0gcGF0aC5qb2luKG1zcGRpciwgXCJjb25maWcueWFtbFwiKTtcblxuICAgIGxvZy5pbmZvKGBXcml0aW5nIG5vZGUgT1UgY29uZmlndXJhdGlvbiB0byAke2xvY2F0aW9ufWApO1xuICAgIHdyaXRlRmlsZVlhbWw8Tm9kZU9VQ29uZmlnPihsb2NhdGlvbiwgbm9kZU9VKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGxvZy5lcnJvcihgRXJyb3Igd3JpdGluZyBub2RlIE9VIGNvbmZpZ3VyYXRpb246ICR7ZX1gKTtcbiAgICB0aHJvdyBlO1xuICB9XG59XG4iXX0=