github.com/infraboard/keyauth@v0.8.1/apps/session/http/login.go (about) 1 package http 2 3 import ( 4 "net/http" 5 6 "github.com/infraboard/mcube/exception" 7 "github.com/infraboard/mcube/http/context" 8 "github.com/infraboard/mcube/http/response" 9 10 "github.com/infraboard/keyauth/apps/session" 11 "github.com/infraboard/keyauth/apps/token" 12 ) 13 14 func (h *handler) List(w http.ResponseWriter, r *http.Request) { 15 ctx := context.GetContext(r) 16 tk := ctx.AuthInfo.(*token.Token) 17 18 req, err := session.NewQuerySessionRequestFromHTTP(r) 19 if err != nil { 20 response.Failed(w, exception.NewBadRequest("validate request error, %s", err)) 21 return 22 } 23 req.Domain = tk.Domain 24 25 set, err := h.service.QuerySession( 26 r.Context(), 27 req, 28 ) 29 if err != nil { 30 response.Failed(w, err) 31 return 32 } 33 response.Success(w, set) 34 } 35 36 func (h *handler) Get(w http.ResponseWriter, r *http.Request) { 37 rctx := context.GetContext(r) 38 req := session.NewDescribeSessionRequestWithID(rctx.PS.ByName("id")) 39 40 set, err := h.service.DescribeSession( 41 r.Context(), 42 req, 43 ) 44 if err != nil { 45 response.Failed(w, err) 46 return 47 } 48 response.Success(w, set) 49 }