From 671b3e853df37d0aad84772a50acce8d14d298dd Mon Sep 17 00:00:00 2001 From: ssongliu Date: Thu, 11 Aug 2022 22:52:43 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E7=B3=BB=E7=BB=9F=E6=93=8D=E4=BD=9C?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E8=BF=87=E6=BB=A4=E6=95=8F=E6=84=9F=E4=BF=A1?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/app/service/operation_log.go | 36 ++++++++++++++++++++++++---- backend/app/service/user.go | 4 ++-- backend/utils/copier/copier.go | 5 +--- 3 files changed, 34 insertions(+), 11 deletions(-) diff --git a/backend/app/service/operation_log.go b/backend/app/service/operation_log.go index e9940a79a..8caf1ba4c 100644 --- a/backend/app/service/operation_log.go +++ b/backend/app/service/operation_log.go @@ -6,6 +6,7 @@ import ( "github.com/1Panel-dev/1Panel/app/dto" "github.com/1Panel-dev/1Panel/app/model" "github.com/1Panel-dev/1Panel/constant" + "github.com/1Panel-dev/1Panel/global" "github.com/jinzhu/copier" "github.com/pkg/errors" ) @@ -33,14 +34,39 @@ func (u *OperationService) Page(page, size int) (int64, interface{}, error) { if err := copier.Copy(&item, &op); err != nil { return 0, nil, errors.WithMessage(constant.ErrStructTransform, err.Error()) } + item.Body = filterSensitive(item.Body) var res dto.Response - if err := json.Unmarshal([]byte(item.Resp), &res); err == nil { - item.Status = res.Code - if item.Status != 200 { - item.ErrorMessage = res.Msg - } + if err := json.Unmarshal([]byte(item.Resp), &res); err != nil { + global.LOG.Errorf("unmarshal failed, err: %+v", err) + dtoOps = append(dtoOps, item) + continue + } + item.Status = res.Code + if item.Status != 200 { + item.ErrorMessage = res.Msg } dtoOps = append(dtoOps, item) } return total, dtoOps, err } + +func filterSensitive(vars string) string { + var Sensitives = []string{"password", "Password"} + ops := make(map[string]string) + if err := json.Unmarshal([]byte(vars), &ops); err != nil { + return vars + } + for k := range ops { + for _, sen := range Sensitives { + if k == sen { + delete(ops, k) + continue + } + } + } + backStr, err := json.Marshal(ops) + if err != nil { + return "" + } + return string(backStr) +} diff --git a/backend/app/service/user.go b/backend/app/service/user.go index b22701d64..2a34a6c36 100644 --- a/backend/app/service/user.go +++ b/backend/app/service/user.go @@ -34,7 +34,7 @@ func NewIUserService() IUserService { func (u *UserService) Get(name string) (*dto.UserBack, error) { user, err := userRepo.Get(commonRepo.WithByName(name)) if err != nil { - return nil, err + return nil, constant.ErrRecordNotFound } var dtoUser dto.UserBack if err := copier.Copy(&dtoUser, &user); err != nil { @@ -59,7 +59,7 @@ func (u *UserService) Page(search dto.UserPage) (int64, interface{}, error) { func (u *UserService) Register(userDto dto.UserCreate) error { user, _ := userRepo.Get(commonRepo.WithByName(userDto.Name)) if user.ID != 0 { - return errors.Wrap(constant.ErrRecordExist, "data exist") + return constant.ErrRecordExist } if err := copier.Copy(&user, &userDto); err != nil { return errors.WithMessage(constant.ErrStructTransform, err.Error()) diff --git a/backend/utils/copier/copier.go b/backend/utils/copier/copier.go index eb99b8978..bfc684ce9 100644 --- a/backend/utils/copier/copier.go +++ b/backend/utils/copier/copier.go @@ -11,11 +11,8 @@ func Copy(to, from interface{}) error { if err != nil { return errors.Wrap(err, "marshal from data err") } - - err = json.Unmarshal(b, to) - if err != nil { + if err = json.Unmarshal(b, to); err != nil { return errors.Wrap(err, "unmarshal to data err") } - return nil }