Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ConnStrGen saas.ConnStrGenerator
View Source
var ConnStrResolver data.ConnStrResolver
View Source
var DbProvider sgorm.DbProvider
View Source
var EnsureDbExist = func(s string) error { dbname, err := utils.ParseDBNameFromPostgresDSN(s) if err != nil { return err } noDbDsn, err := utils.RemoveDBNameFromPostgresDSN(s) if err != nil { return err } db, err := sql.Open("pgx", noDbDsn) if err != nil { return err } var exists bool err = db.QueryRowContext(context.Background(), "SELECT EXISTS(SELECT 1 FROM pg_database WHERE datname = $1)", dbname).Scan(&exists) if err != nil { return err } if !exists { _, err := db.ExecContext(context.Background(), fmt.Sprintf("CREATE DATABASE \"%s\"", dbname)) if err != nil { return err } } return db.Close() }
Functions ¶
func InitConnStrGenerator ¶
func InitConnStrGenerator(sharedDsn string)
func InitConnStrResolver ¶
func InitConnStrResolver(sharedDsn string)
func InitDbProvider ¶
func InitDbProvider()
func NewClientProvider ¶
func NewClientProvider() saas.ClientProvider[*gorm.DB]
Types ¶
type TenantStore ¶
type TenantStore struct {
DbProvider sgorm.DbProvider
}
var TenantStorage *TenantStore
func (*TenantStore) GetByNameOrId ¶
func (t *TenantStore) GetByNameOrId(ctx context.Context, nameOrId string) (*saas.TenantConfig, error)
Click to show internal directories.
Click to hide internal directories.