Sha256: d3cd2c62e94f3f8c4015b40d603195613b23f92a835c5284cc85bdb8b3a166f5

Contents?: true

Size: 829 Bytes

Versions: 3

Compression:

Stored size: 829 Bytes

Contents

# frozen_string_literal: true

module Cocina
  module Models
    # A request to create a digital repository object.
    # This is the same as a DRO, but without externalIdentifier (as that wouldn't have been created yet)
    # See http://sul-dlss.github.io/cocina-models/maps/DRO.json
    class RequestDRO < Struct
      # Structural sub-schema that contains RequestFileSet (unlike the DRO which contains FileSet)
      class Structural < Struct
        attribute :contains, Types::Strict::Array.of(RequestFileSet).meta(omittable: true)
        attribute :isMemberOf, Types::Strict::String.meta(omittable: true)
        attribute :hasMemberOrders, Types::Strict::Array.of(Sequence).meta(omittable: true)
      end

      include DroAttributes
      attribute(:structural, Structural.default { Structural.new })
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
cocina-models-0.29.0 lib/cocina/models/request_dro.rb
cocina-models-0.28.0 lib/cocina/models/request_dro.rb
cocina-models-0.27.0 lib/cocina/models/request_dro.rb