gab-social/app/services/fetch_groups_service.rb
Developer 59484da4dc Updated FetchGroupsService to fetch featured groups that are not private and visible
• Updated:
- FetchGroupsService to fetch featured groups that are not private and visible
2021-02-10 12:43:23 -05:00

29 lines
724 B
Ruby

# frozen_string_literal: true
class FetchGroupsService < BaseService
def call(type)
if type == "featured"
body = Redis.current.with do |conn|
conn.get("groups:featuredgroups")
end
if body.nil? || !body || body.empty?
@groupIds = Group.where(is_featured: true, is_archived: false, is_private: false, is_visible: true).limit(150).all.pluck(:id)
Redis.current.with do |conn|
conn.set("groups:featuredgroups", @groupIds.join(","))
end
Redis.current.with do |conn|
conn.expire("groups:featuredgroups", 6.hours.seconds)
end
@groupIds
else
body.split(",")
end
end
end
end