49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
# File 'app/models/concerns/rh_cloud_host.rb', line 49
def search_by_insights_uuid(_key, operator, value)
facet_table = ForemanRhCloud.with_iop_smart_proxy? ? Katello::Host::SubscriptionFacet.table_name : InsightsFacet.table_name
if ['IN', 'NOT IN'].include?(operator)
values = value.is_a?(Array) ? value : value.to_s.split(',').map(&:strip)
placeholders = (['?'] * values.size).join(',')
condition = sanitize_sql_for_conditions(
["#{facet_table}.uuid #{operator} (#{placeholders})", *values]
)
else
condition = sanitize_sql_for_conditions(
["#{facet_table}.uuid #{operator} ?", value_to_sql(operator, value)]
)
end
{
joins: "LEFT JOIN #{facet_table} ON #{facet_table}.host_id = #{Host::Managed.table_name}.id",
conditions: condition,
}
end
|