Fixed many database issues

This commit is contained in:
Dominic Renner
2019-03-06 16:33:42 +01:00
parent 6547a2ce1f
commit daf0faab61
6 changed files with 24 additions and 25 deletions

View File

@ -36,7 +36,7 @@ type UserQuery struct {
func (uq *UserQuery) CreateTable() error {
_, err := uq.db.Exec(`CREATE TABLE IF NOT EXISTS whatsapp_user (
mxid VARCHAR(255) PRIMARY KEY,
jid VARCHAR(25) UNIQUE,
jid VARCHAR(255) UNIQUE,
management_room VARCHAR(255),
@ -69,7 +69,7 @@ func (uq *UserQuery) GetAll() (users []*User) {
}
func (uq *UserQuery) GetByMXID(userID types.MatrixUserID) *User {
row := uq.db.QueryRow("SELECT * FROM whatsapp_user WHERE mxid=?", userID)
row := uq.db.QueryRow("SELECT * FROM whatsapp_user WHERE mxid=$1", userID)
if row == nil {
return nil
}
@ -77,7 +77,7 @@ func (uq *UserQuery) GetByMXID(userID types.MatrixUserID) *User {
}
func (uq *UserQuery) GetByJID(userID types.WhatsAppID) *User {
row := uq.db.QueryRow("SELECT * FROM whatsapp_user WHERE jid=?", stripSuffix(userID))
row := uq.db.QueryRow("SELECT * FROM whatsapp_user WHERE jid=$1", stripSuffix(userID))
if row == nil {
return nil
}
@ -150,7 +150,7 @@ func (user *User) sessionUnptr() (sess whatsapp.Session) {
func (user *User) Insert() {
sess := user.sessionUnptr()
_, err := user.db.Exec("INSERT INTO whatsapp_user VALUES (?, ?, ?, ?, ?, ?, ?, ?)", user.MXID, user.jidPtr(),
_, err := user.db.Exec("INSERT INTO whatsapp_user VALUES ($1, $2, $3, $4, $5, $6, $7, $8)", user.MXID, user.jidPtr(),
user.ManagementRoom,
sess.ClientId, sess.ClientToken, sess.ServerToken, sess.EncKey, sess.MacKey)
if err != nil {
@ -160,7 +160,7 @@ func (user *User) Insert() {
func (user *User) Update() {
sess := user.sessionUnptr()
_, err := user.db.Exec("UPDATE whatsapp_user SET jid=?, management_room=?, client_id=?, client_token=?, server_token=?, enc_key=?, mac_key=? WHERE mxid=?",
_, err := user.db.Exec("UPDATE whatsapp_user SET jid=$1, management_room=$2, client_id=$3, client_token=$4, server_token=$5, enc_key=$6, mac_key=$7 WHERE mxid=$8",
user.jidPtr(), user.ManagementRoom,
sess.ClientId, sess.ClientToken, sess.ServerToken, sess.EncKey, sess.MacKey,
user.MXID)