2021-07-08 12:15:19 +00:00
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
2021-12-23 05:01:52 +00:00
|
|
|
"flag"
|
|
|
|
|
2021-12-22 05:21:12 +00:00
|
|
|
"github.com/authorizerdev/authorizer/server/constants"
|
2021-07-28 06:23:37 +00:00
|
|
|
"github.com/authorizerdev/authorizer/server/db"
|
2021-12-20 12:03:11 +00:00
|
|
|
"github.com/authorizerdev/authorizer/server/env"
|
2021-07-23 16:27:44 +00:00
|
|
|
"github.com/authorizerdev/authorizer/server/handlers"
|
|
|
|
"github.com/authorizerdev/authorizer/server/oauth"
|
2021-12-22 10:01:45 +00:00
|
|
|
"github.com/authorizerdev/authorizer/server/router"
|
2021-07-28 06:23:37 +00:00
|
|
|
"github.com/authorizerdev/authorizer/server/session"
|
2021-09-20 05:06:26 +00:00
|
|
|
"github.com/authorizerdev/authorizer/server/utils"
|
2021-07-08 12:15:19 +00:00
|
|
|
)
|
|
|
|
|
2021-12-24 12:17:35 +00:00
|
|
|
var VERSION string
|
|
|
|
|
2021-07-14 18:43:19 +00:00
|
|
|
func main() {
|
2021-12-23 05:01:52 +00:00
|
|
|
env.ARG_DB_URL = flag.String("database_url", "", "Database connection string")
|
|
|
|
env.ARG_DB_TYPE = flag.String("database_type", "", "Database type, possible values are postgres,mysql,sqlite")
|
|
|
|
env.ARG_AUTHORIZER_URL = flag.String("authorizer_url", "", "URL for authorizer instance, eg: https://xyz.herokuapp.com")
|
|
|
|
env.ARG_ENV_FILE = flag.String("env_file", "", "Env file path")
|
|
|
|
flag.Parse()
|
|
|
|
|
2021-12-31 08:22:10 +00:00
|
|
|
constants.EnvData.VERSION = VERSION
|
2021-12-24 12:17:35 +00:00
|
|
|
|
2021-12-20 12:03:11 +00:00
|
|
|
env.InitEnv()
|
2021-07-28 06:23:37 +00:00
|
|
|
db.InitDB()
|
2021-12-31 08:22:10 +00:00
|
|
|
env.PersistEnv()
|
|
|
|
|
2021-07-28 06:23:37 +00:00
|
|
|
session.InitSession()
|
2021-07-28 11:08:55 +00:00
|
|
|
oauth.InitOAuth()
|
2021-09-20 05:06:26 +00:00
|
|
|
utils.InitServer()
|
2021-07-28 06:23:37 +00:00
|
|
|
|
2021-12-22 10:01:45 +00:00
|
|
|
router := router.InitRouter()
|
2021-08-04 06:48:57 +00:00
|
|
|
|
2021-12-29 06:26:19 +00:00
|
|
|
router.LoadHTMLGlob("templates/*")
|
2021-12-29 00:11:39 +00:00
|
|
|
// login page app related routes.
|
2021-12-23 05:01:52 +00:00
|
|
|
// if we put them in router file then tests would fail as templates or build path will be different
|
2021-12-31 08:22:10 +00:00
|
|
|
if !constants.EnvData.DISABLE_LOGIN_PAGE {
|
2021-12-29 00:11:39 +00:00
|
|
|
app := router.Group("/app")
|
|
|
|
{
|
|
|
|
app.Static("/build", "app/build")
|
|
|
|
app.GET("/", handlers.AppHandler())
|
|
|
|
app.GET("/reset-password", handlers.AppHandler())
|
|
|
|
}
|
2021-08-04 10:25:13 +00:00
|
|
|
}
|
2021-12-29 00:11:39 +00:00
|
|
|
|
2021-12-29 06:26:19 +00:00
|
|
|
app := router.Group("/dashboard")
|
|
|
|
{
|
|
|
|
app.Static("/build", "dashboard/build")
|
|
|
|
app.GET("/", handlers.DashboardHandler())
|
|
|
|
}
|
|
|
|
|
2021-12-31 08:22:10 +00:00
|
|
|
router.Run(":" + constants.EnvData.PORT)
|
2021-07-08 12:15:19 +00:00
|
|
|
}
|