Skip to content

Instantly share code, notes, and snippets.

@dcaponi
Created August 11, 2021 19:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dcaponi/4ec86ed1fe960f9923a82f7aa013cc6e to your computer and use it in GitHub Desktop.
Save dcaponi/4ec86ed1fe960f9923a82f7aa013cc6e to your computer and use it in GitHub Desktop.
pw_less main.go
package main
import (
"fmt"
"log"
"net/http"
"os"
"github.com/onelogin/onelogin-go-sdk/pkg/client"
"github.com/dcaponi/pw_less/cache"
"github.com/dcaponi/pw_less/email"
"github.com/dcaponi/pw_less/user"
)
func main() {
// initialize redis connection
cache, err := cache.NewRedisCache(cache.RedisCacheConfig{
Addr: os.Getenv("REDIS_ADDR"),
Password: os.Getenv("REDIS_PASSWORD"),
DB: 0,
})
if err != nil {
log.Fatalln("failed to establish cache connection!", err)
}
// initialize email settings
gmailer := email.SimpleEmailer{
From: os.Getenv("EMAIL_FROM"),
Password: os.Getenv("EMAIL_PASSWORD"),
Host: os.Getenv("EMAIL_HOST"),
Port: os.Getenv("EMAIL_PORT"),
}
// initialize onelogin api auth
oneloginClient, err := client.NewClient(&client.APIClientConfig{
Timeout: client.DefaultTimeout,
ClientID: os.Getenv("ONELOGIN_CLIENT_ID"),
ClientSecret: os.Getenv("ONELOGIN_CLIENT_SECRET"),
Region: os.Getenv("ONELOGIN_CLIENT_REGION"),
})
if err != nil {
log.Fatalln("failed to establish onelogin connection!", err)
}
// add user routes handler
user.NewHandler(user.NewController(user.NewRepo(*oneloginClient), cache, gmailer))
// start the app
err = http.ListenAndServe(fmt.Sprintf(":%s", os.Getenv("PORT")), nil)
if err != nil {
log.Fatalln("unable to start server!", err)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment