mirror of
https://github.com/PretendoNetwork/friends.git
synced 2026-04-24 23:07:13 -05:00
Add missing error handling and update modules
This commit is contained in:
parent
84566dd6a8
commit
06d89d8b77
|
|
@ -2,10 +2,8 @@ package database_3ds
|
|||
|
||||
import (
|
||||
"database/sql"
|
||||
"time"
|
||||
|
||||
"github.com/PretendoNetwork/friends/database"
|
||||
"github.com/PretendoNetwork/friends/globals"
|
||||
"github.com/PretendoNetwork/nex-go"
|
||||
friends_3ds_types "github.com/PretendoNetwork/nex-protocols-go/friends-3ds/types"
|
||||
)
|
||||
|
|
@ -37,10 +35,9 @@ func GetFriendPersistentInfos(user1_pid uint32, pids []uint32) ([]*friends_3ds_t
|
|||
SELECT date FROM "3ds".friendships WHERE user1_pid=$1 AND user2_pid=$2 AND type=0 LIMIT 1`, user1_pid, persistentInfo.PID).Scan(&friendedAtTime)
|
||||
if err != nil {
|
||||
if err == sql.ErrNoRows {
|
||||
friendedAtTime = uint64(time.Now().Unix())
|
||||
return make([]*friends_3ds_types.FriendPersistentInfo, 0), database.ErrFriendshipNotFound
|
||||
} else {
|
||||
globals.Logger.Critical(err.Error())
|
||||
continue
|
||||
return make([]*friends_3ds_types.FriendPersistentInfo, 0), err
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ import (
|
|||
"database/sql"
|
||||
|
||||
"github.com/PretendoNetwork/friends/database"
|
||||
"github.com/PretendoNetwork/friends/globals"
|
||||
"github.com/PretendoNetwork/friends/utility"
|
||||
"github.com/PretendoNetwork/nex-go"
|
||||
friends_wiiu_types "github.com/PretendoNetwork/nex-protocols-go/friends-wiiu/types"
|
||||
|
|
@ -32,8 +31,7 @@ func GetUserBlockList(pid uint32) ([]*friends_wiiu_types.BlacklistedPrincipal, e
|
|||
|
||||
userInfo, err := utility.GetUserInfoByPID(pid)
|
||||
if err != nil {
|
||||
globals.Logger.Critical(err.Error())
|
||||
continue
|
||||
return make([]*friends_wiiu_types.BlacklistedPrincipal, 0), err
|
||||
}
|
||||
|
||||
blacklistPrincipal := friends_wiiu_types.NewBlacklistedPrincipal()
|
||||
|
|
|
|||
|
|
@ -58,8 +58,7 @@ func GetUserFriendList(pid uint32) ([]*friends_wiiu_types.FriendInfo, error) {
|
|||
|
||||
userInfo, err := utility.GetUserInfoByPID(friendPID)
|
||||
if err != nil {
|
||||
globals.Logger.Critical(err.Error())
|
||||
continue
|
||||
return make([]*friends_wiiu_types.FriendInfo, 0), err
|
||||
}
|
||||
|
||||
friendInfo.NNAInfo = friends_wiiu_types.NewNNAInfo()
|
||||
|
|
@ -90,8 +89,7 @@ func GetUserFriendList(pid uint32) ([]*friends_wiiu_types.FriendInfo, error) {
|
|||
var lastOnlineTime uint64
|
||||
err = database.Postgres.QueryRow(`SELECT last_online FROM wiiu.user_data WHERE pid=$1`, friendPID).Scan(&lastOnlineTime)
|
||||
if err != nil {
|
||||
globals.Logger.Critical(err.Error())
|
||||
continue
|
||||
return make([]*friends_wiiu_types.FriendInfo, 0), err
|
||||
}
|
||||
|
||||
lastOnline = nex.NewDateTime(lastOnlineTime) // TODO: Change this
|
||||
|
|
@ -99,8 +97,7 @@ func GetUserFriendList(pid uint32) ([]*friends_wiiu_types.FriendInfo, error) {
|
|||
|
||||
status, err := GetUserComment(friendPID)
|
||||
if err != nil {
|
||||
globals.Logger.Critical(err.Error())
|
||||
continue
|
||||
return make([]*friends_wiiu_types.FriendInfo, 0), err
|
||||
}
|
||||
|
||||
friendInfo.Status = status
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@ import (
|
|||
"time"
|
||||
|
||||
"github.com/PretendoNetwork/friends/database"
|
||||
"github.com/PretendoNetwork/friends/globals"
|
||||
"github.com/PretendoNetwork/friends/utility"
|
||||
"github.com/PretendoNetwork/nex-go"
|
||||
friends_wiiu_types "github.com/PretendoNetwork/nex-protocols-go/friends-wiiu/types"
|
||||
|
|
@ -35,8 +34,7 @@ func GetUserFriendRequestsIn(pid uint32) ([]*friends_wiiu_types.FriendRequest, e
|
|||
|
||||
userInfo, err := utility.GetUserInfoByPID(senderPID)
|
||||
if err != nil {
|
||||
globals.Logger.Critical(err.Error())
|
||||
continue
|
||||
return make([]*friends_wiiu_types.FriendRequest, 0), err
|
||||
}
|
||||
|
||||
friendRequest := friends_wiiu_types.NewFriendRequest()
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ import (
|
|||
"database/sql"
|
||||
|
||||
"github.com/PretendoNetwork/friends/database"
|
||||
"github.com/PretendoNetwork/friends/globals"
|
||||
"github.com/PretendoNetwork/friends/utility"
|
||||
"github.com/PretendoNetwork/nex-go"
|
||||
friends_wiiu_types "github.com/PretendoNetwork/nex-protocols-go/friends-wiiu/types"
|
||||
|
|
@ -34,8 +33,7 @@ func GetUserFriendRequestsOut(pid uint32) ([]*friends_wiiu_types.FriendRequest,
|
|||
|
||||
userInfo, err := utility.GetUserInfoByPID(recipientPID)
|
||||
if err != nil {
|
||||
globals.Logger.Critical(err.Error())
|
||||
continue
|
||||
return make([]*friends_wiiu_types.FriendRequest, 0), err
|
||||
}
|
||||
|
||||
friendRequest := friends_wiiu_types.NewFriendRequest()
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import (
|
|||
"github.com/PretendoNetwork/friends/database"
|
||||
)
|
||||
|
||||
// Remove a block from a user
|
||||
// UnsetUserBlocked removes a block from a user
|
||||
func UnsetUserBlocked(user1_pid uint32, user2_pid uint32) error {
|
||||
result, err := database.Postgres.Exec(`
|
||||
DELETE FROM wiiu.blocks WHERE blocker_pid=$1 AND blocked_pid=$2`, user1_pid, user2_pid)
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import (
|
|||
"github.com/PretendoNetwork/nex-go"
|
||||
)
|
||||
|
||||
// Update a users comment
|
||||
// UpdateUserComment updates a user's comment
|
||||
func UpdateUserComment(pid uint32, message string) (uint64, error) {
|
||||
changed := nex.NewDateTime(0).Now()
|
||||
|
||||
|
|
|
|||
|
|
@ -2,11 +2,11 @@ package database_wiiu
|
|||
|
||||
import (
|
||||
"github.com/PretendoNetwork/friends/database"
|
||||
"github.com/PretendoNetwork/friends/globals"
|
||||
"github.com/PretendoNetwork/nex-go"
|
||||
)
|
||||
|
||||
func UpdateUserLastOnlineTime(pid uint32, lastOnline *nex.DateTime) {
|
||||
// UpdateUserLastOnlineTime updates a user's last online time
|
||||
func UpdateUserLastOnlineTime(pid uint32, lastOnline *nex.DateTime) error {
|
||||
_, err := database.Postgres.Exec(`
|
||||
INSERT INTO wiiu.user_data (pid, last_online)
|
||||
VALUES ($1, $2)
|
||||
|
|
@ -15,6 +15,8 @@ func UpdateUserLastOnlineTime(pid uint32, lastOnline *nex.DateTime) {
|
|||
last_online = $2`, pid, lastOnline.Value())
|
||||
|
||||
if err != nil {
|
||||
globals.Logger.Critical(err.Error())
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import (
|
|||
friends_wiiu_types "github.com/PretendoNetwork/nex-protocols-go/friends-wiiu/types"
|
||||
)
|
||||
|
||||
// UpdateUserPrincipalPreference updates the user preferences
|
||||
func UpdateUserPrincipalPreference(pid uint32, principalPreference *friends_wiiu_types.PrincipalPreference) error {
|
||||
_, err := database.Postgres.Exec(`
|
||||
INSERT INTO wiiu.user_data (pid, show_online, show_current_game, block_friend_requests)
|
||||
|
|
|
|||
8
go.mod
8
go.mod
|
|
@ -4,9 +4,9 @@ go 1.18
|
|||
|
||||
require (
|
||||
github.com/PretendoNetwork/grpc-go v1.0.2
|
||||
github.com/PretendoNetwork/nex-go v1.0.35
|
||||
github.com/PretendoNetwork/nex-protocols-common-go v1.0.25
|
||||
github.com/PretendoNetwork/nex-protocols-go v1.0.49
|
||||
github.com/PretendoNetwork/nex-go v1.0.36
|
||||
github.com/PretendoNetwork/nex-protocols-common-go v1.0.26
|
||||
github.com/PretendoNetwork/nex-protocols-go v1.0.50
|
||||
github.com/PretendoNetwork/plogger-go v1.0.4
|
||||
github.com/golang/protobuf v1.5.3
|
||||
github.com/joho/godotenv v1.5.1
|
||||
|
|
@ -25,6 +25,6 @@ require (
|
|||
golang.org/x/sys v0.11.0 // indirect
|
||||
golang.org/x/term v0.11.0 // indirect
|
||||
golang.org/x/text v0.12.0 // indirect
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20230807174057-1744710a1577 // indirect
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20230814215434-ca7cfce7776a // indirect
|
||||
google.golang.org/protobuf v1.31.0 // indirect
|
||||
)
|
||||
|
|
|
|||
16
go.sum
16
go.sum
|
|
@ -1,11 +1,11 @@
|
|||
github.com/PretendoNetwork/grpc-go v1.0.2 h1:9TvKmX7dCOANyoHEra1MMYqS1N/RGav66TRG4SHInvo=
|
||||
github.com/PretendoNetwork/grpc-go v1.0.2/go.mod h1:XZjEsij9lL7HJBNkH6JPbBIkUSq/1rjflvjGdv+DAj0=
|
||||
github.com/PretendoNetwork/nex-go v1.0.35 h1:2oZxb4YUlMgFcT2tSRETrjsrS/9Wxf3BVr45+bMvjRM=
|
||||
github.com/PretendoNetwork/nex-go v1.0.35/go.mod h1:v3dYsytdk7VvZOqplKwVqQOPa9heaq2V4DOAzCwyYNE=
|
||||
github.com/PretendoNetwork/nex-protocols-common-go v1.0.25 h1:mMvmzrqwwBk6iFq8mCd8jn0XcxwFrhSc3jFITpprsZs=
|
||||
github.com/PretendoNetwork/nex-protocols-common-go v1.0.25/go.mod h1:yLskCITByVXqxxuBd7389wW1xOhzSw4nmPNpA86CHzk=
|
||||
github.com/PretendoNetwork/nex-protocols-go v1.0.49 h1:CIAjb9H11uTLj4JT2/4eedX1NsnQbBEFAJsSSEE2zR8=
|
||||
github.com/PretendoNetwork/nex-protocols-go v1.0.49/go.mod h1:ztsrVFHaJc5MDBpL1rv4PgriLsTjl3R8u5XVxJHUzCk=
|
||||
github.com/PretendoNetwork/nex-go v1.0.36 h1:eOJM80ytFZgMwyq63pxjfjZrFdtaIJXbM1B2ESvvKhE=
|
||||
github.com/PretendoNetwork/nex-go v1.0.36/go.mod h1:v3dYsytdk7VvZOqplKwVqQOPa9heaq2V4DOAzCwyYNE=
|
||||
github.com/PretendoNetwork/nex-protocols-common-go v1.0.26 h1:lddBn6khciXt4rEnRhrwzX9vtc0GvNQ8JLfxzMwTUKo=
|
||||
github.com/PretendoNetwork/nex-protocols-common-go v1.0.26/go.mod h1:wrA+ueFqXMBxfF8p25Q72kPuopDbdjw/MvtnOqvWICY=
|
||||
github.com/PretendoNetwork/nex-protocols-go v1.0.50 h1:ZTAXWjCw5rAsQgWtHp6qklRcmVd/y6KRdBYmR3hS/Xw=
|
||||
github.com/PretendoNetwork/nex-protocols-go v1.0.50/go.mod h1:ztsrVFHaJc5MDBpL1rv4PgriLsTjl3R8u5XVxJHUzCk=
|
||||
github.com/PretendoNetwork/plogger-go v1.0.4 h1:PF7xHw9eDRHH+RsAP9tmAE7fG0N0p6H4iPwHKnsoXwc=
|
||||
github.com/PretendoNetwork/plogger-go v1.0.4/go.mod h1:7kD6M4vPq1JL4LTuPg6kuB1OvUBOwQOtAvTaUwMbwvU=
|
||||
github.com/fatih/color v1.15.0 h1:kOqh6YHBtK8aywxGerMG2Eq3H6Qgoqeo13Bk2Mv/nBs=
|
||||
|
|
@ -44,8 +44,8 @@ golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU=
|
|||
golang.org/x/text v0.12.0 h1:k+n5B8goJNdU7hSvEtMUz3d1Q6D/XW4COJSJR6fN0mc=
|
||||
golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
|
||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20230807174057-1744710a1577 h1:wukfNtZmZUurLN/atp2hiIeTKn7QJWIQdHzqmsOnAOk=
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20230807174057-1744710a1577/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M=
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20230814215434-ca7cfce7776a h1:5rTPHLf5eLPfqGvw3fLpEmUpko2Ky91ft14LxGs5BZc=
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20230814215434-ca7cfce7776a/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M=
|
||||
google.golang.org/grpc v1.57.0 h1:kfzNeI/klCGD2YPMUlaGNT3pxvYfga7smW3Vth8Zsiw=
|
||||
google.golang.org/grpc v1.57.0/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo=
|
||||
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ func GetBasicInfo(err error, client *nex.Client, callID uint32, pids []uint32) u
|
|||
info, err := utility.GetUserInfoByPID(pid)
|
||||
if err != nil {
|
||||
globals.Logger.Critical(err.Error())
|
||||
continue
|
||||
return nex.Errors.FPD.Unknown
|
||||
}
|
||||
|
||||
if info.PID != 0 {
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ func GetRequestBlockSettings(err error, client *nex.Client, callID uint32, pids
|
|||
isBlocked, err := database_wiiu.IsFriendRequestBlocked(client.PID(), requestedPID)
|
||||
if err != nil {
|
||||
globals.Logger.Critical(err.Error())
|
||||
continue
|
||||
return nex.Errors.Core.Unknown
|
||||
}
|
||||
|
||||
setting.IsBlocked = isBlocked
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package nex
|
|||
|
||||
import (
|
||||
"os"
|
||||
"strconv"
|
||||
|
||||
"github.com/PretendoNetwork/friends/globals"
|
||||
nex "github.com/PretendoNetwork/nex-go"
|
||||
|
|
@ -11,15 +12,17 @@ import (
|
|||
func registerCommonAuthenticationServerProtocols() {
|
||||
ticketGrantingProtocol := ticket_granting.NewCommonTicketGrantingProtocol(globals.AuthenticationServer)
|
||||
|
||||
port, _ := strconv.Atoi(os.Getenv("PN_FRIENDS_SECURE_SERVER_PORT"))
|
||||
|
||||
secureStationURL := nex.NewStationURL("")
|
||||
secureStationURL.SetScheme("prudps")
|
||||
secureStationURL.SetAddress(os.Getenv("PN_FRIENDS_SECURE_SERVER_HOST"))
|
||||
secureStationURL.SetPort(os.Getenv("PN_FRIENDS_SECURE_SERVER_PORT"))
|
||||
secureStationURL.SetCID("1")
|
||||
secureStationURL.SetPID("2")
|
||||
secureStationURL.SetSID("1")
|
||||
secureStationURL.SetStream("10")
|
||||
secureStationURL.SetType("2")
|
||||
secureStationURL.SetPort(uint32(port))
|
||||
secureStationURL.SetCID(1)
|
||||
secureStationURL.SetPID(2)
|
||||
secureStationURL.SetSID(1)
|
||||
secureStationURL.SetStream(10)
|
||||
secureStationURL.SetType(2)
|
||||
|
||||
ticketGrantingProtocol.SetSecureStationURL(secureStationURL)
|
||||
ticketGrantingProtocol.SetBuildName(serverBuildString)
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
package nex_secure_connection
|
||||
|
||||
import (
|
||||
"strconv"
|
||||
"time"
|
||||
|
||||
database_3ds "github.com/PretendoNetwork/friends/database/3ds"
|
||||
|
|
@ -32,11 +31,19 @@ func RegisterEx(err error, client *nex.Client, callID uint32, stationUrls []*nex
|
|||
case "NintendoLoginData":
|
||||
user.Platform = types.WUP // Platform is Wii U
|
||||
|
||||
database_wiiu.UpdateUserLastOnlineTime(pid, lastOnline)
|
||||
err = database_wiiu.UpdateUserLastOnlineTime(pid, lastOnline)
|
||||
if err != nil {
|
||||
globals.Logger.Critical(err.Error())
|
||||
retval = nex.NewResultError(nex.Errors.Authentication.Unknown)
|
||||
}
|
||||
case "AccountExtraInfo":
|
||||
user.Platform = types.CTR // Platform is 3DS
|
||||
|
||||
database_3ds.UpdateUserLastOnlineTime(pid, lastOnline)
|
||||
err = database_3ds.UpdateUserLastOnlineTime(pid, lastOnline)
|
||||
if err != nil {
|
||||
globals.Logger.Critical(err.Error())
|
||||
retval = nex.NewResultError(nex.Errors.Authentication.Unknown)
|
||||
}
|
||||
default:
|
||||
globals.Logger.Errorf("Unknown loginData data type %s!", loginDataType)
|
||||
retval = nex.NewResultError(nex.Errors.Authentication.ValidationFailed)
|
||||
|
|
@ -46,10 +53,9 @@ func RegisterEx(err error, client *nex.Client, callID uint32, stationUrls []*nex
|
|||
localStation := stationUrls[0]
|
||||
|
||||
address := client.Address().IP.String()
|
||||
port := strconv.Itoa(client.Address().Port)
|
||||
|
||||
localStation.SetAddress(address)
|
||||
localStation.SetPort(port)
|
||||
localStation.SetPort(uint32(client.Address().Port))
|
||||
|
||||
localStationURL := localStation.EncodeToString()
|
||||
|
||||
|
|
|
|||
|
|
@ -50,10 +50,18 @@ func StartSecureServer() {
|
|||
lastOnline.FromTimestamp(time.Now())
|
||||
|
||||
if platform == types.WUP {
|
||||
database_wiiu.UpdateUserLastOnlineTime(pid, lastOnline)
|
||||
err := database_wiiu.UpdateUserLastOnlineTime(pid, lastOnline)
|
||||
if err != nil {
|
||||
globals.Logger.Critical(err.Error())
|
||||
}
|
||||
|
||||
notifications_wiiu.SendUserWentOfflineGlobally(packet.Sender())
|
||||
} else if platform == types.CTR {
|
||||
database_3ds.UpdateUserLastOnlineTime(pid, lastOnline)
|
||||
err := database_3ds.UpdateUserLastOnlineTime(pid, lastOnline)
|
||||
if err != nil {
|
||||
globals.Logger.Critical(err.Error())
|
||||
}
|
||||
|
||||
notifications_3ds.SendUserWentOfflineGlobally(packet.Sender())
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user