github.com/status-im/status-go@v1.1.0/protocol/persistence_collapsed_community_categories.go (about) 1 package protocol 2 3 func (db *sqlitePersistence) UpsertCollapsedCommunityCategory(category CollapsedCommunityCategory) error { 4 var err error 5 if category.Collapsed { 6 _, err = db.db.Exec("INSERT INTO collapsed_community_categories(community_id, category_id) VALUES(?,?)", category.CommunityID, category.CategoryID) 7 } else { 8 _, err = db.db.Exec("DELETE FROM collapsed_community_categories WHERE community_id = ? AND category_id = ?", category.CommunityID, category.CategoryID) 9 } 10 return err 11 } 12 13 func (db *sqlitePersistence) CollapsedCommunityCategories() ([]CollapsedCommunityCategory, error) { 14 var categories []CollapsedCommunityCategory 15 16 rows, err := db.db.Query(` 17 SELECT 18 community_id, 19 category_id 20 FROM 21 collapsed_community_categories 22 `) 23 if err != nil { 24 return nil, err 25 } 26 defer rows.Close() 27 28 for rows.Next() { 29 var c CollapsedCommunityCategory 30 err = rows.Scan( 31 &c.CommunityID, 32 &c.CategoryID, 33 ) 34 if err != nil { 35 return nil, err 36 } 37 categories = append(categories, c) 38 } 39 40 return categories, nil 41 }