kaltura-client 3.3.0 → 14.15.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (94) hide show
  1. checksums.yaml +7 -0
  2. data/README +23 -23
  3. data/lib/kaltura_client.rb +2054 -1860
  4. data/lib/kaltura_client_base.rb +4 -1
  5. data/lib/kaltura_enums.rb +612 -36
  6. data/lib/kaltura_plugins/kaltura_activiti_business_process_notification_client_plugin.rb +96 -0
  7. data/lib/kaltura_plugins/kaltura_ad_cue_point_client_plugin.rb +46 -17
  8. data/lib/kaltura_plugins/kaltura_admin_console_client_plugin.rb +61 -251
  9. data/lib/kaltura_plugins/kaltura_annotation_client_plugin.rb +131 -60
  10. data/lib/kaltura_plugins/kaltura_aspera_client_plugin.rb +62 -0
  11. data/lib/kaltura_plugins/kaltura_attachment_client_plugin.rb +83 -55
  12. data/lib/kaltura_plugins/kaltura_audit_client_plugin.rb +613 -0
  13. data/lib/kaltura_plugins/kaltura_avn_distribution_client_plugin.rb +109 -0
  14. data/lib/kaltura_plugins/kaltura_bpm_event_notification_integration_client_plugin.rb +61 -0
  15. data/lib/kaltura_plugins/kaltura_bulk_upload_client_plugin.rb +17 -19
  16. data/lib/kaltura_plugins/kaltura_bulk_upload_csv_client_plugin.rb +7 -6
  17. data/lib/kaltura_plugins/kaltura_bulk_upload_filter_client_plugin.rb +33 -13
  18. data/lib/kaltura_plugins/kaltura_bulk_upload_xml_client_plugin.rb +1 -2
  19. data/lib/kaltura_plugins/kaltura_business_process_notification_client_plugin.rb +545 -0
  20. data/lib/kaltura_plugins/kaltura_caption_client_plugin.rb +235 -114
  21. data/lib/kaltura_plugins/kaltura_caption_search_client_plugin.rb +86 -29
  22. data/lib/kaltura_plugins/kaltura_cielo24client_plugin.rb +39 -17
  23. data/lib/kaltura_plugins/kaltura_code_cue_point_client_plugin.rb +49 -18
  24. data/lib/kaltura_plugins/kaltura_comcast_mrss_distribution_client_plugin.rb +163 -0
  25. data/lib/kaltura_plugins/kaltura_content_distribution_client_plugin.rb +846 -439
  26. data/lib/kaltura_plugins/kaltura_cross_kaltura_distribution_client_plugin.rb +232 -0
  27. data/lib/kaltura_plugins/kaltura_cue_point_client_plugin.rb +229 -74
  28. data/lib/kaltura_plugins/kaltura_dailymotion_distribution_client_plugin.rb +199 -0
  29. data/lib/kaltura_plugins/kaltura_document_client_plugin.rb +140 -97
  30. data/lib/kaltura_plugins/kaltura_double_click_distribution_client_plugin.rb +142 -0
  31. data/lib/kaltura_plugins/kaltura_drm_client_plugin.rb +635 -0
  32. data/lib/kaltura_plugins/kaltura_drop_folder_client_plugin.rb +485 -196
  33. data/lib/kaltura_plugins/kaltura_drop_folder_xml_bulk_upload_client_plugin.rb +19 -1
  34. data/lib/kaltura_plugins/kaltura_elastic_search_client_plugin.rb +1228 -0
  35. data/lib/kaltura_plugins/kaltura_email_notification_client_plugin.rb +178 -89
  36. data/lib/kaltura_plugins/kaltura_event_cue_point_client_plugin.rb +10 -4
  37. data/lib/kaltura_plugins/kaltura_event_notification_client_plugin.rb +205 -95
  38. data/lib/kaltura_plugins/kaltura_external_media_client_plugin.rb +43 -32
  39. data/lib/kaltura_plugins/kaltura_facebook_distribution_client_plugin.rb +183 -0
  40. data/lib/kaltura_plugins/kaltura_fairplay_client_plugin.rb +62 -0
  41. data/lib/kaltura_plugins/kaltura_feed_drop_folder_client_plugin.rb +40 -16
  42. data/lib/kaltura_plugins/kaltura_file_sync_client_plugin.rb +182 -67
  43. data/lib/kaltura_plugins/kaltura_freewheel_distribution_client_plugin.rb +157 -0
  44. data/lib/kaltura_plugins/kaltura_freewheel_generic_distribution_client_plugin.rb +172 -0
  45. data/lib/kaltura_plugins/kaltura_ftp_distribution_client_plugin.rb +258 -0
  46. data/lib/kaltura_plugins/kaltura_http_notification_client_plugin.rb +154 -102
  47. data/lib/kaltura_plugins/kaltura_hulu_distribution_client_plugin.rb +213 -0
  48. data/lib/kaltura_plugins/kaltura_idetic_distribution_client_plugin.rb +131 -0
  49. data/lib/kaltura_plugins/kaltura_integration_client_plugin.rb +19 -10
  50. data/lib/kaltura_plugins/kaltura_kaltura_internal_tools_client_plugin.rb +1 -87
  51. data/lib/kaltura_plugins/kaltura_kontiki_client_plugin.rb +19 -10
  52. data/lib/kaltura_plugins/kaltura_like_client_plugin.rb +45 -25
  53. data/lib/kaltura_plugins/kaltura_metadata_client_plugin.rb +435 -213
  54. data/lib/kaltura_plugins/kaltura_metro_pcs_distribution_client_plugin.rb +155 -0
  55. data/lib/kaltura_plugins/kaltura_msn_distribution_client_plugin.rb +186 -0
  56. data/lib/kaltura_plugins/kaltura_play_ready_client_plugin.rb +482 -0
  57. data/lib/kaltura_plugins/kaltura_poll_client_plugin.rb +116 -0
  58. data/lib/kaltura_plugins/kaltura_push_notification_client_plugin.rb +154 -0
  59. data/lib/kaltura_plugins/kaltura_quick_play_distribution_client_plugin.rb +187 -0
  60. data/lib/kaltura_plugins/kaltura_quiz_client_plugin.rb +155 -58
  61. data/lib/kaltura_plugins/kaltura_schedule_bulk_upload_client_plugin.rb +107 -0
  62. data/lib/kaltura_plugins/kaltura_schedule_client_plugin.rb +1580 -0
  63. data/lib/kaltura_plugins/kaltura_schedule_drop_folder_client_plugin.rb +52 -0
  64. data/lib/kaltura_plugins/kaltura_scheduled_task_client_plugin.rb +277 -71
  65. data/lib/kaltura_plugins/kaltura_scheduled_task_content_distribution_client_plugin.rb +4 -3
  66. data/lib/kaltura_plugins/kaltura_scheduled_task_event_notification_client_plugin.rb +4 -3
  67. data/lib/kaltura_plugins/kaltura_scheduled_task_metadata_client_plugin.rb +10 -7
  68. data/lib/kaltura_plugins/kaltura_short_link_client_plugin.rb +113 -66
  69. data/lib/kaltura_plugins/kaltura_system_partner_client_plugin.rb +81 -517
  70. data/lib/kaltura_plugins/kaltura_tag_search_client_plugin.rb +63 -30
  71. data/lib/kaltura_plugins/kaltura_thumb_cue_point_client_plugin.rb +40 -16
  72. data/lib/kaltura_plugins/kaltura_transcript_client_plugin.rb +44 -8
  73. data/lib/kaltura_plugins/kaltura_unicorn_distribution_client_plugin.rb +212 -0
  74. data/lib/kaltura_plugins/kaltura_var_console_client_plugin.rb +75 -74
  75. data/lib/kaltura_plugins/kaltura_velocix_client_plugin.rb +10 -4
  76. data/lib/kaltura_plugins/kaltura_view_history_client_plugin.rb +112 -0
  77. data/lib/kaltura_plugins/kaltura_virus_scan_client_plugin.rb +119 -59
  78. data/lib/kaltura_plugins/kaltura_voicebase_client_plugin.rb +34 -19
  79. data/lib/kaltura_plugins/kaltura_webex_drop_folder_client_plugin.rb +207 -0
  80. data/lib/kaltura_plugins/kaltura_widevine_client_plugin.rb +299 -0
  81. data/lib/kaltura_plugins/kaltura_wowza_client_plugin.rb +22 -13
  82. data/lib/kaltura_plugins/kaltura_yahoo_distribution_client_plugin.rb +155 -0
  83. data/lib/kaltura_plugins/kaltura_you_tube_distribution_client_plugin.rb +382 -0
  84. data/lib/kaltura_plugins/kaltura_youtube_api_distribution_client_plugin.rb +219 -0
  85. data/lib/kaltura_types.rb +10305 -4858
  86. data/test/access_control_service_test.rb +43 -20
  87. data/test/base_entry_service_test.rb +57 -67
  88. data/test/configuration_test.rb +2 -34
  89. data/test/cue_point_service_test.rb +1 -1
  90. data/test/data_service_test.rb +19 -5
  91. data/test/document_service_test.rb +1 -1
  92. data/test/media_service_test.rb +296 -296
  93. data/test/metadata_profile_service_test.rb +1 -1
  94. metadata +52 -21
@@ -0,0 +1,109 @@
1
+ # ===================================================================================================
2
+ # _ __ _ _
3
+ # | |/ /__ _| | |_ _ _ _ _ __ _
4
+ # | ' </ _` | | _| || | '_/ _` |
5
+ # |_|\_\__,_|_|\__|\_,_|_| \__,_|
6
+ #
7
+ # This file is part of the Kaltura Collaborative Media Suite which allows users
8
+ # to do with audio, video, and animation what Wiki platfroms allow them to do with
9
+ # text.
10
+ #
11
+ # Copyright (C) 2006-2019 Kaltura Inc.
12
+ #
13
+ # This program is free software: you can redistribute it and/or modify
14
+ # it under the terms of the GNU Affero General Public License as
15
+ # published by the Free Software Foundation, either version 3 of the
16
+ # License, or (at your option) any later version.
17
+ #
18
+ # This program is distributed in the hope that it will be useful,
19
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
20
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
+ # GNU Affero General Public License for more details.
22
+ #
23
+ # You should have received a copy of the GNU Affero General Public License
24
+ # along with this program. If not, see <http:#www.gnu.org/licenses/>.
25
+ #
26
+ # @ignore
27
+ # ===================================================================================================
28
+ require 'kaltura_client.rb'
29
+ require File.dirname(__FILE__) + '/kaltura_content_distribution_client_plugin.rb'
30
+
31
+ module Kaltura
32
+
33
+ class KalturaAvnDistributionProfileOrderBy
34
+ CREATED_AT_ASC = "+createdAt"
35
+ UPDATED_AT_ASC = "+updatedAt"
36
+ CREATED_AT_DESC = "-createdAt"
37
+ UPDATED_AT_DESC = "-updatedAt"
38
+ end
39
+
40
+ class KalturaAvnDistributionProviderOrderBy
41
+ end
42
+
43
+ class KalturaAvnDistributionProvider < KalturaDistributionProvider
44
+
45
+
46
+ def from_xml(xml_element)
47
+ super
48
+ end
49
+
50
+ end
51
+
52
+ class KalturaAvnDistributionProfile < KalturaConfigurableDistributionProfile
53
+ attr_accessor :feed_url
54
+ attr_accessor :feed_title
55
+
56
+
57
+ def from_xml(xml_element)
58
+ super
59
+ if xml_element.elements['feedUrl'] != nil
60
+ self.feed_url = xml_element.elements['feedUrl'].text
61
+ end
62
+ if xml_element.elements['feedTitle'] != nil
63
+ self.feed_title = xml_element.elements['feedTitle'].text
64
+ end
65
+ end
66
+
67
+ end
68
+
69
+ class KalturaAvnDistributionProviderBaseFilter < KalturaDistributionProviderFilter
70
+
71
+
72
+ def from_xml(xml_element)
73
+ super
74
+ end
75
+
76
+ end
77
+
78
+ class KalturaAvnDistributionProviderFilter < KalturaAvnDistributionProviderBaseFilter
79
+
80
+
81
+ def from_xml(xml_element)
82
+ super
83
+ end
84
+
85
+ end
86
+
87
+ class KalturaAvnDistributionProfileBaseFilter < KalturaConfigurableDistributionProfileFilter
88
+
89
+
90
+ def from_xml(xml_element)
91
+ super
92
+ end
93
+
94
+ end
95
+
96
+ class KalturaAvnDistributionProfileFilter < KalturaAvnDistributionProfileBaseFilter
97
+
98
+
99
+ def from_xml(xml_element)
100
+ super
101
+ end
102
+
103
+ end
104
+
105
+
106
+ class KalturaClient < KalturaClientBase
107
+ end
108
+
109
+ end
@@ -0,0 +1,61 @@
1
+ # ===================================================================================================
2
+ # _ __ _ _
3
+ # | |/ /__ _| | |_ _ _ _ _ __ _
4
+ # | ' </ _` | | _| || | '_/ _` |
5
+ # |_|\_\__,_|_|\__|\_,_|_| \__,_|
6
+ #
7
+ # This file is part of the Kaltura Collaborative Media Suite which allows users
8
+ # to do with audio, video, and animation what Wiki platfroms allow them to do with
9
+ # text.
10
+ #
11
+ # Copyright (C) 2006-2019 Kaltura Inc.
12
+ #
13
+ # This program is free software: you can redistribute it and/or modify
14
+ # it under the terms of the GNU Affero General Public License as
15
+ # published by the Free Software Foundation, either version 3 of the
16
+ # License, or (at your option) any later version.
17
+ #
18
+ # This program is distributed in the hope that it will be useful,
19
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
20
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
+ # GNU Affero General Public License for more details.
22
+ #
23
+ # You should have received a copy of the GNU Affero General Public License
24
+ # along with this program. If not, see <http:#www.gnu.org/licenses/>.
25
+ #
26
+ # @ignore
27
+ # ===================================================================================================
28
+ require 'kaltura_client.rb'
29
+ require File.dirname(__FILE__) + '/kaltura_integration_client_plugin.rb'
30
+ require File.dirname(__FILE__) + '/kaltura_business_process_notification_client_plugin.rb'
31
+
32
+ module Kaltura
33
+
34
+ class KalturaBpmEventNotificationIntegrationJobTriggerData < KalturaIntegrationJobTriggerData
35
+ # KalturaBusinessProcessNotificationTemplate id
36
+ attr_accessor :template_id
37
+ attr_accessor :business_process_id
38
+ # Execution unique id
39
+ attr_accessor :case_id
40
+
41
+ def template_id=(val)
42
+ @template_id = val.to_i
43
+ end
44
+
45
+ def from_xml(xml_element)
46
+ super
47
+ if xml_element.elements['templateId'] != nil
48
+ self.template_id = xml_element.elements['templateId'].text
49
+ end
50
+ if xml_element.elements['businessProcessId'] != nil
51
+ self.business_process_id = xml_element.elements['businessProcessId'].text
52
+ end
53
+ if xml_element.elements['caseId'] != nil
54
+ self.case_id = xml_element.elements['caseId'].text
55
+ end
56
+ end
57
+
58
+ end
59
+
60
+
61
+ end
@@ -8,7 +8,7 @@
8
8
  # to do with audio, video, and animation what Wiki platfroms allow them to do with
9
9
  # text.
10
10
  #
11
- # Copyright (C) 2006-2015 Kaltura Inc.
11
+ # Copyright (C) 2006-2019 Kaltura Inc.
12
12
  #
13
13
  # This program is free software: you can redistribute it and/or modify
14
14
  # it under the terms of the GNU Affero General Public License as
@@ -31,7 +31,6 @@ module Kaltura
31
31
 
32
32
  # This class represents object-specific data passed to the
33
33
  # bulk upload job.
34
- #
35
34
  class KalturaBulkServiceData < KalturaObjectBase
36
35
 
37
36
 
@@ -43,14 +42,25 @@ module Kaltura
43
42
 
44
43
 
45
44
  # Bulk upload service is used to upload & manage bulk uploads
46
- #
47
45
  class KalturaBulkService < KalturaServiceBase
48
46
  def initialize(client)
49
47
  super(client)
50
48
  end
51
49
 
50
+ # Aborts the bulk upload and all its child jobs
51
+ # @return [KalturaBulkUpload]
52
+ def abort(id)
53
+ kparams = {}
54
+ client.add_param(kparams, 'id', id)
55
+ client.queue_service_action_call('bulkupload_bulk', 'abort', 'KalturaBulkUpload', kparams)
56
+ if (client.is_multirequest)
57
+ return nil
58
+ end
59
+ return client.do_queue()
60
+ end
61
+
52
62
  # Get bulk upload batch job by id
53
- #
63
+ # @return [KalturaBulkUpload]
54
64
  def get(id)
55
65
  kparams = {}
56
66
  client.add_param(kparams, 'id', id)
@@ -62,7 +72,7 @@ module Kaltura
62
72
  end
63
73
 
64
74
  # List bulk upload batch jobs
65
- #
75
+ # @return [KalturaBulkUploadListResponse]
66
76
  def list(bulk_upload_filter=KalturaNotImplemented, pager=KalturaNotImplemented)
67
77
  kparams = {}
68
78
  client.add_param(kparams, 'bulkUploadFilter', bulk_upload_filter)
@@ -75,7 +85,7 @@ module Kaltura
75
85
  end
76
86
 
77
87
  # serve action returns the original file.
78
- #
88
+ # @return [file]
79
89
  def serve(id)
80
90
  kparams = {}
81
91
  client.add_param(kparams, 'id', id)
@@ -84,25 +94,13 @@ module Kaltura
84
94
  end
85
95
 
86
96
  # serveLog action returns the log file for the bulk-upload job.
87
- #
97
+ # @return [file]
88
98
  def serve_log(id)
89
99
  kparams = {}
90
100
  client.add_param(kparams, 'id', id)
91
101
  client.queue_service_action_call('bulkupload_bulk', 'serveLog', 'file', kparams)
92
102
  return client.get_serve_url()
93
103
  end
94
-
95
- # Aborts the bulk upload and all its child jobs
96
- #
97
- def abort(id)
98
- kparams = {}
99
- client.add_param(kparams, 'id', id)
100
- client.queue_service_action_call('bulkupload_bulk', 'abort', 'KalturaBulkUpload', kparams)
101
- if (client.is_multirequest)
102
- return nil
103
- end
104
- return client.do_queue()
105
- end
106
104
  end
107
105
 
108
106
  class KalturaClient < KalturaClientBase
@@ -8,7 +8,7 @@
8
8
  # to do with audio, video, and animation what Wiki platfroms allow them to do with
9
9
  # text.
10
10
  #
11
- # Copyright (C) 2006-2015 Kaltura Inc.
11
+ # Copyright (C) 2006-2019 Kaltura Inc.
12
12
  #
13
13
  # This program is free software: you can redistribute it and/or modify
14
14
  # it under the terms of the GNU Affero General Public License as
@@ -37,13 +37,10 @@ module Kaltura
37
37
  end
38
38
 
39
39
  # Represents the Bulk upload job data for xml bulk upload
40
- #
41
40
  class KalturaBulkUploadCsvJobData < KalturaBulkUploadJobData
42
41
  # The version of the csv file
43
- #
44
42
  attr_accessor :csv_version
45
43
  # Array containing CSV headers
46
- #
47
44
  attr_accessor :columns
48
45
 
49
46
  def csv_version=(val)
@@ -52,8 +49,12 @@ module Kaltura
52
49
 
53
50
  def from_xml(xml_element)
54
51
  super
55
- self.csv_version = xml_element.elements['csvVersion'].text
56
- self.columns = KalturaClientBase.object_from_xml(xml_element.elements['columns'], 'KalturaString')
52
+ if xml_element.elements['csvVersion'] != nil
53
+ self.csv_version = xml_element.elements['csvVersion'].text
54
+ end
55
+ if xml_element.elements['columns'] != nil
56
+ self.columns = KalturaClientBase.object_from_xml(xml_element.elements['columns'], 'KalturaString')
57
+ end
57
58
  end
58
59
 
59
60
  end
@@ -8,7 +8,7 @@
8
8
  # to do with audio, video, and animation what Wiki platfroms allow them to do with
9
9
  # text.
10
10
  #
11
- # Copyright (C) 2006-2015 Kaltura Inc.
11
+ # Copyright (C) 2006-2019 Kaltura Inc.
12
12
  #
13
13
  # This program is free software: you can redistribute it and/or modify
14
14
  # it under the terms of the GNU Affero General Public License as
@@ -27,43 +27,63 @@
27
27
  # ===================================================================================================
28
28
  require 'kaltura_client.rb'
29
29
  require File.dirname(__FILE__) + '/kaltura_bulk_upload_client_plugin.rb'
30
+ require File.dirname(__FILE__) + '/kaltura_bulk_upload_xml_client_plugin.rb'
30
31
 
31
32
  module Kaltura
32
33
 
33
34
  # Represents the Bulk service input for filter bulk upload
34
- #
35
35
  class KalturaBulkServiceFilterData < KalturaBulkServiceData
36
- # Filter for extracting the objects list to upload
37
- #
36
+ # Filter for extracting the objects list to upload
38
37
  attr_accessor :filter
39
38
  # Template object for new object creation
40
- #
41
39
  attr_accessor :template_object
42
40
 
43
41
 
44
42
  def from_xml(xml_element)
45
43
  super
46
- self.filter = KalturaClientBase.object_from_xml(xml_element.elements['filter'], 'KalturaFilter')
47
- self.template_object = KalturaClientBase.object_from_xml(xml_element.elements['templateObject'], 'KalturaObjectBase')
44
+ if xml_element.elements['filter'] != nil
45
+ self.filter = KalturaClientBase.object_from_xml(xml_element.elements['filter'], 'KalturaFilter')
46
+ end
47
+ if xml_element.elements['templateObject'] != nil
48
+ self.template_object = KalturaClientBase.object_from_xml(xml_element.elements['templateObject'], 'KalturaObjectBase')
49
+ end
50
+ end
51
+
52
+ end
53
+
54
+ class KalturaBulkUploadResultJob < KalturaBulkUploadResult
55
+ # ID of object being processed by the job
56
+ attr_accessor :job_object_id
57
+
58
+ def job_object_id=(val)
59
+ @job_object_id = val.to_i
60
+ end
61
+
62
+ def from_xml(xml_element)
63
+ super
64
+ if xml_element.elements['jobObjectId'] != nil
65
+ self.job_object_id = xml_element.elements['jobObjectId'].text
66
+ end
48
67
  end
49
68
 
50
69
  end
51
70
 
52
71
  # Represents the Bulk upload job data for filter bulk upload
53
- #
54
72
  class KalturaBulkUploadFilterJobData < KalturaBulkUploadJobData
55
- # Filter for extracting the objects list to upload
56
- #
73
+ # Filter for extracting the objects list to upload
57
74
  attr_accessor :filter
58
75
  # Template object for new object creation
59
- #
60
76
  attr_accessor :template_object
61
77
 
62
78
 
63
79
  def from_xml(xml_element)
64
80
  super
65
- self.filter = KalturaClientBase.object_from_xml(xml_element.elements['filter'], 'KalturaFilter')
66
- self.template_object = KalturaClientBase.object_from_xml(xml_element.elements['templateObject'], 'KalturaObjectBase')
81
+ if xml_element.elements['filter'] != nil
82
+ self.filter = KalturaClientBase.object_from_xml(xml_element.elements['filter'], 'KalturaFilter')
83
+ end
84
+ if xml_element.elements['templateObject'] != nil
85
+ self.template_object = KalturaClientBase.object_from_xml(xml_element.elements['templateObject'], 'KalturaObjectBase')
86
+ end
67
87
  end
68
88
 
69
89
  end
@@ -8,7 +8,7 @@
8
8
  # to do with audio, video, and animation what Wiki platfroms allow them to do with
9
9
  # text.
10
10
  #
11
- # Copyright (C) 2006-2015 Kaltura Inc.
11
+ # Copyright (C) 2006-2019 Kaltura Inc.
12
12
  #
13
13
  # This program is free software: you can redistribute it and/or modify
14
14
  # it under the terms of the GNU Affero General Public License as
@@ -31,7 +31,6 @@ require File.dirname(__FILE__) + '/kaltura_bulk_upload_client_plugin.rb'
31
31
  module Kaltura
32
32
 
33
33
  # Represents the Bulk upload job data for xml bulk upload
34
- #
35
34
  class KalturaBulkUploadXmlJobData < KalturaBulkUploadJobData
36
35
 
37
36
 
@@ -0,0 +1,545 @@
1
+ # ===================================================================================================
2
+ # _ __ _ _
3
+ # | |/ /__ _| | |_ _ _ _ _ __ _
4
+ # | ' </ _` | | _| || | '_/ _` |
5
+ # |_|\_\__,_|_|\__|\_,_|_| \__,_|
6
+ #
7
+ # This file is part of the Kaltura Collaborative Media Suite which allows users
8
+ # to do with audio, video, and animation what Wiki platfroms allow them to do with
9
+ # text.
10
+ #
11
+ # Copyright (C) 2006-2019 Kaltura Inc.
12
+ #
13
+ # This program is free software: you can redistribute it and/or modify
14
+ # it under the terms of the GNU Affero General Public License as
15
+ # published by the Free Software Foundation, either version 3 of the
16
+ # License, or (at your option) any later version.
17
+ #
18
+ # This program is distributed in the hope that it will be useful,
19
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
20
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
+ # GNU Affero General Public License for more details.
22
+ #
23
+ # You should have received a copy of the GNU Affero General Public License
24
+ # along with this program. If not, see <http:#www.gnu.org/licenses/>.
25
+ #
26
+ # @ignore
27
+ # ===================================================================================================
28
+ require 'kaltura_client.rb'
29
+ require File.dirname(__FILE__) + '/kaltura_event_notification_client_plugin.rb'
30
+
31
+ module Kaltura
32
+
33
+ class KalturaBusinessProcessAbortNotificationTemplateOrderBy
34
+ CREATED_AT_ASC = "+createdAt"
35
+ ID_ASC = "+id"
36
+ UPDATED_AT_ASC = "+updatedAt"
37
+ CREATED_AT_DESC = "-createdAt"
38
+ ID_DESC = "-id"
39
+ UPDATED_AT_DESC = "-updatedAt"
40
+ end
41
+
42
+ class KalturaBusinessProcessNotificationTemplateOrderBy
43
+ CREATED_AT_ASC = "+createdAt"
44
+ ID_ASC = "+id"
45
+ UPDATED_AT_ASC = "+updatedAt"
46
+ CREATED_AT_DESC = "-createdAt"
47
+ ID_DESC = "-id"
48
+ UPDATED_AT_DESC = "-updatedAt"
49
+ end
50
+
51
+ class KalturaBusinessProcessProvider
52
+ ACTIVITI = "activitiBusinessProcessNotification.Activiti"
53
+ end
54
+
55
+ class KalturaBusinessProcessServerOrderBy
56
+ CREATED_AT_ASC = "+createdAt"
57
+ UPDATED_AT_ASC = "+updatedAt"
58
+ CREATED_AT_DESC = "-createdAt"
59
+ UPDATED_AT_DESC = "-updatedAt"
60
+ end
61
+
62
+ class KalturaBusinessProcessServerStatus
63
+ DISABLED = "1"
64
+ ENABLED = "2"
65
+ DELETED = "3"
66
+ end
67
+
68
+ class KalturaBusinessProcessSignalNotificationTemplateOrderBy
69
+ CREATED_AT_ASC = "+createdAt"
70
+ ID_ASC = "+id"
71
+ UPDATED_AT_ASC = "+updatedAt"
72
+ CREATED_AT_DESC = "-createdAt"
73
+ ID_DESC = "-id"
74
+ UPDATED_AT_DESC = "-updatedAt"
75
+ end
76
+
77
+ class KalturaBusinessProcessStartNotificationTemplateOrderBy
78
+ CREATED_AT_ASC = "+createdAt"
79
+ ID_ASC = "+id"
80
+ UPDATED_AT_ASC = "+updatedAt"
81
+ CREATED_AT_DESC = "-createdAt"
82
+ ID_DESC = "-id"
83
+ UPDATED_AT_DESC = "-updatedAt"
84
+ end
85
+
86
+ class KalturaBusinessProcessCase < KalturaObjectBase
87
+ attr_accessor :id
88
+ attr_accessor :business_process_id
89
+ attr_accessor :business_process_start_notification_template_id
90
+ attr_accessor :suspended
91
+ attr_accessor :activity_id
92
+
93
+ def business_process_start_notification_template_id=(val)
94
+ @business_process_start_notification_template_id = val.to_i
95
+ end
96
+ def suspended=(val)
97
+ @suspended = to_b(val)
98
+ end
99
+
100
+ def from_xml(xml_element)
101
+ super
102
+ if xml_element.elements['id'] != nil
103
+ self.id = xml_element.elements['id'].text
104
+ end
105
+ if xml_element.elements['businessProcessId'] != nil
106
+ self.business_process_id = xml_element.elements['businessProcessId'].text
107
+ end
108
+ if xml_element.elements['businessProcessStartNotificationTemplateId'] != nil
109
+ self.business_process_start_notification_template_id = xml_element.elements['businessProcessStartNotificationTemplateId'].text
110
+ end
111
+ if xml_element.elements['suspended'] != nil
112
+ self.suspended = xml_element.elements['suspended'].text
113
+ end
114
+ if xml_element.elements['activityId'] != nil
115
+ self.activity_id = xml_element.elements['activityId'].text
116
+ end
117
+ end
118
+
119
+ end
120
+
121
+ class KalturaBusinessProcessServer < KalturaObjectBase
122
+ # Auto generated identifier
123
+ attr_accessor :id
124
+ # Server creation date as Unix timestamp (In seconds)
125
+ attr_accessor :created_at
126
+ # Server update date as Unix timestamp (In seconds)
127
+ attr_accessor :updated_at
128
+ attr_accessor :partner_id
129
+ attr_accessor :name
130
+ attr_accessor :system_name
131
+ attr_accessor :description
132
+ attr_accessor :status
133
+ # The type of the server, this is auto filled by the derived server object
134
+ attr_accessor :type
135
+ # The dc of the server
136
+ attr_accessor :dc
137
+
138
+ def id=(val)
139
+ @id = val.to_i
140
+ end
141
+ def created_at=(val)
142
+ @created_at = val.to_i
143
+ end
144
+ def updated_at=(val)
145
+ @updated_at = val.to_i
146
+ end
147
+ def partner_id=(val)
148
+ @partner_id = val.to_i
149
+ end
150
+ def dc=(val)
151
+ @dc = val.to_i
152
+ end
153
+
154
+ def from_xml(xml_element)
155
+ super
156
+ if xml_element.elements['id'] != nil
157
+ self.id = xml_element.elements['id'].text
158
+ end
159
+ if xml_element.elements['createdAt'] != nil
160
+ self.created_at = xml_element.elements['createdAt'].text
161
+ end
162
+ if xml_element.elements['updatedAt'] != nil
163
+ self.updated_at = xml_element.elements['updatedAt'].text
164
+ end
165
+ if xml_element.elements['partnerId'] != nil
166
+ self.partner_id = xml_element.elements['partnerId'].text
167
+ end
168
+ if xml_element.elements['name'] != nil
169
+ self.name = xml_element.elements['name'].text
170
+ end
171
+ if xml_element.elements['systemName'] != nil
172
+ self.system_name = xml_element.elements['systemName'].text
173
+ end
174
+ if xml_element.elements['description'] != nil
175
+ self.description = xml_element.elements['description'].text
176
+ end
177
+ if xml_element.elements['status'] != nil
178
+ self.status = xml_element.elements['status'].text
179
+ end
180
+ if xml_element.elements['type'] != nil
181
+ self.type = xml_element.elements['type'].text
182
+ end
183
+ if xml_element.elements['dc'] != nil
184
+ self.dc = xml_element.elements['dc'].text
185
+ end
186
+ end
187
+
188
+ end
189
+
190
+ class KalturaBusinessProcessNotificationTemplate < KalturaEventNotificationTemplate
191
+ # Define the integrated BPM server id
192
+ attr_accessor :server_id
193
+ # Define the integrated BPM process id
194
+ attr_accessor :process_id
195
+ # Code to load the main triggering object
196
+ attr_accessor :main_object_code
197
+
198
+ def server_id=(val)
199
+ @server_id = val.to_i
200
+ end
201
+
202
+ def from_xml(xml_element)
203
+ super
204
+ if xml_element.elements['serverId'] != nil
205
+ self.server_id = xml_element.elements['serverId'].text
206
+ end
207
+ if xml_element.elements['processId'] != nil
208
+ self.process_id = xml_element.elements['processId'].text
209
+ end
210
+ if xml_element.elements['mainObjectCode'] != nil
211
+ self.main_object_code = xml_element.elements['mainObjectCode'].text
212
+ end
213
+ end
214
+
215
+ end
216
+
217
+ class KalturaBusinessProcessServerBaseFilter < KalturaFilter
218
+ attr_accessor :id_equal
219
+ attr_accessor :id_in
220
+ attr_accessor :id_not_in
221
+ attr_accessor :created_at_greater_than_or_equal
222
+ attr_accessor :created_at_less_than_or_equal
223
+ attr_accessor :updated_at_greater_than_or_equal
224
+ attr_accessor :updated_at_less_than_or_equal
225
+ attr_accessor :partner_id_equal
226
+ attr_accessor :partner_id_in
227
+ attr_accessor :status_equal
228
+ attr_accessor :status_not_equal
229
+ attr_accessor :status_in
230
+ attr_accessor :status_not_in
231
+ attr_accessor :type_equal
232
+ attr_accessor :type_in
233
+ attr_accessor :dc_equal
234
+ attr_accessor :dc_eq_or_null
235
+
236
+ def id_equal=(val)
237
+ @id_equal = val.to_i
238
+ end
239
+ def created_at_greater_than_or_equal=(val)
240
+ @created_at_greater_than_or_equal = val.to_i
241
+ end
242
+ def created_at_less_than_or_equal=(val)
243
+ @created_at_less_than_or_equal = val.to_i
244
+ end
245
+ def updated_at_greater_than_or_equal=(val)
246
+ @updated_at_greater_than_or_equal = val.to_i
247
+ end
248
+ def updated_at_less_than_or_equal=(val)
249
+ @updated_at_less_than_or_equal = val.to_i
250
+ end
251
+ def partner_id_equal=(val)
252
+ @partner_id_equal = val.to_i
253
+ end
254
+ def dc_equal=(val)
255
+ @dc_equal = val.to_i
256
+ end
257
+ def dc_eq_or_null=(val)
258
+ @dc_eq_or_null = val.to_i
259
+ end
260
+
261
+ def from_xml(xml_element)
262
+ super
263
+ if xml_element.elements['idEqual'] != nil
264
+ self.id_equal = xml_element.elements['idEqual'].text
265
+ end
266
+ if xml_element.elements['idIn'] != nil
267
+ self.id_in = xml_element.elements['idIn'].text
268
+ end
269
+ if xml_element.elements['idNotIn'] != nil
270
+ self.id_not_in = xml_element.elements['idNotIn'].text
271
+ end
272
+ if xml_element.elements['createdAtGreaterThanOrEqual'] != nil
273
+ self.created_at_greater_than_or_equal = xml_element.elements['createdAtGreaterThanOrEqual'].text
274
+ end
275
+ if xml_element.elements['createdAtLessThanOrEqual'] != nil
276
+ self.created_at_less_than_or_equal = xml_element.elements['createdAtLessThanOrEqual'].text
277
+ end
278
+ if xml_element.elements['updatedAtGreaterThanOrEqual'] != nil
279
+ self.updated_at_greater_than_or_equal = xml_element.elements['updatedAtGreaterThanOrEqual'].text
280
+ end
281
+ if xml_element.elements['updatedAtLessThanOrEqual'] != nil
282
+ self.updated_at_less_than_or_equal = xml_element.elements['updatedAtLessThanOrEqual'].text
283
+ end
284
+ if xml_element.elements['partnerIdEqual'] != nil
285
+ self.partner_id_equal = xml_element.elements['partnerIdEqual'].text
286
+ end
287
+ if xml_element.elements['partnerIdIn'] != nil
288
+ self.partner_id_in = xml_element.elements['partnerIdIn'].text
289
+ end
290
+ if xml_element.elements['statusEqual'] != nil
291
+ self.status_equal = xml_element.elements['statusEqual'].text
292
+ end
293
+ if xml_element.elements['statusNotEqual'] != nil
294
+ self.status_not_equal = xml_element.elements['statusNotEqual'].text
295
+ end
296
+ if xml_element.elements['statusIn'] != nil
297
+ self.status_in = xml_element.elements['statusIn'].text
298
+ end
299
+ if xml_element.elements['statusNotIn'] != nil
300
+ self.status_not_in = xml_element.elements['statusNotIn'].text
301
+ end
302
+ if xml_element.elements['typeEqual'] != nil
303
+ self.type_equal = xml_element.elements['typeEqual'].text
304
+ end
305
+ if xml_element.elements['typeIn'] != nil
306
+ self.type_in = xml_element.elements['typeIn'].text
307
+ end
308
+ if xml_element.elements['dcEqual'] != nil
309
+ self.dc_equal = xml_element.elements['dcEqual'].text
310
+ end
311
+ if xml_element.elements['dcEqOrNull'] != nil
312
+ self.dc_eq_or_null = xml_element.elements['dcEqOrNull'].text
313
+ end
314
+ end
315
+
316
+ end
317
+
318
+ class KalturaBusinessProcessServerListResponse < KalturaListResponse
319
+ attr_accessor :objects
320
+
321
+
322
+ def from_xml(xml_element)
323
+ super
324
+ if xml_element.elements['objects'] != nil
325
+ self.objects = KalturaClientBase.object_from_xml(xml_element.elements['objects'], 'KalturaBusinessProcessServer')
326
+ end
327
+ end
328
+
329
+ end
330
+
331
+ class KalturaBusinessProcessAbortNotificationTemplate < KalturaBusinessProcessNotificationTemplate
332
+
333
+
334
+ def from_xml(xml_element)
335
+ super
336
+ end
337
+
338
+ end
339
+
340
+ class KalturaBusinessProcessNotificationDispatchJobData < KalturaEventNotificationDispatchJobData
341
+ attr_accessor :server
342
+ attr_accessor :case_id
343
+
344
+
345
+ def from_xml(xml_element)
346
+ super
347
+ if xml_element.elements['server'] != nil
348
+ self.server = KalturaClientBase.object_from_xml(xml_element.elements['server'], 'KalturaBusinessProcessServer')
349
+ end
350
+ if xml_element.elements['caseId'] != nil
351
+ self.case_id = xml_element.elements['caseId'].text
352
+ end
353
+ end
354
+
355
+ end
356
+
357
+ class KalturaBusinessProcessServerFilter < KalturaBusinessProcessServerBaseFilter
358
+ attr_accessor :current_dc_or_external
359
+ attr_accessor :current_dc
360
+
361
+ def current_dc_or_external=(val)
362
+ @current_dc_or_external = val.to_i
363
+ end
364
+ def current_dc=(val)
365
+ @current_dc = val.to_i
366
+ end
367
+
368
+ def from_xml(xml_element)
369
+ super
370
+ if xml_element.elements['currentDcOrExternal'] != nil
371
+ self.current_dc_or_external = xml_element.elements['currentDcOrExternal'].text
372
+ end
373
+ if xml_element.elements['currentDc'] != nil
374
+ self.current_dc = xml_element.elements['currentDc'].text
375
+ end
376
+ end
377
+
378
+ end
379
+
380
+ class KalturaBusinessProcessSignalNotificationTemplate < KalturaBusinessProcessNotificationTemplate
381
+ # Define the message to be sent
382
+ attr_accessor :message
383
+ # Define the event that waiting to the signal
384
+ attr_accessor :event_id
385
+
386
+
387
+ def from_xml(xml_element)
388
+ super
389
+ if xml_element.elements['message'] != nil
390
+ self.message = xml_element.elements['message'].text
391
+ end
392
+ if xml_element.elements['eventId'] != nil
393
+ self.event_id = xml_element.elements['eventId'].text
394
+ end
395
+ end
396
+
397
+ end
398
+
399
+ class KalturaBusinessProcessStartNotificationTemplate < KalturaBusinessProcessNotificationTemplate
400
+ # Abort the process automatically if the triggering object deleted
401
+ attr_accessor :abort_on_deletion
402
+
403
+ def abort_on_deletion=(val)
404
+ @abort_on_deletion = to_b(val)
405
+ end
406
+
407
+ def from_xml(xml_element)
408
+ super
409
+ if xml_element.elements['abortOnDeletion'] != nil
410
+ self.abort_on_deletion = xml_element.elements['abortOnDeletion'].text
411
+ end
412
+ end
413
+
414
+ end
415
+
416
+ class KalturaBusinessProcessNotificationTemplateBaseFilter < KalturaEventNotificationTemplateFilter
417
+
418
+
419
+ def from_xml(xml_element)
420
+ super
421
+ end
422
+
423
+ end
424
+
425
+ class KalturaBusinessProcessNotificationTemplateFilter < KalturaBusinessProcessNotificationTemplateBaseFilter
426
+
427
+
428
+ def from_xml(xml_element)
429
+ super
430
+ end
431
+
432
+ end
433
+
434
+ class KalturaBusinessProcessAbortNotificationTemplateBaseFilter < KalturaBusinessProcessNotificationTemplateFilter
435
+
436
+
437
+ def from_xml(xml_element)
438
+ super
439
+ end
440
+
441
+ end
442
+
443
+ class KalturaBusinessProcessSignalNotificationTemplateBaseFilter < KalturaBusinessProcessNotificationTemplateFilter
444
+
445
+
446
+ def from_xml(xml_element)
447
+ super
448
+ end
449
+
450
+ end
451
+
452
+ class KalturaBusinessProcessStartNotificationTemplateBaseFilter < KalturaBusinessProcessNotificationTemplateFilter
453
+
454
+
455
+ def from_xml(xml_element)
456
+ super
457
+ end
458
+
459
+ end
460
+
461
+ class KalturaBusinessProcessAbortNotificationTemplateFilter < KalturaBusinessProcessAbortNotificationTemplateBaseFilter
462
+
463
+
464
+ def from_xml(xml_element)
465
+ super
466
+ end
467
+
468
+ end
469
+
470
+ class KalturaBusinessProcessSignalNotificationTemplateFilter < KalturaBusinessProcessSignalNotificationTemplateBaseFilter
471
+
472
+
473
+ def from_xml(xml_element)
474
+ super
475
+ end
476
+
477
+ end
478
+
479
+ class KalturaBusinessProcessStartNotificationTemplateFilter < KalturaBusinessProcessStartNotificationTemplateBaseFilter
480
+
481
+
482
+ def from_xml(xml_element)
483
+ super
484
+ end
485
+
486
+ end
487
+
488
+
489
+ # Business-process case service lets you get information about processes
490
+ class KalturaBusinessProcessCaseService < KalturaServiceBase
491
+ def initialize(client)
492
+ super(client)
493
+ end
494
+
495
+ # Abort business-process case
496
+ # @return []
497
+ def abort(object_type, object_id, business_process_start_notification_template_id)
498
+ kparams = {}
499
+ client.add_param(kparams, 'objectType', object_type)
500
+ client.add_param(kparams, 'objectId', object_id)
501
+ client.add_param(kparams, 'businessProcessStartNotificationTemplateId', business_process_start_notification_template_id)
502
+ client.queue_service_action_call('businessprocessnotification_businessprocesscase', 'abort', '', kparams)
503
+ if (client.is_multirequest)
504
+ return nil
505
+ end
506
+ return client.do_queue()
507
+ end
508
+
509
+ # list business-process cases
510
+ # @return [array]
511
+ def list(object_type, object_id)
512
+ kparams = {}
513
+ client.add_param(kparams, 'objectType', object_type)
514
+ client.add_param(kparams, 'objectId', object_id)
515
+ client.queue_service_action_call('businessprocessnotification_businessprocesscase', 'list', 'KalturaBusinessProcessCase', kparams)
516
+ if (client.is_multirequest)
517
+ return nil
518
+ end
519
+ return client.do_queue()
520
+ end
521
+
522
+ # Server business-process case diagram
523
+ # @return [file]
524
+ def serve_diagram(object_type, object_id, business_process_start_notification_template_id)
525
+ kparams = {}
526
+ client.add_param(kparams, 'objectType', object_type)
527
+ client.add_param(kparams, 'objectId', object_id)
528
+ client.add_param(kparams, 'businessProcessStartNotificationTemplateId', business_process_start_notification_template_id)
529
+ client.queue_service_action_call('businessprocessnotification_businessprocesscase', 'serveDiagram', 'file', kparams)
530
+ return client.get_serve_url()
531
+ end
532
+ end
533
+
534
+ class KalturaClient < KalturaClientBase
535
+ attr_reader :business_process_case_service
536
+ def business_process_case_service
537
+ if (@business_process_case_service == nil)
538
+ @business_process_case_service = KalturaBusinessProcessCaseService.new(self)
539
+ end
540
+ return @business_process_case_service
541
+ end
542
+
543
+ end
544
+
545
+ end