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

     1  package http
     2  
     3  import (
     4  	"net/http"
     5  
     6  	"github.com/infraboard/mcube/http/request"
     7  	"github.com/infraboard/mcube/http/response"
     8  
     9  	"github.com/infraboard/keyauth/apps/user"
    10  	"github.com/infraboard/keyauth/apps/user/types"
    11  )
    12  
    13  // CreatePrimayAccount 创建主账号
    14  func (h *handler) CreatePrimayAccount(w http.ResponseWriter, r *http.Request) {
    15  
    16  	req := user.NewCreateUserRequest()
    17  	if err := request.GetDataFromRequest(r, req); err != nil {
    18  		response.Failed(w, err)
    19  		return
    20  	}
    21  
    22  	d, err := h.service.CreateAccount(r.Context(), req)
    23  	if err != nil {
    24  		response.Failed(w, err)
    25  		return
    26  	}
    27  	req.UserType = types.UserType_PRIMARY
    28  
    29  	response.Success(w, d)
    30  }
    31  
    32  // DestroyPrimaryAccount 注销账号
    33  func (h *handler) DestroyPrimaryAccount(w http.ResponseWriter, r *http.Request) {
    34  	_, err := h.service.DeleteAccount(
    35  		r.Context(),
    36  		nil,
    37  	)
    38  	if err != nil {
    39  		response.Failed(w, err)
    40  		return
    41  	}
    42  
    43  	response.Success(w, "delete ok")
    44  }