Class: Ecoportal::API::GraphQL::Base::Page::DataField::FileField
- Inherits:
-
DataField
- Object
- DataField
- Ecoportal::API::GraphQL::Base::Page::DataField::FileField
- Defined in:
- lib/ecoportal/api/graphql/base/page/data_field/file_field.rb
Overview
File attachment field. Writing requires a prior file upload to the REST upload endpoint to obtain fileContainerIds — see the file-upload TODO in projects/TODO.md. The file_container_ids= setter can be used once IDs are available.
Instance Method Summary collapse
Instance Method Details
#as_input ⇒ Object
18 19 20 21 22 |
# File 'lib/ecoportal/api/graphql/base/page/data_field/file_field.rb', line 18 def as_input return nil unless dirty? { file: { id: id, fileContainerIds: file_container_ids } } end |
#file_container_ids ⇒ Object
10 11 12 |
# File 'lib/ecoportal/api/graphql/base/page/data_field/file_field.rb', line 10 def file_container_ids Array(fileContainers).map { |c| c.is_a?(Hash) ? c['id'] : c }.compact end |
#file_container_ids=(ids) ⇒ Object
14 15 16 |
# File 'lib/ecoportal/api/graphql/base/page/data_field/file_field.rb', line 14 def file_container_ids=(ids) doc['fileContainers'] = Array(ids).map { |id_val| { 'id' => id_val } } end |