mirror of
https://github.com/PretendoNetwork/wiiu-chat-secure.git
synced 2026-03-21 17:44:55 -05:00
Update to newer database mechanism (postgresql)
This commit is contained in:
parent
694883da50
commit
174c63cdcb
|
|
@ -21,4 +21,5 @@ func ConnectPostgres() {
|
|||
|
||||
globals.Logger.Success("Connected to Postgres!")
|
||||
|
||||
InitPostgres()
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,18 +1,14 @@
|
|||
package database
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"go.mongodb.org/mongo-driver/bson"
|
||||
"github.com/PretendoNetwork/nex-go/v2/types"
|
||||
"github.com/PretendoNetwork/wiiu-chat/globals"
|
||||
)
|
||||
|
||||
func EndCall(caller uint32) {
|
||||
filter := bson.D{
|
||||
{"caller_pid", caller},
|
||||
}
|
||||
|
||||
_, err := callsCollection.DeleteOne(context.TODO(), filter)
|
||||
func EndCall(caller types.PID) {
|
||||
_, err := Postgres.Exec(`DELETE FROM ongoingcalls WHERE caller_pid = $1;`, caller)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
globals.Logger.Critical(err.Error())
|
||||
return
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,26 +1,14 @@
|
|||
package database
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"go.mongodb.org/mongo-driver/bson"
|
||||
"github.com/PretendoNetwork/nex-go/v2/types"
|
||||
"github.com/PretendoNetwork/wiiu-chat/globals"
|
||||
)
|
||||
|
||||
func EndCallRinging(caller uint32) {
|
||||
filter := bson.D{
|
||||
{"caller_pid", caller},
|
||||
}
|
||||
|
||||
update := bson.D{
|
||||
{
|
||||
"$set", bson.D{
|
||||
{"ringing", false},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
_, err := callsCollection.UpdateOne(context.TODO(), filter, update)
|
||||
func EndCallRinging(caller types.PID) {
|
||||
_, err := Postgres.Exec(`UPDATE ongoingcalls SET (ringing = $1) WHERE caller_pid = $2;`, false, caller)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
globals.Logger.Critical(err.Error())
|
||||
return
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,27 +1,16 @@
|
|||
package database
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"go.mongodb.org/mongo-driver/bson"
|
||||
"go.mongodb.org/mongo-driver/mongo"
|
||||
"go.mongodb.org/mongo-driver/mongo/options"
|
||||
"github.com/PretendoNetwork/nex-go/v2/types"
|
||||
"github.com/PretendoNetwork/wiiu-chat/globals"
|
||||
)
|
||||
|
||||
func GetCallInfoByCaller(caller uint32) (uint32, uint32, bool) { // caller pid, target pid, ringing
|
||||
var result bson.M
|
||||
filter := bson.D{
|
||||
{"caller_pid", caller},
|
||||
}
|
||||
|
||||
err := callsCollection.FindOne(context.TODO(), filter, options.FindOne()).Decode(&result)
|
||||
func GetCallInfoByCaller(caller types.PID) (caller_pid types.PID, target_pid types.PID, ringing types.Bool) {
|
||||
row := Postgres.QueryRow(`SELECT (caller_pid, target_pid, ringing) FROM ongoingcalls WHERE caller_pid = $1;`, caller)
|
||||
err := row.Scan(&caller_pid, &target_pid, &ringing)
|
||||
if err != nil {
|
||||
if err == mongo.ErrNoDocuments {
|
||||
return 0, 0, false
|
||||
} else {
|
||||
panic(err)
|
||||
}
|
||||
} else {
|
||||
return uint32(result["caller_pid"].(int64)), uint32(result["target_pid"].(int64)), result["ringing"].(bool)
|
||||
globals.Logger.Critical(err.Error())
|
||||
return 0, 0, false
|
||||
}
|
||||
return caller_pid, target_pid, ringing
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,27 +1,16 @@
|
|||
package database
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"go.mongodb.org/mongo-driver/bson"
|
||||
"go.mongodb.org/mongo-driver/mongo"
|
||||
"go.mongodb.org/mongo-driver/mongo/options"
|
||||
"github.com/PretendoNetwork/nex-go/v2/types"
|
||||
"github.com/PretendoNetwork/wiiu-chat/globals"
|
||||
)
|
||||
|
||||
func GetCallInfoByTarget(target uint32) (uint32, uint32, bool) { // caller pid, target pid, ringing
|
||||
var result bson.M
|
||||
filter := bson.D{
|
||||
{"target_pid", target},
|
||||
}
|
||||
|
||||
err := callsCollection.FindOne(context.TODO(), filter, options.FindOne()).Decode(&result)
|
||||
func GetCallInfoByTarget(target types.PID) (caller_pid types.PID, target_pid types.PID, ringing types.Bool) {
|
||||
row := Postgres.QueryRow(`SELECT (caller_pid, target_pid, ringing) FROM ongoingcalls WHERE target_pid = $1;`, target)
|
||||
err := row.Scan(&caller_pid, &target_pid, &ringing)
|
||||
if err != nil {
|
||||
if err == mongo.ErrNoDocuments {
|
||||
return 0, 0, false
|
||||
} else {
|
||||
panic(err)
|
||||
}
|
||||
} else {
|
||||
return uint32(result["caller_pid"].(int64)), uint32(result["target_pid"].(int64)), result["ringing"].(bool)
|
||||
globals.Logger.Warning(err.Error())
|
||||
return 0, 0, false
|
||||
}
|
||||
return caller_pid, target_pid, ringing
|
||||
}
|
||||
|
|
|
|||
26
database/init_postgres.go
Normal file
26
database/init_postgres.go
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
package database
|
||||
|
||||
import "github.com/PretendoNetwork/wiiu-chat/globals"
|
||||
|
||||
func InitPostgres() {
|
||||
var err error
|
||||
|
||||
_, err = Postgres.Exec(`CREATE TABLE IF NOT EXISTS ongoingcalls (
|
||||
caller_pid integer UNIQUE PRIMARY KEY,
|
||||
target_pid integer,
|
||||
ringing bool
|
||||
)`)
|
||||
if err != nil {
|
||||
globals.Logger.Critical(err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
// Empty out call list if there happens to be old data lingering
|
||||
_, err = Postgres.Exec(`DELETE FROM ongoingcalls;`)
|
||||
if err != nil {
|
||||
globals.Logger.Critical(err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
globals.Logger.Success("Postgres tables created")
|
||||
}
|
||||
|
|
@ -1,20 +1,14 @@
|
|||
package database
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"go.mongodb.org/mongo-driver/bson"
|
||||
"github.com/PretendoNetwork/nex-go/v2/types"
|
||||
"github.com/PretendoNetwork/wiiu-chat/globals"
|
||||
)
|
||||
|
||||
func NewCall(caller uint32, target uint32) {
|
||||
document := bson.D{
|
||||
{"caller_pid", caller},
|
||||
{"target_pid", target},
|
||||
{"ringing", true},
|
||||
}
|
||||
|
||||
_, err := callsCollection.InsertOne(context.TODO(), document)
|
||||
func NewCall(caller types.PID, target types.PID) {
|
||||
_, err := Postgres.Exec(`INSERT INTO ongoingcalls (caller_pid, target_pid, ringing) VALUES ($1, $2, $3);`, caller, target, true)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
globals.Logger.Critical(err.Error())
|
||||
return
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user