authorizer/server/db/providers/surrealdb/provider.go

43 lines
986 B
Go
Raw Permalink Normal View History

2022-11-24 13:38:17 +00:00
package surrealdb
import (
"github.com/authorizerdev/authorizer/server/db/models"
"github.com/authorizerdev/authorizer/server/memorystore"
"github.com/surrealdb/surrealdb.go"
2022-11-24 13:38:17 +00:00
)
// TODO change following provider to new db provider
type provider struct {
db *surrealdb.DB
2022-11-24 13:38:17 +00:00
}
// NewProvider returns a new SQL provider
// TODO change following provider to new db provider
func NewProvider() (*provider, error) {
dbURL := memorystore.RequiredEnvStoreObj.GetRequiredEnv().DatabaseURL
db, err := surrealdb.New(dbURL)
if err != nil {
return nil, err
}
dbUsername := memorystore.RequiredEnvStoreObj.GetRequiredEnv().DatabaseUsername
dbPassword := memorystore.RequiredEnvStoreObj.GetRequiredEnv().DatabasePassword
_, err = db.Signin(map[string]interface{}{
"user": dbUsername,
"pass": dbPassword,
})
if err != nil {
return nil, err
}
_, err = db.Use(models.DBNamespace, models.DBNamespace)
if err != nil {
return nil, err
}
2022-11-24 13:38:17 +00:00
return &provider{
db: db,
2022-11-24 13:38:17 +00:00
}, nil
}