Files
relspecgo/pkg/readers/reader.go
2026-04-30 20:22:57 +02:00

34 lines
978 B
Go

package readers
import (
"git.warky.dev/wdevs/relspecgo/pkg/models"
)
// Reader defines the interface for reading database specifications
// from various input formats at different granularity levels
type Reader interface {
// ReadDatabase reads and parses the input, returning a Database model
ReadDatabase() (*models.Database, error)
// ReadSchema reads and parses the input, returning a Schema model
ReadSchema() (*models.Schema, error)
// ReadTable reads and parses the input, returning a Table model
ReadTable() (*models.Table, error)
}
// ReaderOptions contains common options for readers
type ReaderOptions struct {
// FilePath is the path to the input file (if applicable)
FilePath string
// ConnectionString is the database connection string (for DB readers)
ConnectionString string
// Prisma7 enables Prisma 7-specific handling for Prisma schemas.
Prisma7 bool
// Additional options can be added here as needed
Metadata map[string]interface{}
}