Files
authorizer/server/db/db.go

45 lines
1.2 KiB
Go
Raw Normal View History

2021-07-12 23:52:16 +05:30
package db
import (
2021-07-23 21:57:44 +05:30
"github.com/authorizerdev/authorizer/server/constants"
2022-01-21 12:18:07 +05:30
"github.com/authorizerdev/authorizer/server/db/providers"
"github.com/authorizerdev/authorizer/server/db/providers/arangodb"
"github.com/authorizerdev/authorizer/server/db/providers/mongodb"
"github.com/authorizerdev/authorizer/server/db/providers/sql"
2022-01-17 11:32:13 +05:30
"github.com/authorizerdev/authorizer/server/envstore"
2021-07-12 23:52:16 +05:30
)
2022-01-21 13:34:04 +05:30
// Provider returns the current database provider
var Provider providers.Provider
2021-07-12 23:52:16 +05:30
2022-02-26 10:06:26 +05:30
func InitDB() error {
2021-07-12 23:52:16 +05:30
var err error
2022-02-28 07:55:01 +05:30
isSQL := envstore.EnvStoreObj.GetStringStoreEnvVariable(constants.EnvKeyDatabaseType) != constants.DbTypeArangodb && envstore.EnvStoreObj.GetStringStoreEnvVariable(constants.EnvKeyDatabaseType) != constants.DbTypeMongodb
isArangoDB := envstore.EnvStoreObj.GetStringStoreEnvVariable(constants.EnvKeyDatabaseType) == constants.DbTypeArangodb
isMongoDB := envstore.EnvStoreObj.GetStringStoreEnvVariable(constants.EnvKeyDatabaseType) == constants.DbTypeMongodb
2021-07-12 23:52:16 +05:30
2022-01-21 13:34:04 +05:30
if isSQL {
2022-01-21 12:18:07 +05:30
Provider, err = sql.NewProvider()
if err != nil {
2022-02-26 10:06:26 +05:30
return err
2022-01-21 12:18:07 +05:30
}
}
2022-01-21 13:34:04 +05:30
if isArangoDB {
2022-01-21 12:18:07 +05:30
Provider, err = arangodb.NewProvider()
if err != nil {
2022-02-26 10:06:26 +05:30
return err
2022-01-21 12:18:07 +05:30
}
}
2022-01-21 13:34:04 +05:30
if isMongoDB {
2022-01-21 12:18:07 +05:30
Provider, err = mongodb.NewProvider()
if err != nil {
2022-02-26 10:06:26 +05:30
return err
}
}
2022-02-26 10:06:26 +05:30
return nil
2021-07-12 23:52:16 +05:30
}