54 lines
1.7 KiB
Go
54 lines
1.7 KiB
Go
![]() |
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
|
||
|
}
|