package user import ( "context" "net/http" "git.diulo.com/mogfee/kit/rest" "git.diulo.com/mogfee/kit/rest/httpx" "git.diulo.com/mogfee/kit/middleware/jwt" ) func RegisterUserHTTPServer(server *rest.Server, srv UserServer) { server.AddRoutes([]rest.Route{ { Method: "GET", Path: "/api/v1/user/list", Handler: UserListHandler(srv), }, { Method: "GET", Path: "/api/v1/user/all", Handler: UserAllHandler(srv), }, { Method: "GET", Path: "/api/v1/user/auto", Handler: UserAutoHandler(srv), }, { Method: "GET", Path: "/api/v1/user/login_list", Handler: UserLoginWithListHandler(srv), }, { Method: "GET", Path: "/api/v1/user/login", Handler: UserLoginHandler(srv), }, { Method: "POST", Path: "/api/v1/user/login1", Handler: UserLogin1Handler(srv), }, }) } // /api/v1/user/list func UserListHandler(srv UserServer) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { var ctx = r.Context() ctx = jwt.SetAuthKeyContext(ctx, "user:list") ctx = jwt.SetNeedAuthContext(ctx, true) var req Request if err := httpx.Parse(r, &req); err != nil { httpx.ErrorCtx(ctx, w, err) return } resp, err := srv.List(ctx, &req) if err != nil { httpx.ErrorCtx(ctx, w, err) } else { httpx.OkJsonCtx(ctx, w, resp) } } } // /api/v1/user/all func UserAllHandler(srv UserServer) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { var ctx = r.Context() ctx = jwt.SetNeedAuthContext(ctx, true) var req Request if err := httpx.Parse(r, &req); err != nil { httpx.ErrorCtx(ctx, w, err) return } resp, err := srv.All(ctx, &req) if err != nil { httpx.ErrorCtx(ctx, w, err) } else { httpx.OkJsonCtx(ctx, w, resp) } } } // /api/v1/user/auto func UserAutoHandler(srv UserServer) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { var ctx = r.Context() var req Request if err := httpx.Parse(r, &req); err != nil { httpx.ErrorCtx(ctx, w, err) return } resp, err := srv.Auto(ctx, &req) if err != nil { httpx.ErrorCtx(ctx, w, err) } else { httpx.OkJsonCtx(ctx, w, resp) } } } // /api/v1/user/login_list func UserLoginWithListHandler(srv UserServer) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { var ctx = r.Context() var req Request if err := httpx.Parse(r, &req); err != nil { httpx.ErrorCtx(ctx, w, err) return } resp, err := srv.LoginWithList(ctx, &req) if err != nil { httpx.ErrorCtx(ctx, w, err) } else { httpx.OkJsonCtx(ctx, w, resp) } } } // /api/v1/user/login func UserLoginHandler(srv UserServer) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { var ctx = r.Context() var req Request if err := httpx.Parse(r, &req); err != nil { httpx.ErrorCtx(ctx, w, err) return } resp, err := srv.Login(ctx, &req) if err != nil { httpx.ErrorCtx(ctx, w, err) } else { httpx.OkJsonCtx(ctx, w, resp) } } } // /api/v1/user/login1 func UserLogin1Handler(srv UserServer) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { var ctx = r.Context() var req Request if err := httpx.Parse(r, &req); err != nil { httpx.ErrorCtx(ctx, w, err) return } resp, err := srv.Login1(ctx, &req) if err != nil { httpx.ErrorCtx(ctx, w, err) } else { httpx.OkJsonCtx(ctx, w, resp) } } }