From 48fe456c82a11717a7346573e360cc1e6976cb16 Mon Sep 17 00:00:00 2001 From: Eric Schubert Date: Mon, 7 Oct 2024 14:16:40 +0200 Subject: [PATCH] [chore] add dummy hierarchy item representer class - enable eager loading of representer classes in custom fields injector --- .../hierarchy/hierarchy_item_representer.rb | 43 +++++++++++++++++++ lib/api/v3/utilities/custom_field_injector.rb | 2 +- 2 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 lib/api/v3/custom_fields/hierarchy/hierarchy_item_representer.rb diff --git a/lib/api/v3/custom_fields/hierarchy/hierarchy_item_representer.rb b/lib/api/v3/custom_fields/hierarchy/hierarchy_item_representer.rb new file mode 100644 index 000000000000..bf1c63b26e25 --- /dev/null +++ b/lib/api/v3/custom_fields/hierarchy/hierarchy_item_representer.rb @@ -0,0 +1,43 @@ +#-- copyright +# OpenProject is an open source project management software. +# Copyright (C) the OpenProject GmbH +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License version 3. +# +# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: +# Copyright (C) 2006-2013 Jean-Philippe Lang +# Copyright (C) 2010-2013 the ChiliProject Team +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# See COPYRIGHT and LICENSE files for more details. +#++ + +module API + module V3 + module CustomFields + module Hierarchy + class HierarchyItemRepresenter < ::API::Decorators::Single + def _type + "HierarchyItem" + end + + property :id + end + end + end + end +end diff --git a/lib/api/v3/utilities/custom_field_injector.rb b/lib/api/v3/utilities/custom_field_injector.rb index 8cb34ef32e45..55cfa7a52728 100644 --- a/lib/api/v3/utilities/custom_field_injector.rb +++ b/lib/api/v3/utilities/custom_field_injector.rb @@ -58,7 +58,7 @@ class CustomFieldInjector "user" => "::API::V3::Principals::PrincipalRepresenterFactory", "version" => "::API::V3::Versions::VersionRepresenter", "list" => "::API::V3::CustomOptions::CustomOptionRepresenter", - "hierarchy" => "::API::V3::HierarchyItems::HierarchyItemRepresenter" + "hierarchy" => "::API::V3::CustomFields::Hierarchy::HierarchyItemRepresenter" }.freeze class << self