diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-05-20 17:34:42 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-05-20 17:34:42 +0300 |
commit | 9f46488805e86b1bc341ea1620b866016c2ce5ed (patch) | |
tree | f9748c7e287041e37d6da49e0a29c9511dc34768 /app/serializers/ci | |
parent | dfc92d081ea0332d69c8aca2f0e745cb48ae5e6d (diff) |
Add latest changes from gitlab-org/gitlab@13-0-stable-ee
Diffstat (limited to 'app/serializers/ci')
-rw-r--r-- | app/serializers/ci/basic_variable_entity.rb | 13 | ||||
-rw-r--r-- | app/serializers/ci/dag_job_entity.rb | 11 | ||||
-rw-r--r-- | app/serializers/ci/dag_job_group_entity.rb | 9 | ||||
-rw-r--r-- | app/serializers/ci/dag_pipeline_entity.rb | 20 | ||||
-rw-r--r-- | app/serializers/ci/dag_pipeline_serializer.rb | 7 | ||||
-rw-r--r-- | app/serializers/ci/dag_stage_entity.rb | 9 | ||||
-rw-r--r-- | app/serializers/ci/instance_variable_serializer.rb | 7 |
7 files changed, 76 insertions, 0 deletions
diff --git a/app/serializers/ci/basic_variable_entity.rb b/app/serializers/ci/basic_variable_entity.rb new file mode 100644 index 00000000000..dad59e8735b --- /dev/null +++ b/app/serializers/ci/basic_variable_entity.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Ci + class BasicVariableEntity < Grape::Entity + expose :id + expose :key + expose :value + expose :variable_type + + expose :protected?, as: :protected + expose :masked?, as: :masked + end +end diff --git a/app/serializers/ci/dag_job_entity.rb b/app/serializers/ci/dag_job_entity.rb new file mode 100644 index 00000000000..b4947319ed1 --- /dev/null +++ b/app/serializers/ci/dag_job_entity.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Ci + class DagJobEntity < Grape::Entity + expose :name + + expose :needs, if: -> (job, _) { job.scheduling_type_dag? } do |job| + job.needs.pluck(:name) # rubocop: disable CodeReuse/ActiveRecord + end + end +end diff --git a/app/serializers/ci/dag_job_group_entity.rb b/app/serializers/ci/dag_job_group_entity.rb new file mode 100644 index 00000000000..ac1ed89281c --- /dev/null +++ b/app/serializers/ci/dag_job_group_entity.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Ci + class DagJobGroupEntity < Grape::Entity + expose :name + expose :size + expose :jobs, with: Ci::DagJobEntity + end +end diff --git a/app/serializers/ci/dag_pipeline_entity.rb b/app/serializers/ci/dag_pipeline_entity.rb new file mode 100644 index 00000000000..b615dd2b194 --- /dev/null +++ b/app/serializers/ci/dag_pipeline_entity.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Ci + class DagPipelineEntity < Grape::Entity + expose :ordered_stages_with_preloads, as: :stages, using: Ci::DagStageEntity + + private + + def ordered_stages_with_preloads + object.ordered_stages.preload(preloaded_relations) # rubocop: disable CodeReuse/ActiveRecord + end + + def preloaded_relations + [ + :project, + { latest_statuses: :needs } + ] + end + end +end diff --git a/app/serializers/ci/dag_pipeline_serializer.rb b/app/serializers/ci/dag_pipeline_serializer.rb new file mode 100644 index 00000000000..0c9e9a9db69 --- /dev/null +++ b/app/serializers/ci/dag_pipeline_serializer.rb @@ -0,0 +1,7 @@ +# frozen_string_literal: true + +module Ci + class DagPipelineSerializer < BaseSerializer + entity Ci::DagPipelineEntity + end +end diff --git a/app/serializers/ci/dag_stage_entity.rb b/app/serializers/ci/dag_stage_entity.rb new file mode 100644 index 00000000000..c7969da6c3c --- /dev/null +++ b/app/serializers/ci/dag_stage_entity.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Ci + class DagStageEntity < Grape::Entity + expose :name + + expose :groups, with: Ci::DagJobGroupEntity + end +end diff --git a/app/serializers/ci/instance_variable_serializer.rb b/app/serializers/ci/instance_variable_serializer.rb new file mode 100644 index 00000000000..b0b49aecdbd --- /dev/null +++ b/app/serializers/ci/instance_variable_serializer.rb @@ -0,0 +1,7 @@ +# frozen_string_literal: true + +module Ci + class InstanceVariableSerializer < BaseSerializer + entity BasicVariableEntity + end +end |