// Code scaffolded by goctl. Safe to edit. // goctl 1.10.1 package member import ( "context" "haixun-backend/internal/logic/authz" memberusecase "haixun-backend/internal/model/member/domain/usecase" "haixun-backend/internal/svc" "haixun-backend/internal/types" "github.com/zeromicro/go-zero/core/logx" ) type UpdateMemberProfileLogic struct { logx.Logger ctx context.Context svcCtx *svc.ServiceContext } func NewUpdateMemberProfileLogic(ctx context.Context, svcCtx *svc.ServiceContext) *UpdateMemberProfileLogic { return &UpdateMemberProfileLogic{ Logger: logx.WithContext(ctx), ctx: ctx, svcCtx: svcCtx, } } func (l *UpdateMemberProfileLogic) UpdateMemberProfile(req *types.UpdateMemberProfileReq) (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 } member, err := l.svcCtx.Member.UpdateProfile(l.ctx, memberusecase.UpdateProfileRequest{ TenantID: tenantID, UID: req.UID, DisplayName: req.DisplayName, Avatar: req.Avatar, Language: req.Language, Currency: req.Currency, Phone: req.Phone, EmailVerified: req.EmailVerified, Status: req.Status, BusinessEmail: req.BusinessEmail, BusinessEmailVerified: req.BusinessEmailVerified, BusinessPhone: req.BusinessPhone, BusinessPhoneVerified: req.BusinessPhoneVerified, }) if err != nil { return nil, err } return toMemberMeData(member), nil }