UNPKG

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
/** * 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