readysite / hosting / models / db.go
684 B
db.go
package models

import (
	"github.com/readysite/readysite/pkg/database"
	"github.com/readysite/readysite/pkg/database/engines"
)

var (
	// DB is the database connection for the hosting platform.
	DB = engines.NewAuto()

	// Users is the collection for User entities.
	Users = database.Manage(DB, new(User),
		database.WithUniqueIndex[User]("Email"),
	)

	// Sites is the collection for Site entities.
	Sites = database.Manage(DB, new(Site),
		database.WithIndex[Site]("UserID"),
	)

	// AuthTokens is the collection for AuthToken entities.
	AuthTokens = database.Manage(DB, new(AuthToken),
		database.WithIndex[AuthToken]("Email"),
		database.WithIndex[AuthToken]("TokenHash"),
	)
)
← Back