supa-seed
Version:
A constraint-aware, framework-agnostic database seeding framework with deep PostgreSQL business logic discovery and MakerKit integration support
108 lines • 4.46 kB
TypeScript
/**
* MakerKit-Specific Constraint Handlers for Epic 1: Universal MakerKit Core System
* Advanced constraint resolution strategies for complex MakerKit relationship patterns
* Part of Task 1.5.2: Create MakerKit-specific constraint handlers
*/
import { ConstraintHandler, ConstraintHandlingResult, CheckConstraint, ForeignKeyConstraint, ConstraintType } from '../features/analysis/constraint-types';
/**
* Advanced MakerKit Cross-Table Constraint Handler
* Handles complex multi-table relationship constraints
*/
export declare class MakerKitCrossTableConstraintHandler implements ConstraintHandler {
id: string;
type: ConstraintType;
priority: number;
description: string;
canHandle(constraint: CheckConstraint, data: any): boolean;
handle(constraint: CheckConstraint, data: any): ConstraintHandlingResult;
private isAccountSubscriptionConstraint;
private isOrganizationMemberConstraint;
private isUserProfileConstraint;
private handleAccountSubscriptionDependency;
private handleOrganizationMemberCascade;
private handleUserProfileConsistency;
}
/**
* MakerKit Conditional Foreign Key Handler
* Handles nullable foreign keys with business logic conditions
*/
export declare class MakerKitConditionalForeignKeyHandler implements ConstraintHandler {
id: string;
type: ConstraintType;
priority: number;
description: string;
canHandle(constraint: ForeignKeyConstraint, data: any): boolean;
handle(constraint: ForeignKeyConstraint, data: any): ConstraintHandlingResult;
private isConditionalForeignKey;
private isOrganizationForeignKey;
private isHierarchicalForeignKey;
private isSubscriptionForeignKey;
private handleOrganizationForeignKey;
private handleHierarchicalForeignKey;
private handleSubscriptionForeignKey;
private generateOrganizationSlug;
}
/**
* MakerKit Hierarchical Constraint Handler
* Handles parent-child relationship constraints and circular dependency prevention
*/
export declare class MakerKitHierarchicalConstraintHandler implements ConstraintHandler {
id: string;
type: ConstraintType;
priority: number;
description: string;
canHandle(constraint: CheckConstraint, data: any): boolean;
handle(constraint: CheckConstraint, data: any): ConstraintHandlingResult;
private isCircularReference;
private isDeepHierarchy;
private isOrphanedRecord;
private handleCircularReference;
private handleDeepHierarchy;
private handleOrphanedRecord;
}
/**
* MakerKit Business Rule Constraint Handler
* Handles complex business logic constraints that span multiple conditions
*/
export declare class MakerKitBusinessRuleConstraintHandler implements ConstraintHandler {
id: string;
type: ConstraintType;
priority: number;
description: string;
canHandle(constraint: CheckConstraint, data: any): boolean;
handle(constraint: CheckConstraint, data: any): ConstraintHandlingResult;
private isComplexBusinessRule;
private isSubscriptionBillingRule;
private isOrganizationMembershipRule;
private isUserPermissionRule;
private handleSubscriptionBillingRule;
private handleOrganizationMembershipRule;
private handleUserPermissionRule;
}
/**
* MakerKit Cascade Constraint Handler
* Handles cascade operations and dependent data creation/updates
*/
export declare class MakerKitCascadeConstraintHandler implements ConstraintHandler {
id: string;
type: ConstraintType;
priority: number;
description: string;
canHandle(constraint: ForeignKeyConstraint, data: any): boolean;
handle(constraint: ForeignKeyConstraint, data: any): ConstraintHandlingResult;
private isOrganizationCascade;
private isUserCascade;
private isSubscriptionCascade;
private handleOrganizationCascade;
private handleUserCascade;
private handleSubscriptionCascade;
}
/**
* Registry of all MakerKit-specific constraint handlers
*/
export declare const MAKERKIT_CONSTRAINT_HANDLERS: (typeof MakerKitCrossTableConstraintHandler | typeof MakerKitConditionalForeignKeyHandler | typeof MakerKitHierarchicalConstraintHandler | typeof MakerKitBusinessRuleConstraintHandler | typeof MakerKitCascadeConstraintHandler)[];
/**
* Initialize and register all MakerKit-specific constraint handlers
*/
export declare function registerMakerKitConstraintHandlers(handlers: any): void;
//# sourceMappingURL=makerkit-constraint-handlers.d.ts.map