package handler import ( "net/http" /******************** main / transaction ********************/ auth "simrs-vx/internal/interface/main-handler/authentication" user "simrs-vx/internal/interface/main-handler/user" /******************** external ********************/ a "github.com/karincake/apem" hk "github.com/karincake/hongkue" /******************** infra ********************/ gs "simrs-vx/internal/infra/gorm-setting" ssdb "simrs-vx/internal/infra/ss-db" /******************** pkg ********************/ cmw "simrs-vx/pkg/cors-manager-mw" hc "simrs-vx/pkg/handler-crud-helper" lh "simrs-vx/pkg/lang-helper" handlerlogger "simrs-vx/pkg/middleware/handler-logger" ///// Internal "simrs-vx/internal/interface/main-handler/home" ) // One place route to relatively easier to manage, ESPECIALLY in tracking func SetRoutes() http.Handler { ///// a.RegisterExtCall(gs.Adjust) a.RegisterExtCall(ssdb.Init) a.RegisterExtCall(lh.Populate) r := http.NewServeMux() /******************** Main ********************/ r.HandleFunc("/", home.Home) r.HandleFunc("POST /v1/authentication/login", auth.Login) // r.HandleFunc("POST /v1/authentication/logout", auth.Logout) hk.Route("POST /v1/authentication/logout", r, auth.GuardMW, auth.Logout) hc.RegCrud(r, "/v1/user", user.O) ///// return cmw.SetCors(handlerlogger.SetLog(r)) }