package domain type EngagementRepository interface { AddUserEngagement(userId int, message string, engagementType EngagementType) (Engagement, error) AddUserEntityEngagement(userId, entityId int, message string, engagementType EngagementType) (Engagement, error) AddEngagement(message string, engagementType EngagementType) (Engagement, error) AddEntityEngagement(entityId int, message string, engagementType EngagementType) (Engagement, error) GetUserEngagement(userId, limit int) ([]Engagement, error) UserFavoriteRecipeToggle(userId, recipeId int) (bool, error) }