4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
# File 'app/services/lesli_security/role_descriptor_service.rb', line 4
def index role
sanitized_role_power_join = ActiveRecord::Base.sanitize_sql([%(
left join lesli_role_powers
on lesli_role_powers.descriptor_id = lesli_descriptors.id
and lesli_role_powers.role_id = ?
), role.id])
current_user.account.descriptors
.where.not(:name => "owner")
.joins(sanitized_role_power_join)
.select(
"coalesce(lesli_role_powers.descriptor_id, lesli_descriptors.id) as id",
"lesli_descriptors.name as name",
"lesli_descriptors.description as description",
"case when lesli_role_powers.deleted_at is null and lesli_role_powers.id is not null then true else false end as active"
)
end
|