fix: (rbac) handle error
This commit is contained in:
parent
f95a336098
commit
598c655a44
|
@ -4,11 +4,11 @@ import (
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
var UserRead = []string{"system.user:read"}
|
const UserRead = "system.user:read"
|
||||||
var UserAll = []string{"system.user:all"}
|
const UserAll = "system.user:all"
|
||||||
|
|
||||||
var RoleRead = []string{"system.role:read"}
|
const RoleRead = "system.role:read"
|
||||||
var RoleAll = []string{"system.role:all"}
|
const RoleAll = "system.role:all"
|
||||||
|
|
||||||
var RuleRead = []string{"rule::read"}
|
var RuleRead = []string{"rule::read"}
|
||||||
var RuleAll = []string{"rule::read", "rule::write"}
|
var RuleAll = []string{"rule::read", "rule::write"}
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package biz
|
package biz
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"infini.sh/console/internal/biz/enum"
|
"infini.sh/console/internal/biz/enum"
|
||||||
"infini.sh/console/model/rbac"
|
"infini.sh/console/model/rbac"
|
||||||
|
@ -26,7 +27,7 @@ type IRole interface {
|
||||||
}
|
}
|
||||||
type ConsoleRole struct {
|
type ConsoleRole struct {
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
Description string `json:"description" `
|
Description string `json:"description"`
|
||||||
RoleType string `json:"type" `
|
RoleType string `json:"type" `
|
||||||
Platform []string `json:"platform,omitempty"`
|
Platform []string `json:"platform,omitempty"`
|
||||||
}
|
}
|
||||||
|
@ -135,6 +136,10 @@ func (role ElasticsearchRole) Update(localUser *User, model rbac.Role) (err erro
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
func (role ConsoleRole) Create(localUser *User) (id string, err error) {
|
func (role ConsoleRole) Create(localUser *User) (id string, err error) {
|
||||||
|
if role.Name == "" {
|
||||||
|
err = errors.New("role name is require")
|
||||||
|
return
|
||||||
|
}
|
||||||
if _, ok := enum.BuildRoles[role.Name]; ok {
|
if _, ok := enum.BuildRoles[role.Name]; ok {
|
||||||
err = fmt.Errorf("role name %s already exists", role.Name)
|
err = fmt.Errorf("role name %s already exists", role.Name)
|
||||||
return
|
return
|
||||||
|
@ -196,7 +201,10 @@ func (role ConsoleRole) Create(localUser *User) (id string, err error) {
|
||||||
|
|
||||||
}
|
}
|
||||||
func (role ElasticsearchRole) Create(localUser *User) (id string, err error) {
|
func (role ElasticsearchRole) Create(localUser *User) (id string, err error) {
|
||||||
|
if role.Name == "" {
|
||||||
|
err = errors.New("role name is require")
|
||||||
|
return
|
||||||
|
}
|
||||||
if _, ok := enum.BuildRoles[role.Name]; ok {
|
if _, ok := enum.BuildRoles[role.Name]; ok {
|
||||||
err = fmt.Errorf("role name %s already exists", role.Name)
|
err = fmt.Errorf("role name %s already exists", role.Name)
|
||||||
return
|
return
|
||||||
|
|
|
@ -16,13 +16,13 @@ type ElasticsearchPermission struct {
|
||||||
IndexPrivilege []string `json:"index_privilege" `
|
IndexPrivilege []string `json:"index_privilege" `
|
||||||
}
|
}
|
||||||
type CreateUser struct {
|
type CreateUser struct {
|
||||||
Username string `json:"username"`
|
Username string `json:"username"`
|
||||||
Password string `json:"password"`
|
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
Email string `json:"email"`
|
Email string `json:"email"`
|
||||||
Phone string `json:"phone"`
|
Phone string `json:"phone"`
|
||||||
Roles []Role `json:"roles"`
|
Roles []Role `json:"roles"`
|
||||||
Tags []string `json:"tags"`
|
Tags []string `json:"tags"`
|
||||||
}
|
}
|
||||||
type Role struct {
|
type Role struct {
|
||||||
Id string `json:"id"`
|
Id string `json:"id"`
|
||||||
|
|
|
@ -22,39 +22,39 @@ func LoginRequired(h httprouter.Handle) httprouter.Handle {
|
||||||
func IndexRequired(h httprouter.Handle, route ...string) httprouter.Handle {
|
func IndexRequired(h httprouter.Handle, route ...string) httprouter.Handle {
|
||||||
|
|
||||||
return func(w http.ResponseWriter, r *http.Request, ps httprouter.Params) {
|
return func(w http.ResponseWriter, r *http.Request, ps httprouter.Params) {
|
||||||
//claims, err := biz.ValidateLogin(r.Header.Get("Authorization"))
|
claims, err := biz.ValidateLogin(r.Header.Get("Authorization"))
|
||||||
//if err != nil {
|
if err != nil {
|
||||||
// w = handleError(w, http.StatusUnauthorized, err)
|
w = handleError(w, http.StatusUnauthorized, err)
|
||||||
// return
|
return
|
||||||
//}
|
}
|
||||||
//newRole := biz.CombineUserRoles(claims.Roles)
|
newRole := biz.CombineUserRoles(claims.Roles)
|
||||||
//
|
|
||||||
//indexReq := biz.NewIndexRequest(ps, route)
|
indexReq := biz.NewIndexRequest(ps, route)
|
||||||
//
|
|
||||||
//err = biz.ValidateIndex(indexReq, newRole)
|
err = biz.ValidateIndex(indexReq, newRole)
|
||||||
//if err != nil {
|
if err != nil {
|
||||||
// w = handleError(w, http.StatusForbidden, err)
|
w = handleError(w, http.StatusForbidden, err)
|
||||||
// return
|
return
|
||||||
//}
|
}
|
||||||
h(w, r, ps)
|
h(w, r, ps)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
func ClusterRequired(h httprouter.Handle, route ...string) httprouter.Handle {
|
func ClusterRequired(h httprouter.Handle, route ...string) httprouter.Handle {
|
||||||
|
|
||||||
return func(w http.ResponseWriter, r *http.Request, ps httprouter.Params) {
|
return func(w http.ResponseWriter, r *http.Request, ps httprouter.Params) {
|
||||||
//claims, err := biz.ValidateLogin(r.Header.Get("Authorization"))
|
claims, err := biz.ValidateLogin(r.Header.Get("Authorization"))
|
||||||
//if err != nil {
|
if err != nil {
|
||||||
// w = handleError(w, http.StatusUnauthorized, err)
|
w = handleError(w, http.StatusUnauthorized, err)
|
||||||
// return
|
return
|
||||||
//}
|
}
|
||||||
//newRole := biz.CombineUserRoles(claims.Roles)
|
newRole := biz.CombineUserRoles(claims.Roles)
|
||||||
//clusterReq := biz.NewClusterRequest(ps, route)
|
clusterReq := biz.NewClusterRequest(ps, route)
|
||||||
//
|
|
||||||
//err = biz.ValidateCluster(clusterReq, newRole)
|
err = biz.ValidateCluster(clusterReq, newRole)
|
||||||
//if err != nil {
|
if err != nil {
|
||||||
// w = handleError(w, http.StatusForbidden, err)
|
w = handleError(w, http.StatusForbidden, err)
|
||||||
// return
|
return
|
||||||
//}
|
}
|
||||||
h(w, r, ps)
|
h(w, r, ps)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,13 +33,13 @@ func (h Account) Login(w http.ResponseWriter, r *http.Request, ps httprouter.Par
|
||||||
var req dto.Login
|
var req dto.Login
|
||||||
err := h.DecodeJSON(r, &req)
|
err := h.DecodeJSON(r, &req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
h.Error(w, err)
|
h.ErrorInternalServer(w, err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
data, err := biz.Login(req.Username, req.Password)
|
data, err := biz.Login(req.Username, req.Password)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
h.Error(w, err)
|
h.ErrorInternalServer(w, err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
data["status"] = "ok"
|
data["status"] = "ok"
|
||||||
|
@ -100,7 +100,7 @@ func (h Account) Logout(w http.ResponseWriter, r *http.Request, ps httprouter.Pa
|
||||||
func (h Account) Profile(w http.ResponseWriter, r *http.Request, ps httprouter.Params) {
|
func (h Account) Profile(w http.ResponseWriter, r *http.Request, ps httprouter.Params) {
|
||||||
reqUser, err := biz.FromUserContext(r.Context())
|
reqUser, err := biz.FromUserContext(r.Context())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
h.Error(w, err)
|
h.ErrorInternalServer(w, err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -116,7 +116,7 @@ func (h Account) Profile(w http.ResponseWriter, r *http.Request, ps httprouter.P
|
||||||
} else {
|
} else {
|
||||||
user, err := biz.GetUser(reqUser.UserId)
|
user, err := biz.GetUser(reqUser.UserId)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
h.Error(w, err)
|
h.ErrorInternalServer(w, err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
u := util.MapStr{
|
u := util.MapStr{
|
||||||
|
@ -133,18 +133,18 @@ func (h Account) Profile(w http.ResponseWriter, r *http.Request, ps httprouter.P
|
||||||
func (h Account) UpdatePassword(w http.ResponseWriter, r *http.Request, ps httprouter.Params) {
|
func (h Account) UpdatePassword(w http.ResponseWriter, r *http.Request, ps httprouter.Params) {
|
||||||
reqUser, err := biz.FromUserContext(r.Context())
|
reqUser, err := biz.FromUserContext(r.Context())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
h.Error(w, err)
|
h.ErrorInternalServer(w, err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
var req dto.UpdatePassword
|
var req dto.UpdatePassword
|
||||||
err = h.DecodeJSON(r, &req)
|
err = h.DecodeJSON(r, &req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
h.Error(w, err)
|
h.ErrorInternalServer(w, err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
err = biz.UpdatePassword(reqUser, req)
|
err = biz.UpdatePassword(reqUser, req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
h.Error(w, err)
|
h.ErrorInternalServer(w, err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
h.WriteOKJSON(w, util.MapStr{
|
h.WriteOKJSON(w, util.MapStr{
|
||||||
|
|
|
@ -25,9 +25,9 @@ func Init(cfg *config.AppConfig) {
|
||||||
api.HandleAPIMethod(api.DELETE, path.Join(pathPrefix, "dict/:id"), handler.DeleteDictItemAction)
|
api.HandleAPIMethod(api.DELETE, path.Join(pathPrefix, "dict/:id"), handler.DeleteDictItemAction)
|
||||||
api.HandleAPIMethod(api.PUT, path.Join(pathPrefix, "dict/:id"), handler.UpdateDictItemAction)
|
api.HandleAPIMethod(api.PUT, path.Join(pathPrefix, "dict/:id"), handler.UpdateDictItemAction)
|
||||||
|
|
||||||
api.HandleAPIMethod(api.POST, path.Join(esPrefix, "doc/:index/_search"), handler.HandleSearchDocumentAction)
|
api.HandleAPIMethod(api.POST, path.Join(esPrefix, "doc/:index/_search"), m.IndexRequired(handler.HandleSearchDocumentAction, "doc.search"))
|
||||||
api.HandleAPIMethod(api.POST, path.Join(esPrefix, "doc/:index"), handler.HandleAddDocumentAction)
|
api.HandleAPIMethod(api.POST, path.Join(esPrefix, "doc/:index"), m.IndexRequired(handler.HandleAddDocumentAction, "doc.create"))
|
||||||
api.HandleAPIMethod(api.PUT, path.Join(esPrefix, "doc/:index/:docId"), handler.HandleUpdateDocumentAction)
|
api.HandleAPIMethod(api.PUT, path.Join(esPrefix, "doc/:index/:docId"), m.IndexRequired(handler.HandleUpdateDocumentAction, "doc.create"))
|
||||||
api.HandleAPIMethod(api.DELETE, path.Join(esPrefix, "doc/:index/:docId"), m.ClusterRequired(handler.HandleDeleteDocumentAction, "doc.delete"))
|
api.HandleAPIMethod(api.DELETE, path.Join(esPrefix, "doc/:index/:docId"), m.ClusterRequired(handler.HandleDeleteDocumentAction, "doc.delete"))
|
||||||
api.HandleAPIMethod(api.GET, path.Join(esPrefix, "doc/_validate"), handler.ValidateDocIDAction)
|
api.HandleAPIMethod(api.GET, path.Join(esPrefix, "doc/_validate"), handler.ValidateDocIDAction)
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,6 @@ import (
|
||||||
"path"
|
"path"
|
||||||
log "src/github.com/cihub/seelog"
|
log "src/github.com/cihub/seelog"
|
||||||
"src/github.com/mitchellh/mapstructure"
|
"src/github.com/mitchellh/mapstructure"
|
||||||
"strings"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type Rbac struct {
|
type Rbac struct {
|
||||||
|
@ -22,19 +21,19 @@ type Rbac struct {
|
||||||
func init() {
|
func init() {
|
||||||
r := Rbac{}
|
r := Rbac{}
|
||||||
api.HandleAPIMethod(api.GET, "/permission/:type", r.ListPermission)
|
api.HandleAPIMethod(api.GET, "/permission/:type", r.ListPermission)
|
||||||
api.HandleAPIMethod(api.POST, "/role/:type", m.PermissionRequired(r.CreateRole, enum.RoleAll...))
|
api.HandleAPIMethod(api.POST, "/role/:type", m.PermissionRequired(r.CreateRole, enum.RoleAll))
|
||||||
api.HandleAPIMethod(api.GET, "/role/:id", m.PermissionRequired(r.GetRole, enum.RoleRead...))
|
api.HandleAPIMethod(api.GET, "/role/:id", m.PermissionRequired(r.GetRole, enum.RoleRead))
|
||||||
api.HandleAPIMethod(api.DELETE, "/role/:id", m.PermissionRequired(r.DeleteRole, enum.RoleAll...))
|
api.HandleAPIMethod(api.DELETE, "/role/:id", m.PermissionRequired(r.DeleteRole, enum.RoleAll))
|
||||||
api.HandleAPIMethod(api.PUT, "/role/:id", m.PermissionRequired(r.UpdateRole, enum.RoleAll...))
|
api.HandleAPIMethod(api.PUT, "/role/:id", m.PermissionRequired(r.UpdateRole, enum.RoleAll))
|
||||||
api.HandleAPIMethod(api.GET, "/role/_search", m.PermissionRequired(r.SearchRole, enum.RoleRead...))
|
api.HandleAPIMethod(api.GET, "/role/_search", m.PermissionRequired(r.SearchRole, enum.RoleRead))
|
||||||
|
|
||||||
api.HandleAPIMethod(api.POST, "/user", m.PermissionRequired(r.CreateUser, enum.UserAll...))
|
api.HandleAPIMethod(api.POST, "/user", m.PermissionRequired(r.CreateUser, enum.UserAll))
|
||||||
api.HandleAPIMethod(api.GET, "/user/:id", m.PermissionRequired(r.GetUser, enum.UserRead...))
|
api.HandleAPIMethod(api.GET, "/user/:id", m.PermissionRequired(r.GetUser, enum.UserRead))
|
||||||
api.HandleAPIMethod(api.DELETE, "/user/:id", m.PermissionRequired(r.DeleteUser, enum.UserAll...))
|
api.HandleAPIMethod(api.DELETE, "/user/:id", m.PermissionRequired(r.DeleteUser, enum.UserAll))
|
||||||
api.HandleAPIMethod(api.PUT, "/user/:id", m.PermissionRequired(r.UpdateUser, enum.UserAll...))
|
api.HandleAPIMethod(api.PUT, "/user/:id", m.PermissionRequired(r.UpdateUser, enum.UserAll))
|
||||||
api.HandleAPIMethod(api.PUT, "/user/:id/role", m.PermissionRequired(r.UpdateUserRole, enum.UserAll...))
|
api.HandleAPIMethod(api.PUT, "/user/:id/role", m.PermissionRequired(r.UpdateUserRole, enum.UserAll))
|
||||||
api.HandleAPIMethod(api.GET, "/user/_search", m.PermissionRequired(r.SearchUser, enum.UserRead...))
|
api.HandleAPIMethod(api.GET, "/user/_search", m.PermissionRequired(r.SearchUser, enum.UserRead))
|
||||||
api.HandleAPIMethod(api.PUT, "/user/:id/password", m.PermissionRequired(r.UpdateUserPassword, enum.UserAll...))
|
api.HandleAPIMethod(api.PUT, "/user/:id/password", m.PermissionRequired(r.UpdateUserPassword, enum.UserAll))
|
||||||
}
|
}
|
||||||
|
|
||||||
func loadJsonConfig() {
|
func loadJsonConfig() {
|
||||||
|
@ -54,19 +53,19 @@ func loadJsonConfig() {
|
||||||
delete(apis, "indices")
|
delete(apis, "indices")
|
||||||
biz.ClusterApis = apis
|
biz.ClusterApis = apis
|
||||||
|
|
||||||
bytes, err = util.FileGetContent(path.Join(pwd, "/config/map.json"))
|
//bytes, err = util.FileGetContent(path.Join(pwd, "/config/map.json"))
|
||||||
if err != nil {
|
//if err != nil {
|
||||||
panic("load json file err " + err.Error())
|
// panic("load json file err " + err.Error())
|
||||||
}
|
//}
|
||||||
esapiMap := make(map[string]string)
|
//esapiMap := make(map[string]string)
|
||||||
err = json.Unmarshal(bytes, &esapiMap)
|
//err = json.Unmarshal(bytes, &esapiMap)
|
||||||
if err != nil {
|
//if err != nil {
|
||||||
panic("json config unmarshal err " + err.Error())
|
// panic("json config unmarshal err " + err.Error())
|
||||||
}
|
//}
|
||||||
for k, v := range esapiMap {
|
//for k, v := range esapiMap {
|
||||||
s := strings.Split(k, "-")
|
// s := strings.Split(k, "-")
|
||||||
biz.EsApiRoutes.AddRoute(s[0], s[1], v)
|
// biz.EsApiRoutes.AddRoute(s[0], s[1], v)
|
||||||
}
|
//}
|
||||||
|
|
||||||
}
|
}
|
||||||
func loadRolePermission() {
|
func loadRolePermission() {
|
||||||
|
@ -98,7 +97,7 @@ func loadRolePermission() {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
res, err := biz.SearchRole("", 0, 100)
|
res, err := biz.SearchRole("", 0, 1000)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error(err)
|
log.Error(err)
|
||||||
return
|
return
|
||||||
|
|
|
@ -19,7 +19,7 @@ func (h Rbac) ListPermission(w http.ResponseWriter, r *http.Request, ps httprout
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
_ = log.Error(err.Error())
|
_ = log.Error(err.Error())
|
||||||
h.Error(w, err)
|
h.ErrorInternalServer(w, err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
permissions := role.ListPermission()
|
permissions := role.ListPermission()
|
||||||
|
|
|
@ -17,12 +17,12 @@ func (h Rbac) CreateRole(w http.ResponseWriter, r *http.Request, ps httprouter.P
|
||||||
localUser, err := biz.FromUserContext(r.Context())
|
localUser, err := biz.FromUserContext(r.Context())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error(err.Error())
|
log.Error(err.Error())
|
||||||
h.Error(w, err)
|
h.ErrorInternalServer(w, err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
irole, err := biz.NewRole(roleType)
|
irole, err := biz.NewRole(roleType)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
h.Error(w, err)
|
h.ErrorInternalServer(w, err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -31,12 +31,13 @@ func (h Rbac) CreateRole(w http.ResponseWriter, r *http.Request, ps httprouter.P
|
||||||
h.Error400(w, err.Error())
|
h.Error400(w, err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
var id string
|
var id string
|
||||||
id, err = irole.Create(localUser)
|
id, err = irole.Create(localUser)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
_ = log.Error(err.Error())
|
_ = log.Error(err.Error())
|
||||||
h.Error(w, err)
|
h.ErrorInternalServer(w, err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
_ = h.WriteOKJSON(w, core.CreateResponse(id))
|
_ = h.WriteOKJSON(w, core.CreateResponse(id))
|
||||||
|
@ -55,7 +56,8 @@ func (h Rbac) SearchRole(w http.ResponseWriter, r *http.Request, ps httprouter.P
|
||||||
res, err := biz.SearchRole(keyword, from, size)
|
res, err := biz.SearchRole(keyword, from, size)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error(err)
|
log.Error(err)
|
||||||
h.Error(w, err)
|
|
||||||
|
h.ErrorInternalServer(w, err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
response := elastic.SearchResponse{}
|
response := elastic.SearchResponse{}
|
||||||
|
@ -91,7 +93,7 @@ func (h Rbac) GetRole(w http.ResponseWriter, r *http.Request, ps httprouter.Para
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
_ = log.Error(err.Error())
|
_ = log.Error(err.Error())
|
||||||
h.Error(w, err)
|
h.ErrorInternalServer(w, err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
h.WriteOKJSON(w, core.Response{Hit: role})
|
h.WriteOKJSON(w, core.Response{Hit: role})
|
||||||
|
@ -104,14 +106,14 @@ func (h Rbac) DeleteRole(w http.ResponseWriter, r *http.Request, ps httprouter.P
|
||||||
localUser, err := biz.FromUserContext(r.Context())
|
localUser, err := biz.FromUserContext(r.Context())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error(err.Error())
|
log.Error(err.Error())
|
||||||
h.Error(w, err)
|
h.ErrorInternalServer(w, err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
err = biz.DeleteRole(localUser, id)
|
err = biz.DeleteRole(localUser, id)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
_ = log.Error(err.Error())
|
_ = log.Error(err.Error())
|
||||||
h.Error(w, err)
|
h.ErrorInternalServer(w, err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
_ = h.WriteOKJSON(w, core.DeleteResponse(id))
|
_ = h.WriteOKJSON(w, core.DeleteResponse(id))
|
||||||
|
@ -123,17 +125,17 @@ func (h Rbac) UpdateRole(w http.ResponseWriter, r *http.Request, ps httprouter.P
|
||||||
localUser, err := biz.FromUserContext(r.Context())
|
localUser, err := biz.FromUserContext(r.Context())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error(err.Error())
|
log.Error(err.Error())
|
||||||
h.Error(w, err)
|
h.ErrorInternalServer(w, err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
model, err := biz.GetRole(id)
|
model, err := biz.GetRole(id)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
h.Error(w, err)
|
h.ErrorInternalServer(w, err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
irole, err := biz.NewRole(model.RoleType)
|
irole, err := biz.NewRole(model.RoleType)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
h.Error(w, err)
|
h.ErrorInternalServer(w, err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -147,7 +149,7 @@ func (h Rbac) UpdateRole(w http.ResponseWriter, r *http.Request, ps httprouter.P
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
_ = log.Error(err.Error())
|
_ = log.Error(err.Error())
|
||||||
h.Error(w, err)
|
h.ErrorInternalServer(w, err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
_ = h.WriteOKJSON(w, core.UpdateResponse(id))
|
_ = h.WriteOKJSON(w, core.UpdateResponse(id))
|
||||||
|
|
|
@ -29,21 +29,21 @@ func (h Rbac) CreateUser(w http.ResponseWriter, r *http.Request, ps httprouter.P
|
||||||
h.Error400(w, err.Error())
|
h.Error400(w, err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if req.Username == "" || req.Password == "" {
|
if req.Username == "" || req.Phone == "" || req.Email == "" {
|
||||||
|
|
||||||
h.Error400(w, "username or password require")
|
h.Error400(w, "username and phone and email is require")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
localUser, err := biz.FromUserContext(r.Context())
|
localUser, err := biz.FromUserContext(r.Context())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error(err.Error())
|
log.Error(err.Error())
|
||||||
h.Error(w, err)
|
h.ErrorInternalServer(w, err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
id, pass, err := biz.CreateUser(localUser, req)
|
id, pass, err := biz.CreateUser(localUser, req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
_ = log.Error(err.Error())
|
_ = log.Error(err.Error())
|
||||||
h.Error(w, err)
|
h.ErrorInternalServer(w, err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
_ = h.WriteOKJSON(w, util.MapStr{
|
_ = h.WriteOKJSON(w, util.MapStr{
|
||||||
|
@ -65,7 +65,7 @@ func (h Rbac) GetUser(w http.ResponseWriter, r *http.Request, ps httprouter.Para
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
_ = log.Error(err.Error())
|
_ = log.Error(err.Error())
|
||||||
h.Error(w, err)
|
h.ErrorInternalServer(w, err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
h.WriteOKJSON(w, core.FoundResponse(id, user))
|
h.WriteOKJSON(w, core.FoundResponse(id, user))
|
||||||
|
@ -84,14 +84,14 @@ func (h Rbac) UpdateUser(w http.ResponseWriter, r *http.Request, ps httprouter.P
|
||||||
localUser, err := biz.FromUserContext(r.Context())
|
localUser, err := biz.FromUserContext(r.Context())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error(err.Error())
|
log.Error(err.Error())
|
||||||
h.Error(w, err)
|
h.ErrorInternalServer(w, err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
err = biz.UpdateUser(localUser, id, req)
|
err = biz.UpdateUser(localUser, id, req)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
_ = log.Error(err.Error())
|
_ = log.Error(err.Error())
|
||||||
h.Error(w, err)
|
h.ErrorInternalServer(w, err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
_ = h.WriteOKJSON(w, core.UpdateResponse(id))
|
_ = h.WriteOKJSON(w, core.UpdateResponse(id))
|
||||||
|
@ -110,14 +110,14 @@ func (h Rbac) UpdateUserRole(w http.ResponseWriter, r *http.Request, ps httprout
|
||||||
localUser, err := biz.FromUserContext(r.Context())
|
localUser, err := biz.FromUserContext(r.Context())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error(err.Error())
|
log.Error(err.Error())
|
||||||
h.Error(w, err)
|
h.ErrorInternalServer(w, err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
err = biz.UpdateUserRole(localUser, id, req)
|
err = biz.UpdateUserRole(localUser, id, req)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
_ = log.Error(err.Error())
|
_ = log.Error(err.Error())
|
||||||
h.Error(w, err)
|
h.ErrorInternalServer(w, err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
_ = h.WriteOKJSON(w, core.UpdateResponse(id))
|
_ = h.WriteOKJSON(w, core.UpdateResponse(id))
|
||||||
|
@ -129,7 +129,7 @@ func (h Rbac) DeleteUser(w http.ResponseWriter, r *http.Request, ps httprouter.P
|
||||||
localUser, err := biz.FromUserContext(r.Context())
|
localUser, err := biz.FromUserContext(r.Context())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error(err.Error())
|
log.Error(err.Error())
|
||||||
h.Error(w, err)
|
h.ErrorInternalServer(w, err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
err = biz.DeleteUser(localUser, id)
|
err = biz.DeleteUser(localUser, id)
|
||||||
|
@ -139,7 +139,7 @@ func (h Rbac) DeleteUser(w http.ResponseWriter, r *http.Request, ps httprouter.P
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
_ = log.Error(err.Error())
|
_ = log.Error(err.Error())
|
||||||
h.Error(w, err)
|
h.ErrorInternalServer(w, err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
_ = h.WriteOKJSON(w, core.DeleteResponse(id))
|
_ = h.WriteOKJSON(w, core.DeleteResponse(id))
|
||||||
|
@ -156,7 +156,7 @@ func (h Rbac) SearchUser(w http.ResponseWriter, r *http.Request, ps httprouter.P
|
||||||
res, err := biz.SearchUser(keyword, from, size)
|
res, err := biz.SearchUser(keyword, from, size)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error(err.Error())
|
log.Error(err.Error())
|
||||||
h.Error(w, err)
|
h.ErrorInternalServer(w, err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -176,13 +176,13 @@ func (h Rbac) UpdateUserPassword(w http.ResponseWriter, r *http.Request, ps http
|
||||||
localUser, err := biz.FromUserContext(r.Context())
|
localUser, err := biz.FromUserContext(r.Context())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error(err.Error())
|
log.Error(err.Error())
|
||||||
h.Error(w, err)
|
h.ErrorInternalServer(w, err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
err = biz.UpdateUserPassword(localUser, id, req.Password)
|
err = biz.UpdateUserPassword(localUser, id, req.Password)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
_ = log.Error(err.Error())
|
_ = log.Error(err.Error())
|
||||||
h.Error(w, err)
|
h.ErrorInternalServer(w, err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue