Module: Types::DesignManagement::DesignFields
- Includes:
- BaseInterface
- Defined in:
- app/graphql/types/design_management/design_fields.rb
Instance Method Summary collapse
- #cached_actions_for_version(version) ⇒ Object
- #diff_refs(parent:) ⇒ Object
- #event(parent:) ⇒ Object
- #image(parent:) ⇒ Object
- #image_v432x230(parent:) ⇒ Object
- #issue ⇒ Object
- #project ⇒ Object
Instance Method Details
#cached_actions_for_version(version) ⇒ Object
65 66 67 68 69 |
# File 'app/graphql/types/design_management/design_fields.rb', line 65 def cached_actions_for_version(version) Gitlab::SafeRequestStore.fetch(['DesignFields', 'actions_for_version', version.id]) do version.actions.index_by(&:design_id) end end |
#diff_refs(parent:) ⇒ Object
37 38 39 40 |
# File 'app/graphql/types/design_management/design_fields.rb', line 37 def diff_refs(parent:) version = cached_stateful_version(parent) version.diff_refs end |
#event(parent:) ⇒ Object
57 58 59 60 61 62 63 |
# File 'app/graphql/types/design_management/design_fields.rb', line 57 def event(parent:) version = cached_stateful_version(parent) action = cached_actions_for_version(version)[design.id] action&.event || ::Types::DesignManagement::DesignVersionEventEnum::NONE end |
#image(parent:) ⇒ Object
42 43 44 45 46 |
# File 'app/graphql/types/design_management/design_fields.rb', line 42 def image(parent:) sha = cached_stateful_version(parent).sha Gitlab::UrlBuilder.build(design, ref: sha) end |
#image_v432x230(parent:) ⇒ Object
48 49 50 51 52 53 54 55 |
# File 'app/graphql/types/design_management/design_fields.rb', line 48 def image_v432x230(parent:) Gitlab::Graphql::Lazy.with_value(lazy_action(parent)) do |action| # A `nil` return value indicates that the image has not been processed next unless action&.image_v432x230&.file Gitlab::UrlBuilder.build(action.design, ref: action.version.sha, size: :v432x230) end end |