friends/grpc/get_user_friend_requests_incoming.go
2025-02-15 23:31:32 -05:00

42 lines
1.4 KiB
Go

package grpc
import (
"context"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
"github.com/PretendoNetwork/friends/database"
database_wiiu "github.com/PretendoNetwork/friends/database/wiiu"
"github.com/PretendoNetwork/friends/globals"
pb "github.com/PretendoNetwork/grpc-go/friends"
)
func (s *gRPCFriendsServer) GetUserFriendRequestsIncoming(ctx context.Context, in *pb.GetUserFriendRequestsIncomingRequest) (*pb.GetUserFriendRequestsIncomingResponse, error) {
friendRequestsIn, err := database_wiiu.GetUserFriendRequestsIn(in.GetPid())
if err != nil && err != database.ErrEmptyList {
globals.Logger.Critical(err.Error())
return nil, status.Errorf(codes.Internal, "internal server error")
}
friendRequests := make([]*pb.FriendRequest, 0, len(friendRequestsIn))
if friendRequestsIn != nil {
for _, friendRequestIn := range friendRequestsIn {
friendRequest := &pb.FriendRequest{
Id: uint64(friendRequestIn.Message.FriendRequestID),
Sender: uint32(friendRequestIn.PrincipalInfo.PID),
Recipient: in.GetPid(),
Sent: uint64(friendRequestIn.SentOn.Standard().Unix()),
Expires: uint64(friendRequestIn.Message.ExpiresOn.Standard().Unix()),
Message: string(friendRequestIn.Message.Message),
}
friendRequests = append(friendRequests, friendRequest)
}
}
return &pb.GetUserFriendRequestsIncomingResponse{
FriendRequests: friendRequests,
}, nil
}