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

59 lines
1.5 KiB
Go
Raw Normal View History

2022-10-09 18:54:14 +00:00
package couchbase
import (
"os"
"github.com/authorizerdev/authorizer/server/constants"
"github.com/authorizerdev/authorizer/server/memorystore"
"github.com/couchbase/gocb/v2"
)
// TODO change following provider to new db provider
type provider struct {
db *gocb.Bucket
}
// NewProvider returns a new SQL provider
// TODO change following provider to new db provider
func NewProvider() (*provider, error) {
2022-12-01 09:28:35 +00:00
// scopeName := os.Getenv(constants.EnvCouchbaseScope)
2022-10-09 18:54:14 +00:00
bucketName := os.Getenv(constants.EnvCouchbaseBucket)
dbURL := memorystore.RequiredEnvStoreObj.GetRequiredEnv().DatabaseURL
userName := memorystore.RequiredEnvStoreObj.GetRequiredEnv().DatabaseUsername
password := memorystore.RequiredEnvStoreObj.GetRequiredEnv().DatabasePassword
opts := gocb.ClusterOptions{
Username: userName,
Password: password,
}
cluster, err := gocb.Connect(dbURL, opts)
if err != nil {
return nil, err
}
bucket := cluster.Bucket(bucketName)
2022-12-01 09:28:35 +00:00
// v := reflect.ValueOf(models.Collections)
// fmt.Println("called in v", v)
// for i := 0; i < v.NumField(); i++ {
// field := v.Field(i)
// fmt.Println("called in v", field)
// user := gocb.CollectionSpec{
// Name: field.String(),
// ScopeName: scopeName,
// }
// collectionOpts := gocb.CreateCollectionOptions{
// Context: context.TODO(),
// }
// err = bucket.Collections().CreateCollection(user, &collectionOpts)
// fmt.Println("2 called in oprovuider", err)
2022-11-26 12:13:39 +00:00
2022-12-01 09:28:35 +00:00
// }
// fmt.Println("called in oprovuider")
2022-10-09 18:54:14 +00:00
return &provider{
db: bucket,
}, nil
}