message storage and from removed from packedusermessage (weakness)
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
ycc
2024-02-18 13:46:11 +01:00
parent 05cc2ee218
commit 07dfae8f0e
6 changed files with 138 additions and 117 deletions

View File

@ -74,8 +74,8 @@ func StoreMessage(peer *Peer, usermessage *meowlib.UserMessage, password string)
}
// Get new messages from a peer
func GetNewMessages(peer *Peer, lastDbId int, password string) ([]InternalUserMessage, error) {
var messages []InternalUserMessage
func GetNewMessages(peer *Peer, lastDbId int, password string) ([]*InternalUserMessage, error) {
var messages []*InternalUserMessage
fileidx := len(peer.DbIds) - 1
// There fileidx should provide the db that we need (unless wantMore overlaps the next DB)
db, _ := sql.Open("sqlite3", filepath.Join(GetConfig().StoragePath, peer.DbIds[fileidx]+GetConfig().DbSuffix)) // Open the created SQLite File
@ -96,7 +96,7 @@ func GetNewMessages(peer *Peer, lastDbId int, password string) ([]InternalUserMe
defer rows.Close()
for rows.Next() {
var ium InternalUserMessage
var ium *InternalUserMessage
var um meowlib.UserMessage
var id int64
var m []byte
@ -112,9 +112,10 @@ func GetNewMessages(peer *Peer, lastDbId int, password string) ([]InternalUserMe
if err != nil {
return nil, err
}
ium = InternalUserMessageFromUserMessage(peer, &um)
ium.Dbid = id
ium.Dbfile = peer.DbIds[fileidx]
ium.Message = &um
messages = append(messages, ium)
}
// TODO DB overlap
@ -122,8 +123,8 @@ func GetNewMessages(peer *Peer, lastDbId int, password string) ([]InternalUserMe
}
// Get old messages from a peer
func GetMessagesHistory(peer *Peer, inAppMsgCount int, lastDbId int, wantMore int, password string) ([]InternalUserMessage, error) {
var messages []InternalUserMessage
func GetMessagesHistory(peer *Peer, inAppMsgCount int, lastDbId int, wantMore int, password string) ([]*InternalUserMessage, error) {
var messages []*InternalUserMessage
fileidx := len(peer.DbIds) - 1
// initialize count with last db message count
countStack, err := getMessageCount(peer.DbIds[fileidx])
@ -177,9 +178,10 @@ func GetMessagesHistory(peer *Peer, inAppMsgCount int, lastDbId int, wantMore in
if err != nil {
return nil, err
}
ium = InternalUserMessageFromUserMessage(peer, &um)
ium.Dbid = id
ium.Dbfile = peer.DbIds[fileidx]
ium.Message = &um
messages = append(messages, ium)
}
// TODO DB overlap