mirror of
https://github.com/PretendoNetwork/friends.git
synced 2025-04-02 11:01:46 -04:00
42 lines
1.2 KiB
Go
42 lines
1.2 KiB
Go
package grpc
|
|
|
|
import (
|
|
"context"
|
|
"time"
|
|
|
|
"google.golang.org/grpc/codes"
|
|
"google.golang.org/grpc/status"
|
|
|
|
database_wiiu "github.com/PretendoNetwork/friends/database/wiiu"
|
|
"github.com/PretendoNetwork/friends/globals"
|
|
pb "github.com/PretendoNetwork/grpc-go/friends"
|
|
"github.com/PretendoNetwork/nex-go/v2/types"
|
|
)
|
|
|
|
func (s *gRPCFriendsServer) SendUserFriendRequest(ctx context.Context, in *pb.SendUserFriendRequestRequest) (*pb.SendUserFriendRequestResponse, error) {
|
|
sender := in.GetSender()
|
|
recipient := in.GetRecipient()
|
|
|
|
currentTimestamp := time.Now()
|
|
expireTimestamp := currentTimestamp.Add(time.Hour * 24 * 29)
|
|
|
|
sentTime := types.NewDateTime(0)
|
|
expireTime := types.NewDateTime(0)
|
|
|
|
sentTime.FromTimestamp(currentTimestamp)
|
|
expireTime.FromTimestamp(expireTimestamp)
|
|
|
|
message := in.GetMessage()
|
|
|
|
id, err := database_wiiu.SaveFriendRequest(sender, recipient, uint64(sentTime), uint64(expireTime), message)
|
|
if err != nil {
|
|
globals.Logger.Critical(err.Error())
|
|
return &pb.SendUserFriendRequestResponse{
|
|
Success: false,
|
|
}, status.Errorf(codes.Internal, "internal server error")
|
|
}
|
|
|
|
return &pb.SendUserFriendRequestResponse{
|
|
Success: id != 0,
|
|
}, nil
|
|
}
|