UNPKG

sfdx-hardis

Version:

Swiss-army-knife Toolbox for Salesforce. Allows you to define a complete CD/CD Pipeline. Orchestrate base commands and assist users with interactive wizards

62 lines (61 loc) 2.69 kB
import { SfCommand } from "@salesforce/sf-plugins-core"; import { Connection } from "@salesforce/core"; import { AnyJson } from "@salesforce/ts-types"; declare const IMPLEMENTATION_OUTCOME: { readonly ADDED: "added"; readonly SKIPPED: "skipped"; readonly IGNORED: "ignored"; readonly FAILED: "failed"; }; type ImplementationOutcome = typeof IMPLEMENTATION_OUTCOME[keyof typeof IMPLEMENTATION_OUTCOME]; type BypassImplementationReportItem = { sObject?: string | null; name?: string | null; automation?: "ValidationRule" | "Trigger" | "Flow"; outcome: ImplementationOutcome; comment?: string; }; export default class HardisProjectGenerateBypass extends SfCommand<any> { private skipCredits; private retrieveFromOrg; private outputFile; private reports; static flags: any; static description: string; static examples: string[]; run(): Promise<AnyJson>; generateReports(): Promise<void>; queryTriggers(connection: Connection): Promise<any>; filterTriggerResults(triggerResults: any, sObjects: any): any; queryValidationRules(connection: Connection, sObjects: { [key: string]: string; }): Promise<any>; queryFlows(connection: Connection): Promise<any>; filterFlowResults(flowResults: any, sObjects: any): any; generateXML(type: "customPermission" | "permissionSet", sObject: string, automation: string): string; private generateXMLFiles; generateFiles(targetSObjects: { [key: string]: string; }, targetAutomations: string[]): void; retrieveMetadataFiles(records: any[], metadataType: "ValidationRule" | "ApexTrigger" | "Flow"): Promise<any[]>; chunkArray<T>(array: T[], chunkSize?: number): T[][]; handleValidationRuleFile(filePath: string, sObject: string, name: string): Promise<BypassImplementationReportItem>; applyBypassToValidationRules(connection: Connection, sObjects: { [key: string]: string; }): Promise<void>; handleTriggerFile(filePath: string, name: string): Promise<BypassImplementationReportItem>; applyBypassToTriggers(connection: Connection, sObjects: { [key: string]: string; }): Promise<void>; handleFlowFile(filePath: string, name: string): Promise<BypassImplementationReportItem>; applyBypassToFlows(connection: Connection, sObjects: { [key: string]: string; }): Promise<void>; } export {}; /** * Command TODO: * - Add option to determine sobjects directly from current project instead of calling API * - While generating, check if the metadata file already exists, if yes, warning * - Before implementing, check if the permission set file exists, if not, warning */