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