summaryrefslogtreecommitdiff
path: root/lib/api
diff options
context:
space:
mode:
Diffstat (limited to 'lib/api')
-rw-r--r--lib/api/entities.rb30
-rw-r--r--lib/api/entities/feature.rb22
-rw-r--r--lib/api/entities/feature_gate.rb10
-rw-r--r--lib/api/entities/impersonation_token.rb9
-rw-r--r--lib/api/entities/impersonation_token_with_token.rb9
5 files changed, 50 insertions, 30 deletions
diff --git a/lib/api/entities.rb b/lib/api/entities.rb
index 3435d1d6f11..c0970b4cd6c 100644
--- a/lib/api/entities.rb
+++ b/lib/api/entities.rb
@@ -169,36 +169,6 @@ module API
expose :last_pipeline, using: Entities::PipelineBasic
expose :variables, using: Entities::Variable
end
-
- class ImpersonationToken < PersonalAccessToken
- expose :impersonation
- end
-
- class ImpersonationTokenWithToken < PersonalAccessTokenWithToken
- expose :impersonation
- end
-
- class FeatureGate < Grape::Entity
- expose :key
- expose :value
- end
-
- class Feature < Grape::Entity
- expose :name
- expose :state
- expose :gates, using: FeatureGate do |model|
- model.gates.map do |gate|
- value = model.gate_values[gate.key]
-
- # By default all gate values are populated. Only show relevant ones.
- if (value.is_a?(Integer) && value.zero?) || (value.is_a?(Set) && value.empty?)
- next
- end
-
- { key: gate.key, value: value }
- end.compact
- end
- end
end
end
diff --git a/lib/api/entities/feature.rb b/lib/api/entities/feature.rb
new file mode 100644
index 00000000000..3c9182340ea
--- /dev/null
+++ b/lib/api/entities/feature.rb
@@ -0,0 +1,22 @@
+# frozen_string_literal: true
+
+module API
+ module Entities
+ class Feature < Grape::Entity
+ expose :name
+ expose :state
+ expose :gates, using: Entities::FeatureGate do |model|
+ model.gates.map do |gate|
+ value = model.gate_values[gate.key]
+
+ # By default all gate values are populated. Only show relevant ones.
+ if (value.is_a?(Integer) && value.zero?) || (value.is_a?(Set) && value.empty?)
+ next
+ end
+
+ { key: gate.key, value: value }
+ end.compact
+ end
+ end
+ end
+end
diff --git a/lib/api/entities/feature_gate.rb b/lib/api/entities/feature_gate.rb
new file mode 100644
index 00000000000..bea9c9474b3
--- /dev/null
+++ b/lib/api/entities/feature_gate.rb
@@ -0,0 +1,10 @@
+# frozen_string_literal: true
+
+module API
+ module Entities
+ class FeatureGate < Grape::Entity
+ expose :key
+ expose :value
+ end
+ end
+end
diff --git a/lib/api/entities/impersonation_token.rb b/lib/api/entities/impersonation_token.rb
new file mode 100644
index 00000000000..9ee8f8bf77b
--- /dev/null
+++ b/lib/api/entities/impersonation_token.rb
@@ -0,0 +1,9 @@
+# frozen_string_literal: true
+
+module API
+ module Entities
+ class ImpersonationToken < Entities::PersonalAccessToken
+ expose :impersonation
+ end
+ end
+end
diff --git a/lib/api/entities/impersonation_token_with_token.rb b/lib/api/entities/impersonation_token_with_token.rb
new file mode 100644
index 00000000000..4904f107628
--- /dev/null
+++ b/lib/api/entities/impersonation_token_with_token.rb
@@ -0,0 +1,9 @@
+# frozen_string_literal: true
+
+module API
+ module Entities
+ class ImpersonationTokenWithToken < Entities::PersonalAccessTokenWithToken
+ expose :impersonation
+ end
+ end
+end