mio-config 2.1.0 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 28407f60a388f31bddba0f9a24b88db63c528e89
4
- data.tar.gz: 6af9294987eb672ea0a8a7cdb179e5cf11b6fc7e
3
+ metadata.gz: bb5ce18037687d72de1d7f2aea5224eeb3f756b2
4
+ data.tar.gz: 7af080214929c5e1b583a0c66aa516effce8f998
5
5
  SHA512:
6
- metadata.gz: a74e724e2d92f5c35f80089b3da5ad52ac7340f916983e770338e53caf3f805fe55611b419afe9851d1bb64e8e2fcb96956134ec7e6d64641b0d9911626ff24a
7
- data.tar.gz: 681151eaad94803edb5d756a3f1bae3943eb2ca1d2e9eee198927cad94d435ebf3e488469bcf4be9de0b8c207ddaa06a7f761e25090442f08610e2c0b779e895
6
+ metadata.gz: 21f880f1ccc3ed6e5c20faa4ed5bdd2af5f4d32cc2c44a2bcb22554d095ee2eda0cbe0287d480970224163a559716a493c2b1d3462f5fded62c2a0428f293d7d
7
+ data.tar.gz: fcd1363b726ce652751a67082757795bade86624ac7ae6231e774100c596912c1f54cdb9a7cecd2c4abd7adee1d865b40b8b7449de49b3acf59ce92498533351
@@ -0,0 +1,51 @@
1
+ class Mio
2
+ class Model
3
+ class CreatePlaceHolderGroupAsset < Model
4
+ set_resource :actions
5
+
6
+ field :name, String, 'Name of the place holder asset'
7
+ field :visibility, Array,'IDs of accounts that may see this', [4]
8
+ field :creationContext, String, 'Creation context', 'NEW'
9
+ field :variantName, String, 'Object Variant to create', 'project-variant'
10
+ field :metadataDefinition, String, 'The metadata definition name to associate to this place holder asset'
11
+
12
+ field :enable, Symbol, ':true or :false', :true
13
+ field :start, Symbol, ':true or :false', :true
14
+
15
+ def create_hash
16
+ plugin = 'tv.nativ.mio.enterprise.execution.action.file.process.impl.createobject.CreatePlaceholderAsset'
17
+ {name: @args.name,
18
+ pluginClass: plugin,
19
+ visibilityIds: @args.visibility,
20
+ 'type': 'create-object',
21
+ 'runRuleExpression': ''
22
+ }
23
+ end
24
+
25
+
26
+ def metadata_definition_id metadata_definition_name
27
+ r = 'metadataDefinitions'
28
+ metadata_definitions = @client.find_all(r)
29
+
30
+ md = metadata_definitions[r].find{|md| md['name'] == metadata_definition_name}
31
+ if md.nil?
32
+ raise Mio::Model::NoSuchResource, 'No such metadata definition[' + metadata_definition_name + ']'
33
+ end
34
+
35
+ md['id']
36
+ end
37
+
38
+
39
+ def config_hash
40
+ {"name": @args.name,
41
+ "asset-type": 'group-asset',
42
+ "creation-context": @args.creationContext,
43
+ "variant-and-metadata": {"variant-name": @args.variantName,
44
+ "metadata-details": {"metadata-definition": {"id": metadata_definition_id(@args.metadataDefinition)}}
45
+ }
46
+ }
47
+ end
48
+
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,82 @@
1
+ class Mio
2
+ class Model
3
+ class Variant < Model
4
+ set_resource :variants
5
+
6
+ field :name, String, 'Name of the Object Variant'
7
+ field :objectType, String,'The Object which this varies'
8
+ field :defaultVariant, Symbol, 'AWS API Key with access to bucket', :false
9
+ field :metadataDefinitions, Array, 'Array of metadata definition names'
10
+ field :defaultMetadataDefinition, String, 'Default metadata definition name'
11
+
12
+ def object_type_id object_type_name
13
+ r = 'objectTypes'
14
+ all_object_types = @client.find_all(r)
15
+ object_type = all_object_types[r].find{|object_type| object_type['name'] == object_type_name}
16
+ if object_type.nil?
17
+ raise Mio::Model::NoSuchResource, 'No such object type [' + object_type_name + ']'
18
+ end
19
+
20
+ object_type['id']
21
+ end
22
+
23
+ def metadata_definition_hash metadata_definitions
24
+ r = 'metadataDefinitions'
25
+ all_metadata_definitions = @client.find_all(r)
26
+ return nil if all_metadata_definitions['totalCount'] == 0
27
+ metadata_definitions_to_keep = []
28
+ metadata_definitions.each do |metadata_definition|
29
+ found_md = all_metadata_definitions[r].find{|md| md['name'] == metadata_definition}
30
+ unless found_md.nil?
31
+ metadata_definitions_to_keep << found_md
32
+ end
33
+ end
34
+
35
+ {'md': metadata_definitions_to_keep}
36
+ end
37
+
38
+ def metadata_definition_id metadata_defintions, metadata_definition_name
39
+ md = metadata_defintions[:md].find{|md| md['name'] == metadata_definition_name}
40
+ if md.nil?
41
+ raise Mio::Model::NoSuchResource, 'No such metadata definition[' + metadata_definition_name + ']'
42
+ end
43
+
44
+ md['id']
45
+ end
46
+
47
+ def metadata_definition_ids metadata_definitions, metadata_definition_names
48
+ md_ids = []
49
+ metadata_definition_names.each do |md_name|
50
+ md_ids << metadata_definition_id(metadata_definitions, md_name)
51
+ end
52
+
53
+ md_ids
54
+ end
55
+
56
+ def create_hash
57
+ metadata_definitions = metadata_definition_hash @args.metadataDefinitions
58
+
59
+ {name: @args.name,
60
+ objectTypeId: object_type_id(@args.objectType),
61
+ defaultVariant: @args.defaultVariant,
62
+ metadataDefinitionIds: metadata_definition_ids(metadata_definitions, @args.metadataDefinitions),
63
+ defaultMetadataDefinition: metadata_definition_id(metadata_definitions, @args.defaultMetadataDefinition)}
64
+ end
65
+
66
+ def go
67
+ if @args.metadataDefinitions.empty?
68
+ raise Mio::Model::EmptyField, 'Field metadataDefinitions to Mio::Model::Variant contain at least one metadata definition name'
69
+ end
70
+
71
+ unless look_up
72
+ @object = create
73
+ else
74
+ @object = look_up
75
+ end
76
+
77
+ return @object
78
+ end
79
+
80
+ end
81
+ end
82
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mio-config
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 2.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - jspc
@@ -109,6 +109,7 @@ files:
109
109
  - "./lib/mio/migrations.rb"
110
110
  - "./lib/mio/model.rb"
111
111
  - "./lib/mio/model/autoload.rb"
112
+ - "./lib/mio/model/create_place_holder_group_asset.rb"
112
113
  - "./lib/mio/model/groovy_script.rb"
113
114
  - "./lib/mio/model/groovy_script_wait.rb"
114
115
  - "./lib/mio/model/hotfolder.rb"
@@ -117,6 +118,7 @@ files:
117
118
  - "./lib/mio/model/metadatadefinition/definition.rb"
118
119
  - "./lib/mio/model/metadatadefinition/option.rb"
119
120
  - "./lib/mio/model/s3.rb"
121
+ - "./lib/mio/model/variant.rb"
120
122
  - "./lib/mio/model/workflow.rb"
121
123
  - "./lib/mio/model/workflow/node.rb"
122
124
  - "./lib/mio/model/workflow/transition.rb"