provider: dynamo-db support added
This commit is contained in:
53
server/db/providers/dynamodb/provider.go
Normal file
53
server/db/providers/dynamodb/provider.go
Normal file
@@ -0,0 +1,53 @@
|
||||
package dynamodb
|
||||
|
||||
import (
|
||||
"github.com/authorizerdev/authorizer/server/db/models"
|
||||
"github.com/aws/aws-sdk-go/aws"
|
||||
"github.com/aws/aws-sdk-go/aws/session"
|
||||
"github.com/guregu/dynamo"
|
||||
)
|
||||
|
||||
// TODO change following provider to new db provider
|
||||
type provider struct {
|
||||
db *dynamo.DB
|
||||
}
|
||||
|
||||
// NewProvider returns a new SQL provider
|
||||
// TODO change following provider to new db provider
|
||||
func NewProvider() (*provider, error) {
|
||||
config := aws.Config{
|
||||
Endpoint: aws.String("http://localhost:8000"),
|
||||
Region: aws.String("us-east-1"),
|
||||
}
|
||||
session := session.Must(session.NewSession())
|
||||
db := dynamo.New(session, &config)
|
||||
|
||||
if err := db.CreateTable(models.Collections.User, models.User{}).Wait(); err != nil {
|
||||
// fmt.Println(" User", err)
|
||||
}
|
||||
if err := db.CreateTable(models.Collections.Session, models.Session{}).Wait(); err != nil {
|
||||
// fmt.Println("Session error", err)
|
||||
}
|
||||
if err := db.CreateTable(models.Collections.EmailTemplate, models.EmailTemplate{}).Wait(); err != nil {
|
||||
// fmt.Println(" EmailTemplate", err)
|
||||
}
|
||||
if err := db.CreateTable(models.Collections.Env, models.Env{}).Wait(); err != nil {
|
||||
// fmt.Println(" Env", err)
|
||||
}
|
||||
if err := db.CreateTable(models.Collections.OTP, models.OTP{}).Wait(); err != nil {
|
||||
// fmt.Println(" OTP", err)
|
||||
}
|
||||
if err := db.CreateTable(models.Collections.VerificationRequest, models.VerificationRequest{}).Wait(); err != nil {
|
||||
// fmt.Println(" VerificationRequest", err)
|
||||
}
|
||||
if err := db.CreateTable(models.Collections.Webhook, models.Webhook{}).Wait(); err != nil {
|
||||
// fmt.Println(" Webhook", err)
|
||||
}
|
||||
if err := db.CreateTable(models.Collections.WebhookLog, models.WebhookLog{}).Wait(); err != nil {
|
||||
// fmt.Println(" WebhookLog", err)
|
||||
}
|
||||
|
||||
return &provider{
|
||||
db: db,
|
||||
}, nil
|
||||
}
|
Reference in New Issue
Block a user