Class: API::Entities::ProjectWithAccess
- Inherits:
-
Project
- Object
- Grape::Entity
- ProjectIdentity
- BasicProjectDetails
- ProjectDetails
- Project
- API::Entities::ProjectWithAccess
- Defined in:
- lib/api/entities/project_with_access.rb
Class Method Summary collapse
-
.postload_relation(projects_relation, options = {}) ⇒ Object
rubocop: disable CodeReuse/ActiveRecord.
- .preload_relation(projects_relation, options = {}) ⇒ Object
Methods inherited from Project
execute_batch_counting, preload_resource
Methods included from Helpers::RelatedResourcesHelpers
#expose_path, #expose_url, #issues_available?, #mrs_available?, #project_feature_string_access_level
Methods inherited from ProjectDetails
execute_batch_counting, repositories_for_preload
Methods inherited from BasicProjectDetails
Methods included from ProjectsRelationBuilder
#execute_batch_counting, #preload_groups, #preload_member_roles, #preload_relation, #preload_repository_cache, #prepare_relation, #projects_for_group_preload, #repositories_for_preload
Class Method Details
.postload_relation(projects_relation, options = {}) ⇒ Object
rubocop: disable CodeReuse/ActiveRecord
31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/api/entities/project_with_access.rb', line 31 def self.postload_relation(projects_relation, = {}) [:project_members] = [:current_user] .project_members .where(source_id: projects_relation.subquery(:id)) .preload(:source, user: [notification_settings: :source]) project_group_ids = projects_relation.subquery(:namespace_id) [:group_members] = ::GroupMember .max_access_members(project_group_ids, [:current_user]) .preload(:source, user: [notification_settings: :source]) end |
.preload_relation(projects_relation, options = {}) ⇒ Object
26 27 28 |
# File 'lib/api/entities/project_with_access.rb', line 26 def self.preload_relation(projects_relation, = {}) super(projects_relation, ) end |