UNPKG

powerplatform-review-tool

Version:

Evaluate Power Platform solution zip files based on best practice patterns

181 lines 4.74 kB
import { PowerAppsPatternInfo } from "../ManifestConstant"; import { PatternResult } from "./pattern"; /** @public */ export interface SarifLog { runs: SarifRun[]; } /** @public */ export interface SarifRun { tool: { driver: { name: string; rules: SarifRule[]; }; }; results: SarifResult[]; } /** @public */ export interface SarifRule { id: string; properties?: { howToFix?: string; whyFix?: string; primaryCategory?: string; [key: string]: unknown; }; messageStrings?: { issue?: { text: string; }; }; } /** @public */ export interface SarifResult { ruleId: string; messageStrings?: { issue?: { text?: string; }; }; locations?: { physicalLocation?: { address?: { fullyQualifiedName?: string; }; }; }[]; properties?: { level?: string; [key: string]: unknown; }; } export interface FailureInfo { ScreenName: string; ControlName: string; PropertyName: string; Code: string; PatternName: PowerAppsPatternInfo; FailureReason?: string; ControlType?: string; FailedPowerFxCode?: string; } export interface MsApp { appSettings: AppSettings; totalCodeComponents: number; dataSources: DataSource[]; appCheckerIssues: AppCheckerIssue[]; assets: Asset[]; yaml: PowerAppsYAML; totalCanvasComponents: number; totalScreens: number; } export interface AppSettings { Name: string; AppPreviewFlagsMap: Record<string, boolean>; AppDescription: string; DocumentType: string; } export interface DataSource { Name: string; Type: string; } export interface DataSourcesJson { DataSources: DataSource[]; } export interface AppCheckerIssue { RuleId: string; HowToFix: string; WhyFix: string; Message: string; Location: string; Severity: string; Category: string; } export interface Asset { mediaName: string; mediaSize: number; exceedsThreshold: boolean; } /** @public */ export interface PowerAppsReviewResult { items: PowerAppAnalysis[]; totalApps: number; totalScore: string; } /** @public */ export interface PowerAppAnalysis { name: string; result: PatternResult[]; totalScreens: number; totalCanvasComponents: number; totalCodeComponents: number; score: string; } export interface PowerAppsYAML { App?: AppInstance; Screens?: Record<string, ScreenInstance>; ComponentDefinitions?: Record<string, ComponentDefinitionInstance>; DataSources?: Record<string, DataSourceInstance>; } export interface AppInstance { Properties?: PropertiesFormulaMap; } export interface ScreenInstance { Properties?: PropertiesFormulaMap; Children?: NamedControlInstance[]; Control?: ControlTypeId; } export interface ComponentDefinitionInstance { Description?: string; AccessAppScope?: boolean; CustomProperties?: Record<string, ComponentCustomProperty>; Properties?: PropertiesFormulaMap; Children?: NamedControlInstance[]; } export interface DataSourceInstance { Type: "Table" | "Actions"; ConnectorId?: string; Parameters?: { [key: string]: string; }; } export interface ComponentCustomProperty { PropertyKind: "Input" | "Output" | "InputFunction" | "OutputFunction" | "Event" | "Action"; Description?: string; DataType?: string; RaiseOnReset?: boolean; Default?: string; } export interface PropertiesFormulaMap { [propertyName: string]: string; } export type ControlTypeId = "Component" | "CodeComponent" | "AppInfo" | "HostControl" | "Screen" | "AppTest" | "TestCase" | "TestSuite" | "CommandComponent" | "DataComponent" | "FunctionComponent" | "GroupContainer" | string; export interface ControlInstance { Control: ControlTypeId; Group?: string; Properties?: PropertiesFormulaMap; Children?: NamedControlInstance[]; ComponentName?: string; ComponentLibraryUniqueName?: string; } export type NamedControlInstance = Record<string, ControlInstance>; export interface PfxFunctionParameters { [parameterName: string]: { Description: string; IsRequired: boolean; DataType: string; }; } export interface PfxFunctionReturnType { DataType?: "Text" | "Number" | "Boolean" | "DateAndTime" | "Screen" | "Record" | "Table" | "Image" | "VideoOrAudio" | "Color" | "Currency"; } export interface PfxFormula { [key: string]: string; } export interface EntityName { name: string; } export interface EntityPropertyName { propertyName: string; } //# sourceMappingURL=appInterface.d.ts.map