Skip to content
Snippets Groups Projects
learning_object_publisher.rb 838 B
Newer Older
class LearningObjectPublisher
  include RepositoriesProxy

  def initialize(dspace_client)
    @dspace = dspace_client
  end

  def create_draft(draft)
    item = @dspace.collections.create_item(build_dspace_item(draft), id: DspaceService::TEST_COLLECTION)
    draft.id_dspace = item.id
    learning_object_repository.create draft
  end

  def post(learning_object, media_path)
    DspaceUploadWorker.perform_async learning_object.id, learning_object.id_dspace, media_path
  end
    # change status
    learning_object.status = 'active'
    learning_object_repository.update_property(learning_object, 'status', learning_object.status)
  end

  private

  def build_dspace_item(draft)
   ::Dspace::Item.new({
                         'name' => draft.name
                     })
  end