mirror of
https://github.com/PretendoNetwork/friends.git
synced 2025-04-02 11:01:46 -04:00
39 lines
793 B
Go
39 lines
793 B
Go
package database_3ds
|
|
|
|
import (
|
|
"database/sql"
|
|
|
|
"github.com/PretendoNetwork/friends/database"
|
|
"github.com/PretendoNetwork/nex-go/v2/types"
|
|
)
|
|
|
|
// UpdateUserLastOnlineTime updates a user's last online time
|
|
func UpdateUserLastOnlineTime(pid uint32, lastOnline types.DateTime) error {
|
|
var showOnline bool
|
|
|
|
row, err := database.Manager.QueryRow(`SELECT show_online FROM "3ds".user_data WHERE pid=$1`, pid)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
err = row.Scan(&showOnline)
|
|
if err != nil && err != sql.ErrNoRows {
|
|
return err
|
|
}
|
|
|
|
if !showOnline {
|
|
return nil
|
|
}
|
|
|
|
_, err = database.Manager.Exec(`
|
|
INSERT INTO "3ds".user_data (pid, last_online)
|
|
VALUES ($1, $2)
|
|
ON CONFLICT (pid)
|
|
DO UPDATE SET
|
|
last_online = $2`, pid, uint64(lastOnline))
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
return nil
|
|
}
|