diff --git a/database/wiiu/save_friend_request.go b/database/wiiu/save_friend_request.go index 2e5f82e..31c06cb 100644 --- a/database/wiiu/save_friend_request.go +++ b/database/wiiu/save_friend_request.go @@ -29,11 +29,18 @@ func SaveFriendRequest(senderPID uint32, recipientPID uint32, sentTime uint64, e if friendRequestBlocked { return id, nil } else { + // Unset the denied flag err = UnsetFriendRequestDenied(id) if err != nil { return 0, err } + // FIX: Also unset the accepted flag so the request can appear as new + err = UnsetFriendRequestAccepted(id) + if err != nil { + return 0, err + } + return id, nil } } diff --git a/database/wiiu/unset_friend_request_accepted.go b/database/wiiu/unset_friend_request_accepted.go new file mode 100644 index 0000000..7d506c5 --- /dev/null +++ b/database/wiiu/unset_friend_request_accepted.go @@ -0,0 +1,20 @@ +package database_wiiu + +import ( + "github.com/PretendoNetwork/friends/database" +) + +// UnsetFriendRequestAccepted unmarks a friend request as accepted +func UnsetFriendRequestAccepted(friendRequestID uint64) error { + result, err := database.Manager.Exec(`UPDATE wiiu.friend_requests SET accepted=false WHERE id=$1`, friendRequestID) + if err != nil { + return err + } + + rowsAffected, _ := result.RowsAffected() + if rowsAffected == 0 { + return database.ErrFriendRequestNotFound + } + + return nil +} \ No newline at end of file