migrate from github
This commit is contained in:
@@ -0,0 +1,133 @@
|
||||
package grpcserver
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/XingfenD/yoresee_doc/internal/dto"
|
||||
"github.com/XingfenD/yoresee_doc/internal/service/auth_service"
|
||||
"github.com/XingfenD/yoresee_doc/internal/status"
|
||||
pb "github.com/XingfenD/yoresee_doc/pkg/gen/yoresee_doc/v1"
|
||||
)
|
||||
|
||||
type AuthServiceServer struct {
|
||||
pb.UnimplementedAuthServiceServer
|
||||
}
|
||||
|
||||
func NewAuthServiceServer() *AuthServiceServer {
|
||||
return &AuthServiceServer{}
|
||||
}
|
||||
|
||||
func (s *AuthServiceServer) Login(ctx context.Context, req *pb.AuthLoginRequest) (*pb.AuthLoginResponse, error) {
|
||||
if req == nil || req.Email == "" || req.Password == "" {
|
||||
return &pb.AuthLoginResponse{Base: baseResponseFromStatus(status.StatusParamError)}, nil
|
||||
}
|
||||
|
||||
token, user, err := auth_service.AuthSvc.Login(req.Email, req.Password)
|
||||
if err != nil {
|
||||
return &pb.AuthLoginResponse{Base: baseResponseFromErr(err)}, nil
|
||||
}
|
||||
|
||||
return &pb.AuthLoginResponse{
|
||||
Base: baseResponseFromErr(nil),
|
||||
Token: token,
|
||||
User: toUserResponse(user),
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (s *AuthServiceServer) Register(ctx context.Context, req *pb.AuthRegisterRequest) (*pb.AuthRegisterResponse, error) {
|
||||
if req == nil || req.Username == "" || req.Password == "" || req.Email == "" {
|
||||
return &pb.AuthRegisterResponse{Base: baseResponseFromStatus(status.StatusParamError)}, nil
|
||||
}
|
||||
|
||||
userCreate := &dto.UserCreate{
|
||||
Username: req.Username,
|
||||
Email: req.Email,
|
||||
Password: req.Password,
|
||||
}
|
||||
if req.InvitationCode != nil {
|
||||
userCreate.InvitationCode = req.InvitationCode
|
||||
}
|
||||
|
||||
err := auth_service.AuthSvc.Register(ctx, userCreate)
|
||||
if err != nil {
|
||||
return &pb.AuthRegisterResponse{Base: baseResponseFromErr(err)}, nil
|
||||
}
|
||||
|
||||
return &pb.AuthRegisterResponse{Base: baseResponseFromErr(nil)}, nil
|
||||
}
|
||||
|
||||
func (s *AuthServiceServer) UpdateProfile(ctx context.Context, req *pb.UpdateProfileRequest) (*pb.UpdateProfileResponse, error) {
|
||||
if req == nil {
|
||||
return &pb.UpdateProfileResponse{Base: baseResponseFromStatus(status.StatusParamError)}, nil
|
||||
}
|
||||
userExternalID, ok := ctx.Value("user_external_id").(string)
|
||||
if !ok || userExternalID == "" {
|
||||
return &pb.UpdateProfileResponse{Base: baseResponseFromStatus(status.StatusTokenInvalid)}, nil
|
||||
}
|
||||
|
||||
serviceReq := &dto.UpdateProfileRequest{
|
||||
Username: req.Username,
|
||||
Email: req.Email,
|
||||
Nickname: req.Nickname,
|
||||
Password: req.Password,
|
||||
AvatarFile: req.AvatarFile,
|
||||
AvatarFilename: req.AvatarFilename,
|
||||
AvatarContentType: req.AvatarContentType,
|
||||
}
|
||||
|
||||
user, err := auth_service.AuthSvc.UpdateProfile(userExternalID, serviceReq)
|
||||
if err != nil {
|
||||
return &pb.UpdateProfileResponse{Base: baseResponseFromErr(err)}, nil
|
||||
}
|
||||
|
||||
return &pb.UpdateProfileResponse{
|
||||
Base: baseResponseFromErr(nil),
|
||||
User: toUserResponse(user),
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (s *AuthServiceServer) QuerySideBarDisplay(ctx context.Context, req *pb.QuerySideBarDisplayRequest) (*pb.QuerySideBarDisplayResponse, error) {
|
||||
if req == nil || req.Scene == "" {
|
||||
return &pb.QuerySideBarDisplayResponse{Base: baseResponseFromStatus(status.StatusParamError)}, nil
|
||||
}
|
||||
userExternalID, ok := ctx.Value("user_external_id").(string)
|
||||
if !ok || userExternalID == "" {
|
||||
return &pb.QuerySideBarDisplayResponse{Base: baseResponseFromStatus(status.StatusTokenInvalid)}, nil
|
||||
}
|
||||
|
||||
isAdmin, err := auth_service.AuthSvc.IsAdmin(userExternalID)
|
||||
if err != nil {
|
||||
return &pb.QuerySideBarDisplayResponse{Base: baseResponseFromErr(err)}, nil
|
||||
}
|
||||
|
||||
displayTabs, err := auth_service.AuthSvc.QuerySideBarDisplay(req.Scene, isAdmin)
|
||||
if err != nil {
|
||||
return &pb.QuerySideBarDisplayResponse{Base: baseResponseFromErr(err)}, nil
|
||||
}
|
||||
return &pb.QuerySideBarDisplayResponse{
|
||||
Base: baseResponseFromErr(nil),
|
||||
DisplayTabs: displayTabs,
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (s *AuthServiceServer) QueryTopNavDisplay(ctx context.Context, req *pb.QueryTopNavDisplayRequest) (*pb.QueryTopNavDisplayResponse, error) {
|
||||
userExternalID, ok := ctx.Value("user_external_id").(string)
|
||||
if !ok || userExternalID == "" {
|
||||
return &pb.QueryTopNavDisplayResponse{Base: baseResponseFromStatus(status.StatusTokenInvalid)}, nil
|
||||
}
|
||||
|
||||
isAdmin, err := auth_service.AuthSvc.IsAdmin(userExternalID)
|
||||
if err != nil {
|
||||
return &pb.QueryTopNavDisplayResponse{Base: baseResponseFromErr(err)}, nil
|
||||
}
|
||||
|
||||
menus, err := auth_service.AuthSvc.QueryTopNavDisplay(isAdmin)
|
||||
if err != nil {
|
||||
return &pb.QueryTopNavDisplayResponse{Base: baseResponseFromErr(err)}, nil
|
||||
}
|
||||
|
||||
return &pb.QueryTopNavDisplayResponse{
|
||||
Base: baseResponseFromErr(nil),
|
||||
DisplayMenus: menus,
|
||||
}, nil
|
||||
}
|
||||
Reference in New Issue
Block a user