github.com/infraboard/keyauth@v0.8.1/apps/namespace/http/namespace.go (about)

     1  package http
     2  
     3  import (
     4  	"net/http"
     5  
     6  	"github.com/infraboard/mcube/http/context"
     7  	"github.com/infraboard/mcube/http/request"
     8  	"github.com/infraboard/mcube/http/response"
     9  
    10  	"github.com/infraboard/keyauth/apps/namespace"
    11  	"github.com/infraboard/keyauth/apps/token"
    12  )
    13  
    14  func (h *handler) List(w http.ResponseWriter, r *http.Request) {
    15  	req := namespace.NewQueryNamespaceRequestFromHTTP(r)
    16  
    17  	apps, err := h.service.QueryNamespace(
    18  		r.Context(),
    19  		req,
    20  	)
    21  	if err != nil {
    22  		response.Failed(w, err)
    23  		return
    24  	}
    25  
    26  	response.Success(w, apps)
    27  }
    28  
    29  func (h *handler) ListSelfNamespace(w http.ResponseWriter, r *http.Request) {
    30  	ctx := context.GetContext(r)
    31  	tk := ctx.AuthInfo.(*token.Token)
    32  
    33  	req := namespace.NewQueryNamespaceRequestFromHTTP(r)
    34  	req.UpdateOwner(tk)
    35  
    36  	apps, err := h.service.QueryNamespace(
    37  		r.Context(),
    38  		req,
    39  	)
    40  	if err != nil {
    41  		response.Failed(w, err)
    42  		return
    43  	}
    44  
    45  	response.Success(w, apps)
    46  }
    47  
    48  // CreateApplication 创建主账号
    49  func (h *handler) Create(w http.ResponseWriter, r *http.Request) {
    50  	ctx := context.GetContext(r)
    51  	tk := ctx.AuthInfo.(*token.Token)
    52  
    53  	req := namespace.NewCreateNamespaceRequest()
    54  	if err := request.GetDataFromRequest(r, req); err != nil {
    55  		response.Failed(w, err)
    56  		return
    57  	}
    58  	req.UpdateOwner(tk)
    59  
    60  	d, err := h.service.CreateNamespace(
    61  		r.Context(),
    62  		req,
    63  	)
    64  	if err != nil {
    65  		response.Failed(w, err)
    66  		return
    67  	}
    68  
    69  	response.Success(w, d)
    70  }
    71  
    72  func (h *handler) Get(w http.ResponseWriter, r *http.Request) {
    73  	rctx := context.GetContext(r)
    74  
    75  	qs := r.URL.Query()
    76  	req := namespace.NewDescriptNamespaceRequest()
    77  	req.Id = rctx.PS.ByName("id")
    78  	req.WithDepartment = qs.Get("with_department") == "true"
    79  
    80  	d, err := h.service.DescribeNamespace(
    81  		r.Context(),
    82  		req,
    83  	)
    84  	if err != nil {
    85  		response.Failed(w, err)
    86  		return
    87  	}
    88  
    89  	response.Success(w, d)
    90  }
    91  
    92  func (h *handler) Delete(w http.ResponseWriter, r *http.Request) {
    93  	rctx := context.GetContext(r)
    94  	req := namespace.NewDeleteNamespaceRequestWithID(rctx.PS.ByName("id"))
    95  
    96  	_, err := h.service.DeleteNamespace(
    97  		r.Context(),
    98  		req,
    99  	)
   100  	if err != nil {
   101  		response.Failed(w, err)
   102  		return
   103  	}
   104  
   105  	response.Success(w, "delete ok")
   106  }