feat: 初始提交云印享付费打印服务后端
This commit is contained in:
63
cloudprint-backend/internal/grpc/service/auth_service.go
Normal file
63
cloudprint-backend/internal/grpc/service/auth_service.go
Normal file
@@ -0,0 +1,63 @@
|
||||
package service
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/cloudprint/cloudprint-backend/internal/service"
|
||||
pb "github.com/cloudprint/cloudprint-backend/proto/generated"
|
||||
"google.golang.org/grpc/codes"
|
||||
"google.golang.org/grpc/status"
|
||||
)
|
||||
|
||||
type AuthServiceServer struct {
|
||||
pb.UnimplementedAuthServiceServer
|
||||
authService *service.AuthService
|
||||
}
|
||||
|
||||
func NewAuthServiceServer(authService *service.AuthService) *AuthServiceServer {
|
||||
return &AuthServiceServer{
|
||||
authService: authService,
|
||||
}
|
||||
}
|
||||
|
||||
func (s *AuthServiceServer) Login(ctx context.Context, req *pb.LoginRequest) (*pb.LoginResponse, error) {
|
||||
result, err := s.authService.Login(ctx, req.Code)
|
||||
if err != nil {
|
||||
return nil, status.Errorf(codes.Internal, "login failed: %v", err)
|
||||
}
|
||||
|
||||
return &pb.LoginResponse{
|
||||
AccessToken: result.AccessToken,
|
||||
RefreshToken: result.RefreshToken,
|
||||
User: &pb.User{
|
||||
Id: result.User.ID,
|
||||
Openid: result.User.Openid,
|
||||
Nickname: result.User.Nickname,
|
||||
Avatar: result.User.Avatar,
|
||||
Balance: result.User.Balance,
|
||||
},
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (s *AuthServiceServer) RefreshToken(ctx context.Context, req *pb.RefreshRequest) (*pb.RefreshResponse, error) {
|
||||
newToken, err := s.authService.RefreshToken(ctx, req.RefreshToken)
|
||||
if err != nil {
|
||||
return nil, status.Errorf(codes.Internal, "refresh token failed: %v", err)
|
||||
}
|
||||
|
||||
return &pb.RefreshResponse{
|
||||
AccessToken: newToken,
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (s *AuthServiceServer) GetUserInfo(ctx context.Context, req *pb.GetUserInfoRequest) (*pb.User, error) {
|
||||
// In a real implementation, extract user ID from context
|
||||
// For now, this is a placeholder
|
||||
return nil, status.Errorf(codes.Unimplemented, "not implemented")
|
||||
}
|
||||
|
||||
func (s *AuthServiceServer) UpdateUser(ctx context.Context, req *pb.UpdateUserRequest) (*pb.User, error) {
|
||||
// In a real implementation, extract user ID from context
|
||||
// For now, this is a placeholder
|
||||
return nil, status.Errorf(codes.Unimplemented, "not implemented")
|
||||
}
|
||||
Reference in New Issue
Block a user