mio-config 2.1.0 → 2.2.0

Sign up to get free protection for your applications and to get access to all the features.
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"