diff options
author | Dylan Griffith <dyl.griffith@gmail.com> | 2018-12-06 18:08:49 +0000 |
---|---|---|
committer | Mike Greiling <mike@pixelcog.com> | 2018-12-06 18:08:49 +0000 |
commit | 2c80a1c0de07877e6e2bf7ab20de2d4f43a0d97c (patch) | |
tree | afa7f5f54e2491e0c08168b6f4ce47511da3012b /app/serializers | |
parent | e80f89337b4be31c5531448861cedb556d02c01e (diff) | |
download | gitlab-ce-2c80a1c0de07877e6e2bf7ab20de2d4f43a0d97c.tar.gz |
Introduce Knative Serverless Tab
Diffstat (limited to 'app/serializers')
-rw-r--r-- | app/serializers/projects/serverless/service_entity.rb | 33 | ||||
-rw-r--r-- | app/serializers/projects/serverless/service_serializer.rb | 9 |
2 files changed, 42 insertions, 0 deletions
diff --git a/app/serializers/projects/serverless/service_entity.rb b/app/serializers/projects/serverless/service_entity.rb new file mode 100644 index 00000000000..4f1f62d145b --- /dev/null +++ b/app/serializers/projects/serverless/service_entity.rb @@ -0,0 +1,33 @@ +# frozen_string_literal: true + +module Projects + module Serverless + class ServiceEntity < Grape::Entity + include RequestAwareEntity + + expose :name do |service| + service.dig('metadata', 'name') + end + + expose :namespace do |service| + service.dig('metadata', 'namespace') + end + + expose :created_at do |service| + service.dig('metadata', 'creationTimestamp') + end + + expose :url do |service| + "http://#{service.dig('status', 'domain')}" + end + + expose :description do |service| + service.dig('spec', 'runLatest', 'configuration', 'revisionTemplate', 'metadata', 'annotations', 'Description') + end + + expose :image do |service| + service.dig('spec', 'runLatest', 'configuration', 'build', 'template', 'name') + end + end + end +end diff --git a/app/serializers/projects/serverless/service_serializer.rb b/app/serializers/projects/serverless/service_serializer.rb new file mode 100644 index 00000000000..adfd48a8c7d --- /dev/null +++ b/app/serializers/projects/serverless/service_serializer.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Projects + module Serverless + class ServiceSerializer < BaseSerializer + entity Projects::Serverless::ServiceEntity + end + end +end |