supa-seed
Version:
A constraint-aware, framework-agnostic database seeding framework with deep PostgreSQL business logic discovery and MakerKit integration support
125 lines • 3.51 kB
TypeScript
/**
* RLS Compliance Validator
* Validates and generates detailed RLS compliance reports
*/
import type { ComplianceEngineResult, ComplianceViolation } from './rls-compliance-engine';
export interface DetailedComplianceReport {
timestamp: string;
overallScore: number;
tableReports: TableComplianceReport[];
summary: ComplianceSummary;
recommendations: RecommendationCategory[];
trends?: ComplianceTrend[];
}
export interface TableComplianceReport {
table: string;
score: number;
status: 'compliant' | 'partial' | 'non_compliant';
policies: PolicyReport[];
violations: ComplianceViolation[];
lastChecked: string;
}
export interface PolicyReport {
name: string;
command: string;
roles: string[];
expression: string;
isSecure: boolean;
issues: string[];
}
export interface ComplianceSummary {
totalTables: number;
compliantTables: number;
partiallyCompliantTables: number;
nonCompliantTables: number;
totalPolicies: number;
securityScore: number;
}
export interface RecommendationCategory {
category: 'security' | 'performance' | 'maintenance';
priority: 'high' | 'medium' | 'low';
recommendations: string[];
estimatedEffort: 'low' | 'medium' | 'high';
}
export interface ComplianceTrend {
date: string;
score: number;
tablesAnalyzed: number;
violations: number;
}
export interface ComplianceValidationOptions {
includeHistoricalTrends: boolean;
generateRecommendations: boolean;
detailedPolicyAnalysis: boolean;
exportFormat: 'json' | 'markdown' | 'html';
}
export declare class RLSComplianceValidator {
private client;
private validationHistory;
constructor(client: any);
/**
* Generate detailed compliance report
*/
generateDetailedReport(engineResult: ComplianceEngineResult, options?: Partial<ComplianceValidationOptions>): Promise<DetailedComplianceReport>;
/**
* Generate individual table compliance reports
*/
private generateTableReports;
/**
* Get detailed policy reports for a table
*/
private getTablePolicyReports;
/**
* Check if a policy is considered secure
*/
private isPolicySecure;
/**
* Identify specific issues with a policy
*/
private identifyPolicyIssues;
/**
* Calculate compliance score for a table
*/
private calculateTableScore;
/**
* Determine compliance status from score
*/
private determineComplianceStatus;
/**
* Generate summary from engine result and table reports
*/
private generateSummary;
/**
* Generate categorized recommendations
*/
private generateRecommendations;
/**
* Get unique table names from violations
*/
private getUniqueTables;
/**
* Record compliance trend for historical tracking
*/
private recordComplianceTrend;
/**
* Get numeric score from compliance union type
*/
private getComplianceScore;
/**
* Get historical compliance trends
*/
private getHistoricalTrends;
/**
* Export report in different formats
*/
exportReport(report: DetailedComplianceReport, format?: 'json' | 'markdown' | 'html'): Promise<string>;
/**
* Generate markdown format report
*/
private generateMarkdownReport;
/**
* Generate HTML format report
*/
private generateHtmlReport;
}
//# sourceMappingURL=rls-compliance-validator.d.ts.map