35 lines
911 B
Go
35 lines
911 B
Go
package turso
|
|
|
|
import (
|
|
"database/sql"
|
|
"log"
|
|
|
|
"trankilou.fr/lassistanoque/backend/internal/adapter/database/orm"
|
|
"trankilou.fr/lassistanoque/backend/internal/domain"
|
|
)
|
|
|
|
type TursoOIDCProviderRepository struct {
|
|
db *sql.DB
|
|
OIDCTable orm.Table[domain.OIDCProvider]
|
|
}
|
|
|
|
func NewTursoOIDCProviderRepository(db *sql.DB) *TursoOIDCProviderRepository {
|
|
dialect := orm.NewSqliteDialect()
|
|
oidcTable, err := orm.NewTable[domain.OIDCProvider](db, dialect, "oidc")
|
|
if err != nil {
|
|
log.Fatalf("error creating oidc provider table")
|
|
}
|
|
return &TursoOIDCProviderRepository{
|
|
db: db,
|
|
OIDCTable: oidcTable,
|
|
}
|
|
}
|
|
|
|
func (or *TursoOIDCProviderRepository) ListOIDCProviders() ([]*domain.OIDCProvider, error) {
|
|
return or.OIDCTable.Select(orm.WithOrder("label asc"))
|
|
}
|
|
|
|
func (or *TursoOIDCProviderRepository) FindOIDCProvider(id string) (*domain.OIDCProvider, error) {
|
|
return or.OIDCTable.Get(id)
|
|
}
|