class Mio::Model::ImportAction

Public Instance Methods

config_hash() click to toggle source
# File lib/mio/model/import_action.rb, line 35
def config_hash
  h = {
    "source-file": {
      "source": {
        "vfs-source-file-path": {
          "protocol": {
            "value": "S3",
            "isExpression": false
          },
          "path": {
            "value": @args.s3PathVariable,
            "isExpression": false
          },
          "key": {
            "value": @args['key'],
            "isExpression": false
          },
          "secret": {
            "value":  @args.secret,
            "isExpression": false
          },
          "bucket": {
            "value": @args.bucket,
            "isExpression": false

          }
        }
      },
      "keep-source-filename": false
    },
    "asset-details": {
      "title": {
        "value": @args.assetTitleVariable,
        "isExpression": false

      },
      "asset-origin": {
        "value": @args.creationContext,
        "isExpression": false
      }
    }
  }

  unless @args.variant.to_s == ''
    h[:"variant-and-metadata-definition"] = { "variant": { "value": @args.variant, "isExpression": false } }

    unless @args.metadataDefinition.to_s == ''
      metadata_definition = @search.find_metadataDefinitions_by_name(@args.metadataDefinition).first
      if metadata_definition.nil?
        raise Mio::Model::NoSuchResource, 'No such metadata definition [' + @args.metadataDefinition + ']'
      end
      h[:"variant-and-metadata-definition"]["metadata"] = { "metadata-definition": { "id": metadata_definition['id']},
                                                      "source-json-variable": {"value": @args.sourceJsonVariable,  "isExpression": false}
                                                     }
    end
  end

  unless @args.parentAssetId.to_s == ''
    h["asset-relationships"] = {
        "child": {
          "parent": {
              "parent-asset-id": {
                  "value": @args.parentAssetId,
                  "isExpression": false
              }
          },
          "reference-name": {
              "value": @args.parentRelationName,
              "isExpression": false
          }
        }
    }
  end

  unless @args.memberAssetId.to_s == ''
    h["asset-relationships"] = {
        "member": { "group": { "group-asset-id": { "value": @args.memberAssetId, "isExpression": false } },
                  "membership-name": {"value": @args.memberAssetRelationName, "isExpression": false} }
    }
  end

  h
end
create_hash() click to toggle source
# File lib/mio/model/import_action.rb, line 25
def create_hash
  plugin = 'tv.nativ.mio.enterprise.execution.action.file.impl.objectimport.vfs.AssetImportCommand'
  {name: @args.name,
   pluginClass: plugin,
   visibilityIds: @args.visibility,
   'type': 'import',
   'runRuleExpression': @args.runRuleExpression
  }
end