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  }