add association preloading for issue boards
This commit is contained in:
parent
61b596a681
commit
449455941e
|
@ -11,9 +11,15 @@ module Boards
|
||||||
issues = Boards::Issues::ListService.new(board_parent, current_user, filter_params).execute
|
issues = Boards::Issues::ListService.new(board_parent, current_user, filter_params).execute
|
||||||
issues = issues.page(params[:page]).per(params[:per] || 20)
|
issues = issues.page(params[:page]).per(params[:per] || 20)
|
||||||
make_sure_position_is_set(issues)
|
make_sure_position_is_set(issues)
|
||||||
|
issues = issues.preload(:project,
|
||||||
|
:labels,
|
||||||
|
:milestone,
|
||||||
|
:assignees,
|
||||||
|
:notes => [:award_emoji, :author]
|
||||||
|
)
|
||||||
|
|
||||||
render json: {
|
render json: {
|
||||||
issues: serialize_as_json(issues.preload(:project)),
|
issues: serialize_as_json(issues),
|
||||||
size: issues.total_count
|
size: issues.total_count
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
@ -76,14 +82,13 @@ module Boards
|
||||||
|
|
||||||
def serialize_as_json(resource)
|
def serialize_as_json(resource)
|
||||||
resource.as_json(
|
resource.as_json(
|
||||||
labels: true,
|
|
||||||
only: [:id, :iid, :project_id, :title, :confidential, :due_date, :relative_position],
|
only: [:id, :iid, :project_id, :title, :confidential, :due_date, :relative_position],
|
||||||
|
labels: true,
|
||||||
include: {
|
include: {
|
||||||
project: { only: [:id, :path] },
|
project: { only: [:id, :path] },
|
||||||
assignees: { only: [:id, :name, :username], methods: [:avatar_url] },
|
assignees: { only: [:id, :name, :username], methods: [:avatar_url] },
|
||||||
milestone: { only: [:id, :title] }
|
milestone: { only: [:id, :title] }
|
||||||
},
|
}
|
||||||
user: current_user
|
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue