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") }