This commit is contained in:
		@@ -218,20 +218,55 @@ func GetMessagesHistory(peer *Peer, inAppMsgCount int, lastDbId int, wantMore in
 | 
			
		||||
		ium = DbMessageToInternalUserMessage(id, peer.DbIds[fileidx], &dbm)
 | 
			
		||||
		ium.Dbid = id
 | 
			
		||||
		ium.Dbfile = peer.DbIds[fileidx]
 | 
			
		||||
 | 
			
		||||
		messages = append(messages, *ium)
 | 
			
		||||
	}
 | 
			
		||||
	// TODO DB overlap
 | 
			
		||||
	return messages, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// make an image from the files content (loads the first image, or build a more complex view)
 | 
			
		||||
func MessagePreview(msg *InternalUserMessage, password string) ([]byte, error) {
 | 
			
		||||
	// get the hidden file name
 | 
			
		||||
	if len(msg.FilePaths) == 0 {
 | 
			
		||||
		return nil, nil
 | 
			
		||||
// Get old messages from a peer
 | 
			
		||||
func GetMessagePreview(peer *Peer, dbFile string, dbId int64, password string) ([]byte, error) {
 | 
			
		||||
 | 
			
		||||
	// There fileidx should provide the db that we need (unless wantMore overlaps the next DB)
 | 
			
		||||
	db, _ := sql.Open("sqlite3", filepath.Join(GetConfig().StoragePath, GetConfig().GetIdentity().Uuid, dbFile+GetConfig().DbSuffix)) // Open the created SQLite File
 | 
			
		||||
	defer db.Close()
 | 
			
		||||
 | 
			
		||||
	stm, err := db.Prepare("SELECT id, m FROM message WHERE id=?")
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	defer stm.Close()
 | 
			
		||||
	rows, err := stm.Query(dbId)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	defer rows.Close()
 | 
			
		||||
	var dbm meowlib.DbMessage
 | 
			
		||||
	for rows.Next() {
 | 
			
		||||
 | 
			
		||||
		var id int64
 | 
			
		||||
		var m []byte
 | 
			
		||||
		err = rows.Scan(&id, &m)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			return nil, err
 | 
			
		||||
		}
 | 
			
		||||
		decdata, err := meowlib.SymDecrypt(password, m)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			return nil, err
 | 
			
		||||
		}
 | 
			
		||||
		err = proto.Unmarshal(decdata, &dbm)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			return nil, err
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	}
 | 
			
		||||
	return FilePreview(dbm.FilePaths[0], password)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func FilePreview(filename string, password string) ([]byte, error) {
 | 
			
		||||
	// get the hidden file
 | 
			
		||||
	encData, err := os.ReadFile(msg.FilePaths[0])
 | 
			
		||||
	encData, err := os.ReadFile(filename)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
@@ -243,6 +278,15 @@ func MessagePreview(msg *InternalUserMessage, password string) ([]byte, error) {
 | 
			
		||||
	return data, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// make an image from the files content (loads the first image, or build a more complex view)
 | 
			
		||||
func InternalUserMessagePreview(msg *InternalUserMessage, password string) ([]byte, error) {
 | 
			
		||||
	// get the hidden file name
 | 
			
		||||
	if len(msg.FilePaths) == 0 {
 | 
			
		||||
		return nil, nil
 | 
			
		||||
	}
 | 
			
		||||
	return FilePreview(msg.FilePaths[0], password)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func getMessageCount(dbid string) (int, error) {
 | 
			
		||||
	db, _ := sql.Open("sqlite3", filepath.Join(GetConfig().StoragePath, GetConfig().GetIdentity().Uuid, dbid+GetConfig().DbSuffix)) // Open the created SQLite File
 | 
			
		||||
	defer db.Close()
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user