// AddFilter add a user filter to the topic func AddFilter(topic *tat.Topic, user *tat.User, filter *tat.Filter) error { filter.ID = bson.NewObjectId().Hex() filter.UserID = user.ID filter.Username = user.Username for _, h := range filter.Hooks { h.ID = bson.NewObjectId().Hex() } err := store.Tat().CTopics.Update( bson.M{"_id": topic.ID}, bson.M{"$addToSet": bson.M{"filters": filter}}, ) cache.CleanTopicByName(topic.Topic) return err }