package system import ( "kra/internal/config" "github.com/google/wire" "gorm.io/gorm" ) // Provider exposes the shared data infrastructure needed by system // repositories without coupling this module to the parent data package. type Provider interface { DB() *gorm.DB Database(name string) (*gorm.DB, error) DatabaseReady() bool Runtime() *config.Store } // ProviderSet wires system repositories and their runtime-backed adapters. var ProviderSet = wire.NewSet( NewRuntimeSettings, NewTokenIssuer, NewUserRepo, NewAuthorityAccessRepo, NewAPIRepo, NewPermissionRepo, NewMenuRepo, NewDepartmentRepo, NewPositionRepo, NewDictionaryRepo, NewParameterRepo, NewAPITokenRepo, NewSecurityRepo, NewVersionRepo, NewExportRepo, NewAuditRepo, NewAuditRecorderRepo, NewLogFileRepo, NewMediaRepo, NewAnnouncementRepo, NewMaintenanceRepo, )