Files
smart-search-back/internal/grpc/user_handler.go
vallyenfail e2968722ed
Some checks failed
Deploy Smart Search Backend / deploy (push) Failing after 1m54s
add service
2026-01-17 20:41:37 +03:00

67 lines
2.0 KiB
Go

package grpc
import (
"context"
"git.techease.ru/Smart-search/smart-search-back/pkg/errors"
pb "git.techease.ru/Smart-search/smart-search-back/pkg/pb/user"
)
func (h *UserHandler) GetInfo(ctx context.Context, req *pb.GetInfoRequest) (*pb.GetInfoResponse, error) {
user, err := h.userService.GetInfo(ctx, int(req.UserId))
if err != nil {
return nil, errors.ToGRPCError(err, h.logger, "UserService.GetInfo")
}
return &pb.GetInfoResponse{
Email: user.Email,
Name: user.Name,
Phone: user.Phone,
CompanyName: user.CompanyName,
PaymentStatus: user.PaymentStatus,
}, nil
}
func (h *UserHandler) GetBalance(ctx context.Context, req *pb.GetBalanceRequest) (*pb.GetBalanceResponse, error) {
balance, err := h.userService.GetBalance(ctx, int(req.UserId))
if err != nil {
return nil, errors.ToGRPCError(err, h.logger, "UserService.GetBalance")
}
return &pb.GetBalanceResponse{
Balance: balance,
}, nil
}
func (h *UserHandler) GetStatistics(ctx context.Context, req *pb.GetStatisticsRequest) (*pb.GetStatisticsResponse, error) {
stats, err := h.userService.GetStatistics(ctx, int(req.UserId))
if err != nil {
return nil, errors.ToGRPCError(err, h.logger, "UserService.GetStatistics")
}
return &pb.GetStatisticsResponse{
TotalRequests: int32(stats.RequestsCount),
SuccessfulRequests: int32(stats.SuppliersCount),
FailedRequests: 0,
TotalSpent: 0,
}, nil
}
func (h *UserHandler) GetBalanceStatistics(ctx context.Context, req *pb.GetBalanceStatisticsRequest) (*pb.GetBalanceStatisticsResponse, error) {
balance, err := h.userService.GetBalance(ctx, int(req.UserId))
if err != nil {
return nil, errors.ToGRPCError(err, h.logger, "UserService.GetBalanceStatistics")
}
stats, err := h.userService.GetStatistics(ctx, int(req.UserId))
if err != nil {
return nil, errors.ToGRPCError(err, h.logger, "UserService.GetBalanceStatistics")
}
return &pb.GetBalanceStatisticsResponse{
Balance: balance,
TotalRequests: int32(stats.RequestsCount),
TotalSpent: 0,
}, nil
}