files.com 1.0.90

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.
Files changed (136) hide show
  1. checksums.yaml +7 -0
  2. data/CONTRIBUTORS +4 -0
  3. data/Gemfile +12 -0
  4. data/Gemfile.lock +82 -0
  5. data/LICENSE +21 -0
  6. data/README.md +119 -0
  7. data/Rakefile +12 -0
  8. data/SECURITY.md +24 -0
  9. data/_VERSION +1 -0
  10. data/bin/files +8 -0
  11. data/bin/files-console +16 -0
  12. data/docs/account_line_item.md +41 -0
  13. data/docs/action.md +37 -0
  14. data/docs/api_key.md +202 -0
  15. data/docs/app.md +57 -0
  16. data/docs/as2_key.md +133 -0
  17. data/docs/auto.md +11 -0
  18. data/docs/automation.md +190 -0
  19. data/docs/behavior.md +208 -0
  20. data/docs/bundle.md +252 -0
  21. data/docs/bundle_download.md +35 -0
  22. data/docs/clickwrap.md +143 -0
  23. data/docs/dns_record.md +35 -0
  24. data/docs/errors.md +17 -0
  25. data/docs/file.md +204 -0
  26. data/docs/file_action.md +126 -0
  27. data/docs/file_comment.md +116 -0
  28. data/docs/file_comment_reaction.md +62 -0
  29. data/docs/file_part_upload.md +37 -0
  30. data/docs/file_utils.md +4 -0
  31. data/docs/folder.md +90 -0
  32. data/docs/group.md +153 -0
  33. data/docs/group_user.md +124 -0
  34. data/docs/history.md +171 -0
  35. data/docs/history_export.md +174 -0
  36. data/docs/image.md +13 -0
  37. data/docs/invoice.md +72 -0
  38. data/docs/invoice_line_item.md +27 -0
  39. data/docs/ip_address.md +55 -0
  40. data/docs/lock.md +98 -0
  41. data/docs/message.md +147 -0
  42. data/docs/message_comment.md +132 -0
  43. data/docs/message_comment_reaction.md +94 -0
  44. data/docs/message_reaction.md +94 -0
  45. data/docs/notification.md +177 -0
  46. data/docs/payment.md +72 -0
  47. data/docs/payment_line_item.md +19 -0
  48. data/docs/permission.md +95 -0
  49. data/docs/preview.md +19 -0
  50. data/docs/project.md +121 -0
  51. data/docs/public_ip_address.md +13 -0
  52. data/docs/public_key.md +133 -0
  53. data/docs/remote_server.md +356 -0
  54. data/docs/request.md +100 -0
  55. data/docs/session.md +78 -0
  56. data/docs/site.md +448 -0
  57. data/docs/sso_strategy.md +114 -0
  58. data/docs/status.md +21 -0
  59. data/docs/style.md +93 -0
  60. data/docs/usage_daily_snapshot.md +45 -0
  61. data/docs/usage_snapshot.md +53 -0
  62. data/docs/user.md +535 -0
  63. data/docs/user_cipher_use.md +41 -0
  64. data/docs/user_request.md +93 -0
  65. data/files.com.gemspec +22 -0
  66. data/lib/files.com.rb +184 -0
  67. data/lib/files.com/api.rb +38 -0
  68. data/lib/files.com/api_client.rb +340 -0
  69. data/lib/files.com/errors.rb +41 -0
  70. data/lib/files.com/list.rb +95 -0
  71. data/lib/files.com/models/account_line_item.rb +82 -0
  72. data/lib/files.com/models/action.rb +77 -0
  73. data/lib/files.com/models/api_key.rb +270 -0
  74. data/lib/files.com/models/app.rb +101 -0
  75. data/lib/files.com/models/as2_key.rb +179 -0
  76. data/lib/files.com/models/auto.rb +17 -0
  77. data/lib/files.com/models/automation.rb +304 -0
  78. data/lib/files.com/models/behavior.rb +266 -0
  79. data/lib/files.com/models/bundle.rb +371 -0
  80. data/lib/files.com/models/bundle_download.rb +49 -0
  81. data/lib/files.com/models/clickwrap.rb +197 -0
  82. data/lib/files.com/models/dir.rb +3 -0
  83. data/lib/files.com/models/dns_record.rb +51 -0
  84. data/lib/files.com/models/errors.rb +22 -0
  85. data/lib/files.com/models/file.rb +968 -0
  86. data/lib/files.com/models/file_action.rb +126 -0
  87. data/lib/files.com/models/file_comment.rb +146 -0
  88. data/lib/files.com/models/file_comment_reaction.rb +100 -0
  89. data/lib/files.com/models/file_part_upload.rb +82 -0
  90. data/lib/files.com/models/file_utils.rb +118 -0
  91. data/lib/files.com/models/folder.rb +357 -0
  92. data/lib/files.com/models/group.rb +208 -0
  93. data/lib/files.com/models/group_user.rb +171 -0
  94. data/lib/files.com/models/history.rb +228 -0
  95. data/lib/files.com/models/history_export.rb +353 -0
  96. data/lib/files.com/models/image.rb +22 -0
  97. data/lib/files.com/models/invoice.rb +117 -0
  98. data/lib/files.com/models/invoice_line_item.rb +57 -0
  99. data/lib/files.com/models/ip_address.rb +66 -0
  100. data/lib/files.com/models/lock.rb +173 -0
  101. data/lib/files.com/models/message.rb +201 -0
  102. data/lib/files.com/models/message_comment.rb +165 -0
  103. data/lib/files.com/models/message_comment_reaction.rb +128 -0
  104. data/lib/files.com/models/message_reaction.rb +128 -0
  105. data/lib/files.com/models/notification.rb +263 -0
  106. data/lib/files.com/models/payment.rb +117 -0
  107. data/lib/files.com/models/payment_line_item.rb +37 -0
  108. data/lib/files.com/models/permission.rb +172 -0
  109. data/lib/files.com/models/preview.rb +37 -0
  110. data/lib/files.com/models/project.rb +140 -0
  111. data/lib/files.com/models/public_ip_address.rb +22 -0
  112. data/lib/files.com/models/public_key.rb +179 -0
  113. data/lib/files.com/models/remote_server.rb +680 -0
  114. data/lib/files.com/models/request.rb +179 -0
  115. data/lib/files.com/models/session.rb +247 -0
  116. data/lib/files.com/models/site.rb +733 -0
  117. data/lib/files.com/models/sso_strategy.rb +227 -0
  118. data/lib/files.com/models/status.rb +37 -0
  119. data/lib/files.com/models/style.rb +131 -0
  120. data/lib/files.com/models/usage_daily_snapshot.rb +66 -0
  121. data/lib/files.com/models/usage_snapshot.rb +96 -0
  122. data/lib/files.com/models/user.rb +876 -0
  123. data/lib/files.com/models/user_cipher_use.rb +63 -0
  124. data/lib/files.com/models/user_request.rb +127 -0
  125. data/lib/files.com/response.rb +25 -0
  126. data/lib/files.com/sizable_io.rb +32 -0
  127. data/lib/files.com/system_profiler.rb +56 -0
  128. data/lib/files.com/util.rb +106 -0
  129. data/lib/files.com/version.rb +5 -0
  130. data/spec/list_spec.rb +214 -0
  131. data/spec/models/file_spec.rb +68 -0
  132. data/spec/models/folder_spec.rb +40 -0
  133. data/spec/spec_helper.rb +36 -0
  134. data/test.sh +8 -0
  135. data/test/test.rb +75 -0
  136. metadata +235 -0
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Files
4
+ class InvoiceLineItem
5
+ attr_reader :options, :attributes
6
+
7
+ def initialize(attributes = {}, options = {})
8
+ @attributes = attributes || {}
9
+ @options = options || {}
10
+ end
11
+
12
+ # double - Invoice line item amount
13
+ def amount
14
+ @attributes[:amount]
15
+ end
16
+
17
+ # date-time - Invoice line item created at date/time
18
+ def created_at
19
+ @attributes[:created_at]
20
+ end
21
+
22
+ # string - Invoice line item description
23
+ def description
24
+ @attributes[:description]
25
+ end
26
+
27
+ # string - Invoice line item type
28
+ def type
29
+ @attributes[:type]
30
+ end
31
+
32
+ # date-time - Invoice line item service end date/time
33
+ def service_end_at
34
+ @attributes[:service_end_at]
35
+ end
36
+
37
+ # date-time - Invoice line item service start date/time
38
+ def service_start_at
39
+ @attributes[:service_start_at]
40
+ end
41
+
42
+ # date-time - Invoice line item updated date/time
43
+ def updated_at
44
+ @attributes[:updated_at]
45
+ end
46
+
47
+ # string - Plan name
48
+ def plan
49
+ @attributes[:plan]
50
+ end
51
+
52
+ # string - Site name
53
+ def site
54
+ @attributes[:site]
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,66 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Files
4
+ class IpAddress
5
+ attr_reader :options, :attributes
6
+
7
+ def initialize(attributes = {}, options = {})
8
+ @attributes = attributes || {}
9
+ @options = options || {}
10
+ end
11
+
12
+ # string - Unique label for list; used by Zapier and other integrations.
13
+ def id
14
+ @attributes[:id]
15
+ end
16
+
17
+ # string - The object that this public IP address list is associated with.
18
+ def associated_with
19
+ @attributes[:associated_with]
20
+ end
21
+
22
+ # int64 - Group ID
23
+ def group_id
24
+ @attributes[:group_id]
25
+ end
26
+
27
+ # array - A list of IP addresses.
28
+ def ip_addresses
29
+ @attributes[:ip_addresses]
30
+ end
31
+
32
+ # Parameters:
33
+ # page - int64 - Current page number.
34
+ # per_page - int64 - Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
35
+ # action - string - Deprecated: If set to `count` returns a count of matching records rather than the records themselves.
36
+ def self.list(params = {}, options = {})
37
+ raise InvalidParameterError.new("Bad parameter: page must be an Integer") if params.dig(:page) and !params.dig(:page).is_a?(Integer)
38
+ raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if params.dig(:per_page) and !params.dig(:per_page).is_a?(Integer)
39
+ raise InvalidParameterError.new("Bad parameter: action must be an String") if params.dig(:action) and !params.dig(:action).is_a?(String)
40
+
41
+ response, options = Api.send_request("/ip_addresses", :get, params, options)
42
+ response.data.map do |entity_data|
43
+ IpAddress.new(entity_data, options)
44
+ end
45
+ end
46
+
47
+ def self.all(params = {}, options = {})
48
+ list(params, options)
49
+ end
50
+
51
+ # Parameters:
52
+ # page - int64 - Current page number.
53
+ # per_page - int64 - Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
54
+ # action - string - Deprecated: If set to `count` returns a count of matching records rather than the records themselves.
55
+ def self.get_reserved(params = {}, options = {})
56
+ raise InvalidParameterError.new("Bad parameter: page must be an Integer") if params.dig(:page) and !params.dig(:page).is_a?(Integer)
57
+ raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if params.dig(:per_page) and !params.dig(:per_page).is_a?(Integer)
58
+ raise InvalidParameterError.new("Bad parameter: action must be an String") if params.dig(:action) and !params.dig(:action).is_a?(String)
59
+
60
+ response, options = Api.send_request("/ip_addresses/reserved", :get, params, options)
61
+ response.data.map do |entity_data|
62
+ PublicIpAddress.new(entity_data, options)
63
+ end
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,173 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Files
4
+ class Lock
5
+ attr_reader :options, :attributes
6
+
7
+ def initialize(attributes = {}, options = {})
8
+ @attributes = attributes || {}
9
+ @options = options || {}
10
+ end
11
+
12
+ # string - Path This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.
13
+ def path
14
+ @attributes[:path]
15
+ end
16
+
17
+ def path=(value)
18
+ @attributes[:path] = value
19
+ end
20
+
21
+ # int64 - Lock timeout
22
+ def timeout
23
+ @attributes[:timeout]
24
+ end
25
+
26
+ def timeout=(value)
27
+ @attributes[:timeout] = value
28
+ end
29
+
30
+ # string - Lock depth (0 or infinity)
31
+ def depth
32
+ @attributes[:depth]
33
+ end
34
+
35
+ def depth=(value)
36
+ @attributes[:depth] = value
37
+ end
38
+
39
+ # string - Owner of lock. This can be any arbitrary string.
40
+ def owner
41
+ @attributes[:owner]
42
+ end
43
+
44
+ def owner=(value)
45
+ @attributes[:owner] = value
46
+ end
47
+
48
+ # string - Lock scope(shared or exclusive)
49
+ def scope
50
+ @attributes[:scope]
51
+ end
52
+
53
+ def scope=(value)
54
+ @attributes[:scope] = value
55
+ end
56
+
57
+ # string - Lock token. Use to release lock.
58
+ def token
59
+ @attributes[:token]
60
+ end
61
+
62
+ def token=(value)
63
+ @attributes[:token] = value
64
+ end
65
+
66
+ # string - Lock type
67
+ def type
68
+ @attributes[:type]
69
+ end
70
+
71
+ def type=(value)
72
+ @attributes[:type] = value
73
+ end
74
+
75
+ # int64 - Lock creator user ID
76
+ def user_id
77
+ @attributes[:user_id]
78
+ end
79
+
80
+ def user_id=(value)
81
+ @attributes[:user_id] = value
82
+ end
83
+
84
+ # string - Lock creator username
85
+ def username
86
+ @attributes[:username]
87
+ end
88
+
89
+ def username=(value)
90
+ @attributes[:username] = value
91
+ end
92
+
93
+ # Parameters:
94
+ # token (required) - string - Lock token
95
+ def delete(params = {})
96
+ params ||= {}
97
+ params[:path] = @attributes[:path]
98
+ raise MissingParameterError.new("Current object doesn't have a path") unless @attributes[:path]
99
+ raise InvalidParameterError.new("Bad parameter: path must be an String") if params.dig(:path) and !params.dig(:path).is_a?(String)
100
+ raise InvalidParameterError.new("Bad parameter: token must be an String") if params.dig(:token) and !params.dig(:token).is_a?(String)
101
+ raise MissingParameterError.new("Parameter missing: path") unless params.dig(:path)
102
+ raise MissingParameterError.new("Parameter missing: token") unless params.dig(:token)
103
+
104
+ Api.send_request("/locks/#{@attributes[:path]}", :delete, params, @options)
105
+ end
106
+
107
+ def destroy(params = {})
108
+ delete(params)
109
+ end
110
+
111
+ def save
112
+ if @attributes[:path]
113
+ raise NotImplementedError.new("The Lock object doesn't support updates.")
114
+ else
115
+ new_obj = Lock.create(@attributes, @options)
116
+ @attributes = new_obj.attributes
117
+ end
118
+ end
119
+
120
+ # Parameters:
121
+ # page - int64 - Current page number.
122
+ # per_page - int64 - Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
123
+ # action - string - Deprecated: If set to `count` returns a count of matching records rather than the records themselves.
124
+ # path (required) - string - Path to operate on.
125
+ # include_children - boolean - Include locks from children objects?
126
+ def self.list_for(path, params = {}, options = {})
127
+ params ||= {}
128
+ params[:path] = path
129
+ raise InvalidParameterError.new("Bad parameter: page must be an Integer") if params.dig(:page) and !params.dig(:page).is_a?(Integer)
130
+ raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if params.dig(:per_page) and !params.dig(:per_page).is_a?(Integer)
131
+ raise InvalidParameterError.new("Bad parameter: action must be an String") if params.dig(:action) and !params.dig(:action).is_a?(String)
132
+ raise InvalidParameterError.new("Bad parameter: path must be an String") if params.dig(:path) and !params.dig(:path).is_a?(String)
133
+ raise MissingParameterError.new("Parameter missing: path") unless params.dig(:path)
134
+
135
+ response, options = Api.send_request("/locks/#{params[:path]}", :get, params, options)
136
+ response.data.map do |entity_data|
137
+ Lock.new(entity_data, options)
138
+ end
139
+ end
140
+
141
+ # Parameters:
142
+ # path (required) - string - Path
143
+ # timeout - int64 - Lock timeout length
144
+ def self.create(path, params = {}, options = {})
145
+ params ||= {}
146
+ params[:path] = path
147
+ raise InvalidParameterError.new("Bad parameter: path must be an String") if params.dig(:path) and !params.dig(:path).is_a?(String)
148
+ raise InvalidParameterError.new("Bad parameter: timeout must be an Integer") if params.dig(:timeout) and !params.dig(:timeout).is_a?(Integer)
149
+ raise MissingParameterError.new("Parameter missing: path") unless params.dig(:path)
150
+
151
+ response, options = Api.send_request("/locks/#{params[:path]}", :post, params, options)
152
+ Lock.new(response.data, options)
153
+ end
154
+
155
+ # Parameters:
156
+ # token (required) - string - Lock token
157
+ def self.delete(path, params = {}, options = {})
158
+ params ||= {}
159
+ params[:path] = path
160
+ raise InvalidParameterError.new("Bad parameter: path must be an String") if params.dig(:path) and !params.dig(:path).is_a?(String)
161
+ raise InvalidParameterError.new("Bad parameter: token must be an String") if params.dig(:token) and !params.dig(:token).is_a?(String)
162
+ raise MissingParameterError.new("Parameter missing: path") unless params.dig(:path)
163
+ raise MissingParameterError.new("Parameter missing: token") unless params.dig(:token)
164
+
165
+ response, _options = Api.send_request("/locks/#{params[:path]}", :delete, params, options)
166
+ response.data
167
+ end
168
+
169
+ def self.destroy(path, params = {}, options = {})
170
+ delete(path, params, options)
171
+ end
172
+ end
173
+ end
@@ -0,0 +1,201 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Files
4
+ class Message
5
+ attr_reader :options, :attributes
6
+
7
+ def initialize(attributes = {}, options = {})
8
+ @attributes = attributes || {}
9
+ @options = options || {}
10
+ end
11
+
12
+ # int64 - Message ID
13
+ def id
14
+ @attributes[:id]
15
+ end
16
+
17
+ def id=(value)
18
+ @attributes[:id] = value
19
+ end
20
+
21
+ # string - Message subject.
22
+ def subject
23
+ @attributes[:subject]
24
+ end
25
+
26
+ def subject=(value)
27
+ @attributes[:subject] = value
28
+ end
29
+
30
+ # string - Message body.
31
+ def body
32
+ @attributes[:body]
33
+ end
34
+
35
+ def body=(value)
36
+ @attributes[:body] = value
37
+ end
38
+
39
+ # array - Comments.
40
+ def comments
41
+ @attributes[:comments]
42
+ end
43
+
44
+ def comments=(value)
45
+ @attributes[:comments] = value
46
+ end
47
+
48
+ # int64 - User ID. Provide a value of `0` to operate the current session's user.
49
+ def user_id
50
+ @attributes[:user_id]
51
+ end
52
+
53
+ def user_id=(value)
54
+ @attributes[:user_id] = value
55
+ end
56
+
57
+ # int64 - Project to which the message should be attached.
58
+ def project_id
59
+ @attributes[:project_id]
60
+ end
61
+
62
+ def project_id=(value)
63
+ @attributes[:project_id] = value
64
+ end
65
+
66
+ # Parameters:
67
+ # project_id (required) - int64 - Project to which the message should be attached.
68
+ # subject (required) - string - Message subject.
69
+ # body (required) - string - Message body.
70
+ def update(params = {})
71
+ params ||= {}
72
+ params[:id] = @attributes[:id]
73
+ raise MissingParameterError.new("Current object doesn't have a id") unless @attributes[:id]
74
+ raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params.dig(:id) and !params.dig(:id).is_a?(Integer)
75
+ raise InvalidParameterError.new("Bad parameter: project_id must be an Integer") if params.dig(:project_id) and !params.dig(:project_id).is_a?(Integer)
76
+ raise InvalidParameterError.new("Bad parameter: subject must be an String") if params.dig(:subject) and !params.dig(:subject).is_a?(String)
77
+ raise InvalidParameterError.new("Bad parameter: body must be an String") if params.dig(:body) and !params.dig(:body).is_a?(String)
78
+ raise MissingParameterError.new("Parameter missing: id") unless params.dig(:id)
79
+ raise MissingParameterError.new("Parameter missing: project_id") unless params.dig(:project_id)
80
+ raise MissingParameterError.new("Parameter missing: subject") unless params.dig(:subject)
81
+ raise MissingParameterError.new("Parameter missing: body") unless params.dig(:body)
82
+
83
+ Api.send_request("/messages/#{@attributes[:id]}", :patch, params, @options)
84
+ end
85
+
86
+ def delete(params = {})
87
+ params ||= {}
88
+ params[:id] = @attributes[:id]
89
+ raise MissingParameterError.new("Current object doesn't have a id") unless @attributes[:id]
90
+ raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params.dig(:id) and !params.dig(:id).is_a?(Integer)
91
+ raise MissingParameterError.new("Parameter missing: id") unless params.dig(:id)
92
+
93
+ Api.send_request("/messages/#{@attributes[:id]}", :delete, params, @options)
94
+ end
95
+
96
+ def destroy(params = {})
97
+ delete(params)
98
+ end
99
+
100
+ def save
101
+ if @attributes[:id]
102
+ update(@attributes)
103
+ else
104
+ new_obj = Message.create(@attributes, @options)
105
+ @attributes = new_obj.attributes
106
+ end
107
+ end
108
+
109
+ # Parameters:
110
+ # user_id - int64 - User ID. Provide a value of `0` to operate the current session's user.
111
+ # page - int64 - Current page number.
112
+ # per_page - int64 - Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
113
+ # action - string - Deprecated: If set to `count` returns a count of matching records rather than the records themselves.
114
+ # project_id (required) - int64 - Project for which to return messages.
115
+ def self.list(params = {}, options = {})
116
+ raise InvalidParameterError.new("Bad parameter: user_id must be an Integer") if params.dig(:user_id) and !params.dig(:user_id).is_a?(Integer)
117
+ raise InvalidParameterError.new("Bad parameter: page must be an Integer") if params.dig(:page) and !params.dig(:page).is_a?(Integer)
118
+ raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if params.dig(:per_page) and !params.dig(:per_page).is_a?(Integer)
119
+ raise InvalidParameterError.new("Bad parameter: action must be an String") if params.dig(:action) and !params.dig(:action).is_a?(String)
120
+ raise InvalidParameterError.new("Bad parameter: project_id must be an Integer") if params.dig(:project_id) and !params.dig(:project_id).is_a?(Integer)
121
+ raise MissingParameterError.new("Parameter missing: project_id") unless params.dig(:project_id)
122
+
123
+ response, options = Api.send_request("/messages", :get, params, options)
124
+ response.data.map do |entity_data|
125
+ Message.new(entity_data, options)
126
+ end
127
+ end
128
+
129
+ def self.all(params = {}, options = {})
130
+ list(params, options)
131
+ end
132
+
133
+ # Parameters:
134
+ # id (required) - int64 - Message ID.
135
+ def self.find(id, params = {}, options = {})
136
+ params ||= {}
137
+ params[:id] = id
138
+ raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params.dig(:id) and !params.dig(:id).is_a?(Integer)
139
+ raise MissingParameterError.new("Parameter missing: id") unless params.dig(:id)
140
+
141
+ response, options = Api.send_request("/messages/#{params[:id]}", :get, params, options)
142
+ Message.new(response.data, options)
143
+ end
144
+
145
+ def self.get(id, params = {}, options = {})
146
+ find(id, params, options)
147
+ end
148
+
149
+ # Parameters:
150
+ # user_id - int64 - User ID. Provide a value of `0` to operate the current session's user.
151
+ # project_id (required) - int64 - Project to which the message should be attached.
152
+ # subject (required) - string - Message subject.
153
+ # body (required) - string - Message body.
154
+ def self.create(params = {}, options = {})
155
+ raise InvalidParameterError.new("Bad parameter: user_id must be an Integer") if params.dig(:user_id) and !params.dig(:user_id).is_a?(Integer)
156
+ raise InvalidParameterError.new("Bad parameter: project_id must be an Integer") if params.dig(:project_id) and !params.dig(:project_id).is_a?(Integer)
157
+ raise InvalidParameterError.new("Bad parameter: subject must be an String") if params.dig(:subject) and !params.dig(:subject).is_a?(String)
158
+ raise InvalidParameterError.new("Bad parameter: body must be an String") if params.dig(:body) and !params.dig(:body).is_a?(String)
159
+ raise MissingParameterError.new("Parameter missing: project_id") unless params.dig(:project_id)
160
+ raise MissingParameterError.new("Parameter missing: subject") unless params.dig(:subject)
161
+ raise MissingParameterError.new("Parameter missing: body") unless params.dig(:body)
162
+
163
+ response, options = Api.send_request("/messages", :post, params, options)
164
+ Message.new(response.data, options)
165
+ end
166
+
167
+ # Parameters:
168
+ # project_id (required) - int64 - Project to which the message should be attached.
169
+ # subject (required) - string - Message subject.
170
+ # body (required) - string - Message body.
171
+ def self.update(id, params = {}, options = {})
172
+ params ||= {}
173
+ params[:id] = id
174
+ raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params.dig(:id) and !params.dig(:id).is_a?(Integer)
175
+ raise InvalidParameterError.new("Bad parameter: project_id must be an Integer") if params.dig(:project_id) and !params.dig(:project_id).is_a?(Integer)
176
+ raise InvalidParameterError.new("Bad parameter: subject must be an String") if params.dig(:subject) and !params.dig(:subject).is_a?(String)
177
+ raise InvalidParameterError.new("Bad parameter: body must be an String") if params.dig(:body) and !params.dig(:body).is_a?(String)
178
+ raise MissingParameterError.new("Parameter missing: id") unless params.dig(:id)
179
+ raise MissingParameterError.new("Parameter missing: project_id") unless params.dig(:project_id)
180
+ raise MissingParameterError.new("Parameter missing: subject") unless params.dig(:subject)
181
+ raise MissingParameterError.new("Parameter missing: body") unless params.dig(:body)
182
+
183
+ response, options = Api.send_request("/messages/#{params[:id]}", :patch, params, options)
184
+ Message.new(response.data, options)
185
+ end
186
+
187
+ def self.delete(id, params = {}, options = {})
188
+ params ||= {}
189
+ params[:id] = id
190
+ raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params.dig(:id) and !params.dig(:id).is_a?(Integer)
191
+ raise MissingParameterError.new("Parameter missing: id") unless params.dig(:id)
192
+
193
+ response, _options = Api.send_request("/messages/#{params[:id]}", :delete, params, options)
194
+ response.data
195
+ end
196
+
197
+ def self.destroy(id, params = {}, options = {})
198
+ delete(id, params, options)
199
+ end
200
+ end
201
+ end