Class: Decidim::Api::QueryType
Overview
This type represents the root query type of the whole API.
Instance Method Summary
collapse
#current_component, #current_organization, #current_user
Instance Method Details
#component(id: {}) ⇒ Object
42
43
44
45
|
# File 'lib/decidim/api/query_type.rb', line 42
def component(id: {})
component = Decidim::Component.published.find_by(id:)
component&.organization == context[:current_organization] ? component : nil
end
|
#decidim ⇒ Object
51
52
53
|
# File 'lib/decidim/api/query_type.rb', line 51
def decidim
Decidim
end
|
#moderated_users ⇒ Object
92
93
94
|
# File 'lib/decidim/api/query_type.rb', line 92
def moderated_users
Decidim::UserModeration.joins(:user).where(decidim_users: { decidim_organization_id: organization&.id }).where.not(decidim_users: { blocked_at: nil })
end
|
#moderations ⇒ Object
96
97
98
|
# File 'lib/decidim/api/query_type.rb', line 96
def moderations
Decidim::Moderation.where(participatory_space: organization.participatory_spaces).includes(:reports).hidden
end
|
#organization ⇒ Object
55
56
57
|
# File 'lib/decidim/api/query_type.rb', line 55
def organization
context[:current_organization]
end
|
#participant_details(id: nil, nickname: nil) ⇒ Object
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
# File 'lib/decidim/api/query_type.rb', line 67
def participant_details(id: nil, nickname: nil)
participant = Decidim::Core::UserEntityFinder.new.call(object, { id:, nickname: }, context)
return nil unless participant
return nil unless Decidim::Core::ParticipantDetailsType.authorized?(participant, context)
Decidim::ActionLogger.log(
"read",
context[:current_user],
participant,
nil,
{}
)
participant
end
|
#session ⇒ Object
47
48
49
|
# File 'lib/decidim/api/query_type.rb', line 47
def session
context[:current_user]
end
|
#static_page_topics ⇒ Object
88
89
90
|
# File 'lib/decidim/api/query_type.rb', line 88
def static_page_topics
static_pages.collect(&:topic).uniq.compact_blank
end
|
#static_pages ⇒ Object
84
85
86
|
# File 'lib/decidim/api/query_type.rb', line 84
def static_pages
Decidim::StaticPage.accessible_for(organization, context[:current_user])
end
|
#user(id: nil, nickname: nil) ⇒ Object
59
60
61
|
# File 'lib/decidim/api/query_type.rb', line 59
def user(id: nil, nickname: nil)
Core::UserEntityFinder.new.call(object, { id:, nickname: }, context)
end
|
#users(filter: {}, order: {}) ⇒ Object
63
64
65
|
# File 'lib/decidim/api/query_type.rb', line 63
def users(filter: {}, order: {})
Core::UserEntityList.new.call(object, { filter:, order: }, context)
end
|