// Code scaffolded by goctl. Safe to edit. // goctl 1.10.1 package member import ( "context" "haixun-backend/internal/logic/authz" "haixun-backend/internal/svc" "haixun-backend/internal/types" "github.com/zeromicro/go-zero/core/logx" ) type UpdateMemberPasswordLogic struct { logx.Logger ctx context.Context svcCtx *svc.ServiceContext } func NewUpdateMemberPasswordLogic(ctx context.Context, svcCtx *svc.ServiceContext) *UpdateMemberPasswordLogic { return &UpdateMemberPasswordLogic{ Logger: logx.WithContext(ctx), ctx: ctx, svcCtx: svcCtx, } } func (l *UpdateMemberPasswordLogic) UpdateMemberPassword(req *types.UpdateMemberPasswordReq) (resp *types.MemberMeData, err error) { if err := authz.RequireAdmin(l.ctx, l.svcCtx); err != nil { return nil, err } tenantID, _, err := actorFrom(l.ctx) if err != nil { return nil, err } if err := l.svcCtx.Member.UpdatePassword(l.ctx, tenantID, req.UID, req.Password); err != nil { return nil, err } member, err := l.svcCtx.Member.GetByUID(l.ctx, tenantID, req.UID) if err != nil { return nil, err } return toMemberMeData(member), nil }