mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-09-29 22:06:38 +08:00
21 lines
596 B
Go
21 lines
596 B
Go
// Package contracts defines unified service interfaces and DTOs for cross-plugin communication.
|
|
package contracts
|
|
|
|
import (
|
|
"context"
|
|
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
// DBService defines the standard contract for relational database access and multi-datasource routing.
|
|
type DBService interface {
|
|
// GORM returns the underlying GORM database instance.
|
|
GORM() *gorm.DB
|
|
|
|
// DB returns the GORM database instance bound to the given context.
|
|
DB(ctx context.Context) *gorm.DB
|
|
|
|
// Named returns a named database connection if multiple data sources or replicas are configured.
|
|
Named(name string) *gorm.DB
|
|
}
|