21 lines
457 B
Go
21 lines
457 B
Go
// Package models defines the data models used by the chat application.
|
|
package models
|
|
|
|
import "database/sql"
|
|
|
|
// DB is the interface that models use to query relations.
|
|
// This avoids a circular import with the db package.
|
|
type DB interface {
|
|
GetDB() *sql.DB
|
|
}
|
|
|
|
// Base is embedded in all model structs to provide database access.
|
|
type Base struct {
|
|
db DB
|
|
}
|
|
|
|
// SetDB injects the database reference into a model.
|
|
func (b *Base) SetDB(d DB) {
|
|
b.db = d
|
|
}
|