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" zlc "simrs-vx/pkg/zerolog-ctx" /******************** sources ********************/ division "simrs-vx/internal/interface/main-handler/division" divisionposition "simrs-vx/internal/interface/main-handler/division-position" installation "simrs-vx/internal/interface/main-handler/installation" unit "simrs-vx/internal/interface/main-handler/unit" district "simrs-vx/internal/interface/main-handler/district" province "simrs-vx/internal/interface/main-handler/province" regency "simrs-vx/internal/interface/main-handler/regency" village "simrs-vx/internal/interface/main-handler/village" ///// 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(zlc.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) /******************** sources ********************/ hc.RegCrud(r, "/v1/division", division.O) hc.RegCrud(r, "/v1/division-position", divisionposition.O) hc.RegCrud(r, "/v1/installation", installation.O) hc.RegCrud(r, "/v1/unit", unit.O) hc.RegCrud(r, "/v1/village", village.O) hc.RegCrud(r, "/v1/district", district.O) hc.RegCrud(r, "/v1/regency", regency.O) hc.RegCrud(r, "/v1/province", province.O) ///// return cmw.SetCors(handlerlogger.SetLog(r)) }