59 lines
1.1 KiB
Go
59 lines
1.1 KiB
Go
package main
|
|
|
|
import (
|
|
"db_service/controllers"
|
|
helper "db_service/pkg"
|
|
"github.com/gorilla/mux"
|
|
"github.com/joho/godotenv"
|
|
"github.com/leesper/couchdb-golang"
|
|
"log"
|
|
"net/http"
|
|
"os"
|
|
)
|
|
|
|
func init() {
|
|
// logging setup
|
|
helper.Setup()
|
|
|
|
log.Println("init function")
|
|
|
|
// init .env
|
|
err := godotenv.Load()
|
|
if err != nil {
|
|
log.Fatal(err.Error())
|
|
}
|
|
// initialize couch db
|
|
err = InitCouchDbServer()
|
|
}
|
|
|
|
func InitCouchDbServer() error {
|
|
var err error
|
|
|
|
helper.CdbServer, err = couchdb.NewServer(os.Getenv("couch_db_source"))
|
|
if err != nil {
|
|
helper.Error(err.Error())
|
|
return err
|
|
}
|
|
version, err := helper.CdbServer.Version()
|
|
if err != nil {
|
|
helper.Error("couchdb not initialized. ", err.Error())
|
|
return err
|
|
}
|
|
helper.Info("couchdb running with version " + version)
|
|
return nil
|
|
}
|
|
|
|
func main() {
|
|
|
|
route := mux.NewRouter()
|
|
//route.HandleFunc("/init-importer", controller.StartImport)
|
|
route.HandleFunc("/init-importer", controller.StartProductImport)
|
|
route.HandleFunc("/parse-link", controller.ParseLink)
|
|
err := http.ListenAndServe(os.Getenv("port"), route)
|
|
|
|
if err != nil {
|
|
log.Fatal("error: ", err)
|
|
}
|
|
|
|
}
|