| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 | package endpointimport (	"context"	"github.com/go-kit/kit/endpoint"	"github.com/longjoy/micro-go-course/section10/user/service")type UserEndpoints struct {	RegisterEndpoint  endpoint.Endpoint	LoginEndpoint endpoint.Endpoint}type LoginRequest struct {	Email string	Password string}type LoginResponse struct {	UserInfo *service.UserInfoDTO `json:"user_info"`}func MakeLoginEndpoint(userService service.UserService) endpoint.Endpoint {	return func(ctx context.Context, request interface{}) (response interface{}, err error) {		req := request.(*LoginRequest)		userInfo, err := userService.Login(ctx, req.Email, req.Password)		return &LoginResponse{UserInfo:userInfo}, err	}}type RegisterRequest struct {	Username string	Email string	Password string}type RegisterResponse struct {	UserInfo *service.UserInfoDTO `json:"user_info"`}func MakeRegisterEndpoint(userService service.UserService) endpoint.Endpoint {	return func(ctx context.Context, request interface{}) (response interface{}, err error) {		req := request.(*RegisterRequest)		userInfo, err := userService.Register(ctx, &service.RegisterUserVO{			Username:req.Username,			Password:req.Password,			Email:req.Email,		})		return &RegisterResponse{UserInfo:userInfo}, err	}}
 |