diff options
author | Kamil Trzciński <ayufan@ayufan.eu> | 2018-04-23 15:58:59 +0200 |
---|---|---|
committer | Kamil Trzciński <ayufan@ayufan.eu> | 2018-04-23 15:58:59 +0200 |
commit | 551f8c4b1a04fc0d2c8246fae5782a0c121ddfc0 (patch) | |
tree | ef2ef18e92b45c11809c5890255cd5cc6a15303e /app/serializers | |
parent | e0b7541b9aa1f107d024803e96e8dda9b9fb7978 (diff) | |
download | gitlab-ce-551f8c4b1a04fc0d2c8246fae5782a0c121ddfc0.tar.gz |
Add proper stage.json data
Diffstat (limited to 'app/serializers')
-rw-r--r-- | app/serializers/stage_details_entity.rb | 21 | ||||
-rw-r--r-- | app/serializers/stage_serializer.rb | 7 |
2 files changed, 28 insertions, 0 deletions
diff --git a/app/serializers/stage_details_entity.rb b/app/serializers/stage_details_entity.rb new file mode 100644 index 00000000000..e9180d5fbb7 --- /dev/null +++ b/app/serializers/stage_details_entity.rb @@ -0,0 +1,21 @@ +class StageDetailsEntity < Grape::Entity + include RequestAwareEntity + + expose :name + + expose :title do |stage| + "#{stage.name}: #{detailed_status.label}" + end + + expose :statuses, with: JobEntity + + expose :detailed_status, as: :status, with: StatusEntity + + private + + alias_method :stage, :object + + def detailed_status + stage.detailed_status(request.current_user) + end +end diff --git a/app/serializers/stage_serializer.rb b/app/serializers/stage_serializer.rb new file mode 100644 index 00000000000..19cb6c04c10 --- /dev/null +++ b/app/serializers/stage_serializer.rb @@ -0,0 +1,7 @@ +class StageSerializer < BaseSerializer + include WithPagination + + InvalidResourceError = Class.new(StandardError) + + entity StageDetailsEntity +end |