class Stytch::PolicyCache

def get_org_policy(organization_id:, invalidate: false)

def get_org_policy(organization_id:, invalidate: false)
  is_missing = @cached_org_policies[organization_id].nil?
  is_stale = !is_missing && @cached_org_policies[organization_id].last_update < Time.now.to_i - @cache_ttl
  reload_org_policy(organization_id: organization_id) if invalidate || is_missing || is_stale
  return { 'roles' => [] } if @cached_org_policies[organization_id].nil?
  @cached_org_policies[organization_id].org_policy
end