Class: Ecoportal::API::GraphQL::Payload::LocationStructure::Draft::Publish

Inherits:
Logic::Payload show all
Includes:
Error::LocationsError::FetchNested
Defined in:
lib/ecoportal/api/graphql/payload/location_structure/draft/publish.rb

Constant Summary

Constants included from Common::GraphQL::Model::Diffable

Common::GraphQL::Model::Diffable::DIFF_CLASS

Instance Method Summary collapse

Methods included from Error::LocationsError::FetchNested

#conflictingIds, #conflictingIds?, #locations_error?, #locations_error_doc, #validationErrors, #validationErrors?

Methods inherited from Logic::Payload

#success?

Methods included from Common::GraphQL::Model::AsInput

#as_input

Methods included from Common::GraphQL::Model::Diffable

#as_update, #dirty?

Instance Method Details

#error?Boolean

Returns:

  • (Boolean)


21
22
23
24
25
26
# File 'lib/ecoportal/api/graphql/payload/location_structure/draft/publish.rb', line 21

def error?
  super              ||
    !ok?             ||
    locations_error? ||
    result_errors?
end

#error_docObject



28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/ecoportal/api/graphql/payload/location_structure/draft/publish.rb', line 28

def error_doc
  err_doc = super
  return err_doc if err_doc

  if locations_error?
    {
      locationsError: locations_error_doc
    }
  elsif result_errors?
    {
      results: [result_errors.first&.error_doc]
    }
  end
end

#result_errorsObject



47
48
49
# File 'lib/ecoportal/api/graphql/payload/location_structure/draft/publish.rb', line 47

def result_errors
  results.select(&:error?)
end

#result_errors?Boolean

Returns:

  • (Boolean)


43
44
45
# File 'lib/ecoportal/api/graphql/payload/location_structure/draft/publish.rb', line 43

def result_errors?
  result_errors.any?
end