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 +4 -4
- data/lib/mio/model/create_place_holder_group_asset.rb +51 -0
- data/lib/mio/model/variant.rb +82 -0
- metadata +3 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bb5ce18037687d72de1d7f2aea5224eeb3f756b2
|
4
|
+
data.tar.gz: 7af080214929c5e1b583a0c66aa516effce8f998
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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.
|
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"
|