@decaf-ts/fabric-weaver
Version:
template for ts projects
89 lines (88 loc) • 4.6 kB
TypeScript
import { Logger } from "@decaf-ts/logging";
import { FabricCAServerCommand } from "../constants/fabric-ca-server";
import { CAConfig, CommadCSRConfig, CommandIntermediateCAConfig, CommandLDAPConfig, CorsConfig, DBConfig, IdemixConfig, ServerTLSConfig } from "../interfaces/fabric/fabric-ca-server-config";
import { FabricLogLevel } from "../constants/fabric-general";
export declare class FabricCAServerCommandBuilder {
private log;
private binName;
private command;
private args;
constructor(logger?: Logger);
/**
* @description Sets the command for the Fabric CA Server.
* @summary Configures the primary action for the Fabric CA Server, such as starting the server or generating certificates.
* @param {FabricCAServerCommand} [command] - The command to be executed by the Fabric CA Server.
* @return {this} The current instance of the builder for method chaining.
*/
setCommand(command?: FabricCAServerCommand): this;
/**
* @description Sets the port for the Fabric CA Server.
* @summary Configures the network port on which the Fabric CA Server will listen for incoming connections.
* @param {number} [port] - The port number for the Fabric CA Server to listen on.
* @return {this} The current instance of the builder for method chaining.
*/
setPort(port?: number): this;
/**
* @description Enables or disables debug mode for the Fabric CA Server.
* @summary Configures whether the Fabric CA Server should run in debug mode, providing more detailed logging and output.
* @param {boolean} [enable] - Whether to enable debug mode.
* @return {this} The current instance of the builder for method chaining.
*/
enableDebug(enable?: boolean): this;
setServerTLS(tlsConfig?: ServerTLSConfig): this;
setCA(config: CAConfig): this;
/**
* @description Sets the address for the Fabric CA Server.
* @summary Configures the network address on which the Fabric CA Server will listen for incoming connections.
* @param {string} [address] - The network address for the Fabric CA Server to listen on.
* @return {this} The current instance of the builder for method chaining.
*/
setAddress(address?: string): this;
/**
* @description Sets the bootstrap admin user for the Fabric CA Server.
* @summary Configures the initial admin user with full privileges for the Fabric CA Server.
* @param {string} [bootUser] - The bootstrap admin user in the format "username:password".
* @return {this} The current instance of the builder for method chaining.
*/
setBootstrapAdmin(bootUser?: string): this;
/**
* @description Sets the number of CAs to run on the Fabric CA Server.
* @summary Configures the Fabric CA Server to run multiple CA instances.
* @param {number} [count] - The number of CA instances to run.
* @return {this} The current instance of the builder for method chaining.
*/
setCACount(count?: number): this;
/**
* @description Sets the configuration files for multiple CAs.
* @summary Configures the Fabric CA Server with multiple CA configurations using separate files.
* @param {string[]} [files] - An array of paths to CA configuration files.
* @return {this} The current instance of the builder for method chaining.
*/
setCAFiles(files?: string[]): this;
setCors(config?: CorsConfig): this;
setCrlExpiry(crlExpiry?: string): this;
/**
* @description Sets the size limit for the Certificate Revocation List (CRL).
* @summary Configures the maximum number of revoked certificates that can be included in a single CRL.
* @param {number} [limit] - The maximum number of revoked certificates in the CRL.
* @return {this} The current instance of the builder for method chaining.
*/
setCRLSizeLimit(limit?: number): this;
setCSR(csr?: CommadCSRConfig): this;
setHelp(show?: boolean): this;
setHome(home?: string): this;
setDatabase(cfg?: DBConfig): this;
setIdemix(idemix?: IdemixConfig): this;
setIntermediate(int: CommandIntermediateCAConfig): this;
setLDAP(ldap?: CommandLDAPConfig): this;
setLogLevel(level: FabricLogLevel): this;
setMaxEnrollments(maxEnrollments?: number): this;
setAllowAffiliationsRemove(allow?: boolean): this;
setAllowIdentitiesRemove(allow?: boolean): this;
setPasswordAttempts(attempts?: number): this;
build(): string;
getCommand(): string;
getBinary(): string;
getArgs(): string[];
execute(): Promise<void>;
}