files.com 1.0.91

Sign up to get free protection for your applications and to get access to all the features.
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,165 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Files
4
+ class MessageComment
5
+ attr_reader :options, :attributes
6
+
7
+ def initialize(attributes = {}, options = {})
8
+ @attributes = attributes || {}
9
+ @options = options || {}
10
+ end
11
+
12
+ # int64 - Message Comment ID
13
+ def id
14
+ @attributes[:id]
15
+ end
16
+
17
+ def id=(value)
18
+ @attributes[:id] = value
19
+ end
20
+
21
+ # string - Comment body.
22
+ def body
23
+ @attributes[:body]
24
+ end
25
+
26
+ def body=(value)
27
+ @attributes[:body] = value
28
+ end
29
+
30
+ # array - Reactions to this comment.
31
+ def reactions
32
+ @attributes[:reactions]
33
+ end
34
+
35
+ def reactions=(value)
36
+ @attributes[:reactions] = value
37
+ end
38
+
39
+ # int64 - User ID. Provide a value of `0` to operate the current session's user.
40
+ def user_id
41
+ @attributes[:user_id]
42
+ end
43
+
44
+ def user_id=(value)
45
+ @attributes[:user_id] = value
46
+ end
47
+
48
+ # Parameters:
49
+ # body (required) - string - Comment body.
50
+ def update(params = {})
51
+ params ||= {}
52
+ params[:id] = @attributes[:id]
53
+ raise MissingParameterError.new("Current object doesn't have a id") unless @attributes[:id]
54
+ raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params.dig(:id) and !params.dig(:id).is_a?(Integer)
55
+ raise InvalidParameterError.new("Bad parameter: body must be an String") if params.dig(:body) and !params.dig(:body).is_a?(String)
56
+ raise MissingParameterError.new("Parameter missing: id") unless params.dig(:id)
57
+ raise MissingParameterError.new("Parameter missing: body") unless params.dig(:body)
58
+
59
+ Api.send_request("/message_comments/#{@attributes[:id]}", :patch, params, @options)
60
+ end
61
+
62
+ def delete(params = {})
63
+ params ||= {}
64
+ params[:id] = @attributes[:id]
65
+ raise MissingParameterError.new("Current object doesn't have a id") unless @attributes[:id]
66
+ raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params.dig(:id) and !params.dig(:id).is_a?(Integer)
67
+ raise MissingParameterError.new("Parameter missing: id") unless params.dig(:id)
68
+
69
+ Api.send_request("/message_comments/#{@attributes[:id]}", :delete, params, @options)
70
+ end
71
+
72
+ def destroy(params = {})
73
+ delete(params)
74
+ end
75
+
76
+ def save
77
+ if @attributes[:id]
78
+ update(@attributes)
79
+ else
80
+ new_obj = MessageComment.create(@attributes, @options)
81
+ @attributes = new_obj.attributes
82
+ end
83
+ end
84
+
85
+ # Parameters:
86
+ # user_id - int64 - User ID. Provide a value of `0` to operate the current session's user.
87
+ # page - int64 - Current page number.
88
+ # per_page - int64 - Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
89
+ # action - string - Deprecated: If set to `count` returns a count of matching records rather than the records themselves.
90
+ # message_id (required) - int64 - Message comment to return comments for.
91
+ def self.list(params = {}, options = {})
92
+ raise InvalidParameterError.new("Bad parameter: user_id must be an Integer") if params.dig(:user_id) and !params.dig(:user_id).is_a?(Integer)
93
+ raise InvalidParameterError.new("Bad parameter: page must be an Integer") if params.dig(:page) and !params.dig(:page).is_a?(Integer)
94
+ raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if params.dig(:per_page) and !params.dig(:per_page).is_a?(Integer)
95
+ raise InvalidParameterError.new("Bad parameter: action must be an String") if params.dig(:action) and !params.dig(:action).is_a?(String)
96
+ raise InvalidParameterError.new("Bad parameter: message_id must be an Integer") if params.dig(:message_id) and !params.dig(:message_id).is_a?(Integer)
97
+ raise MissingParameterError.new("Parameter missing: message_id") unless params.dig(:message_id)
98
+
99
+ response, options = Api.send_request("/message_comments", :get, params, options)
100
+ response.data.map do |entity_data|
101
+ MessageComment.new(entity_data, options)
102
+ end
103
+ end
104
+
105
+ def self.all(params = {}, options = {})
106
+ list(params, options)
107
+ end
108
+
109
+ # Parameters:
110
+ # id (required) - int64 - Message Comment ID.
111
+ def self.find(id, params = {}, options = {})
112
+ params ||= {}
113
+ params[:id] = id
114
+ raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params.dig(:id) and !params.dig(:id).is_a?(Integer)
115
+ raise MissingParameterError.new("Parameter missing: id") unless params.dig(:id)
116
+
117
+ response, options = Api.send_request("/message_comments/#{params[:id]}", :get, params, options)
118
+ MessageComment.new(response.data, options)
119
+ end
120
+
121
+ def self.get(id, params = {}, options = {})
122
+ find(id, params, options)
123
+ end
124
+
125
+ # Parameters:
126
+ # user_id - int64 - User ID. Provide a value of `0` to operate the current session's user.
127
+ # body (required) - string - Comment body.
128
+ def self.create(params = {}, options = {})
129
+ raise InvalidParameterError.new("Bad parameter: user_id must be an Integer") if params.dig(:user_id) and !params.dig(:user_id).is_a?(Integer)
130
+ raise InvalidParameterError.new("Bad parameter: body must be an String") if params.dig(:body) and !params.dig(:body).is_a?(String)
131
+ raise MissingParameterError.new("Parameter missing: body") unless params.dig(:body)
132
+
133
+ response, options = Api.send_request("/message_comments", :post, params, options)
134
+ MessageComment.new(response.data, options)
135
+ end
136
+
137
+ # Parameters:
138
+ # body (required) - string - Comment body.
139
+ def self.update(id, params = {}, options = {})
140
+ params ||= {}
141
+ params[:id] = id
142
+ raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params.dig(:id) and !params.dig(:id).is_a?(Integer)
143
+ raise InvalidParameterError.new("Bad parameter: body must be an String") if params.dig(:body) and !params.dig(:body).is_a?(String)
144
+ raise MissingParameterError.new("Parameter missing: id") unless params.dig(:id)
145
+ raise MissingParameterError.new("Parameter missing: body") unless params.dig(:body)
146
+
147
+ response, options = Api.send_request("/message_comments/#{params[:id]}", :patch, params, options)
148
+ MessageComment.new(response.data, options)
149
+ end
150
+
151
+ def self.delete(id, params = {}, options = {})
152
+ params ||= {}
153
+ params[:id] = id
154
+ raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params.dig(:id) and !params.dig(:id).is_a?(Integer)
155
+ raise MissingParameterError.new("Parameter missing: id") unless params.dig(:id)
156
+
157
+ response, _options = Api.send_request("/message_comments/#{params[:id]}", :delete, params, options)
158
+ response.data
159
+ end
160
+
161
+ def self.destroy(id, params = {}, options = {})
162
+ delete(id, params, options)
163
+ end
164
+ end
165
+ end
@@ -0,0 +1,128 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Files
4
+ class MessageCommentReaction
5
+ attr_reader :options, :attributes
6
+
7
+ def initialize(attributes = {}, options = {})
8
+ @attributes = attributes || {}
9
+ @options = options || {}
10
+ end
11
+
12
+ # int64 - Reaction ID
13
+ def id
14
+ @attributes[:id]
15
+ end
16
+
17
+ def id=(value)
18
+ @attributes[:id] = value
19
+ end
20
+
21
+ # string - Emoji used in the reaction.
22
+ def emoji
23
+ @attributes[:emoji]
24
+ end
25
+
26
+ def emoji=(value)
27
+ @attributes[:emoji] = value
28
+ end
29
+
30
+ # int64 - User ID. Provide a value of `0` to operate the current session's user.
31
+ def user_id
32
+ @attributes[:user_id]
33
+ end
34
+
35
+ def user_id=(value)
36
+ @attributes[:user_id] = value
37
+ end
38
+
39
+ def delete(params = {})
40
+ params ||= {}
41
+ params[:id] = @attributes[:id]
42
+ raise MissingParameterError.new("Current object doesn't have a id") unless @attributes[:id]
43
+ raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params.dig(:id) and !params.dig(:id).is_a?(Integer)
44
+ raise MissingParameterError.new("Parameter missing: id") unless params.dig(:id)
45
+
46
+ Api.send_request("/message_comment_reactions/#{@attributes[:id]}", :delete, params, @options)
47
+ end
48
+
49
+ def destroy(params = {})
50
+ delete(params)
51
+ end
52
+
53
+ def save
54
+ if @attributes[:id]
55
+ raise NotImplementedError.new("The MessageCommentReaction object doesn't support updates.")
56
+ else
57
+ new_obj = MessageCommentReaction.create(@attributes, @options)
58
+ @attributes = new_obj.attributes
59
+ end
60
+ end
61
+
62
+ # Parameters:
63
+ # user_id - int64 - User ID. Provide a value of `0` to operate the current session's user.
64
+ # page - int64 - Current page number.
65
+ # per_page - int64 - Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
66
+ # action - string - Deprecated: If set to `count` returns a count of matching records rather than the records themselves.
67
+ # message_comment_id (required) - int64 - Message comment to return reactions for.
68
+ def self.list(params = {}, options = {})
69
+ raise InvalidParameterError.new("Bad parameter: user_id must be an Integer") if params.dig(:user_id) and !params.dig(:user_id).is_a?(Integer)
70
+ raise InvalidParameterError.new("Bad parameter: page must be an Integer") if params.dig(:page) and !params.dig(:page).is_a?(Integer)
71
+ raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if params.dig(:per_page) and !params.dig(:per_page).is_a?(Integer)
72
+ raise InvalidParameterError.new("Bad parameter: action must be an String") if params.dig(:action) and !params.dig(:action).is_a?(String)
73
+ raise InvalidParameterError.new("Bad parameter: message_comment_id must be an Integer") if params.dig(:message_comment_id) and !params.dig(:message_comment_id).is_a?(Integer)
74
+ raise MissingParameterError.new("Parameter missing: message_comment_id") unless params.dig(:message_comment_id)
75
+
76
+ response, options = Api.send_request("/message_comment_reactions", :get, params, options)
77
+ response.data.map do |entity_data|
78
+ MessageCommentReaction.new(entity_data, options)
79
+ end
80
+ end
81
+
82
+ def self.all(params = {}, options = {})
83
+ list(params, options)
84
+ end
85
+
86
+ # Parameters:
87
+ # id (required) - int64 - Message Comment Reaction ID.
88
+ def self.find(id, params = {}, options = {})
89
+ params ||= {}
90
+ params[:id] = id
91
+ raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params.dig(:id) and !params.dig(:id).is_a?(Integer)
92
+ raise MissingParameterError.new("Parameter missing: id") unless params.dig(:id)
93
+
94
+ response, options = Api.send_request("/message_comment_reactions/#{params[:id]}", :get, params, options)
95
+ MessageCommentReaction.new(response.data, options)
96
+ end
97
+
98
+ def self.get(id, params = {}, options = {})
99
+ find(id, params, options)
100
+ end
101
+
102
+ # Parameters:
103
+ # user_id - int64 - User ID. Provide a value of `0` to operate the current session's user.
104
+ # emoji (required) - string - Emoji to react with.
105
+ def self.create(params = {}, options = {})
106
+ raise InvalidParameterError.new("Bad parameter: user_id must be an Integer") if params.dig(:user_id) and !params.dig(:user_id).is_a?(Integer)
107
+ raise InvalidParameterError.new("Bad parameter: emoji must be an String") if params.dig(:emoji) and !params.dig(:emoji).is_a?(String)
108
+ raise MissingParameterError.new("Parameter missing: emoji") unless params.dig(:emoji)
109
+
110
+ response, options = Api.send_request("/message_comment_reactions", :post, params, options)
111
+ MessageCommentReaction.new(response.data, options)
112
+ end
113
+
114
+ def self.delete(id, params = {}, options = {})
115
+ params ||= {}
116
+ params[:id] = id
117
+ raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params.dig(:id) and !params.dig(:id).is_a?(Integer)
118
+ raise MissingParameterError.new("Parameter missing: id") unless params.dig(:id)
119
+
120
+ response, _options = Api.send_request("/message_comment_reactions/#{params[:id]}", :delete, params, options)
121
+ response.data
122
+ end
123
+
124
+ def self.destroy(id, params = {}, options = {})
125
+ delete(id, params, options)
126
+ end
127
+ end
128
+ end
@@ -0,0 +1,128 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Files
4
+ class MessageReaction
5
+ attr_reader :options, :attributes
6
+
7
+ def initialize(attributes = {}, options = {})
8
+ @attributes = attributes || {}
9
+ @options = options || {}
10
+ end
11
+
12
+ # int64 - Reaction ID
13
+ def id
14
+ @attributes[:id]
15
+ end
16
+
17
+ def id=(value)
18
+ @attributes[:id] = value
19
+ end
20
+
21
+ # string - Emoji used in the reaction.
22
+ def emoji
23
+ @attributes[:emoji]
24
+ end
25
+
26
+ def emoji=(value)
27
+ @attributes[:emoji] = value
28
+ end
29
+
30
+ # int64 - User ID. Provide a value of `0` to operate the current session's user.
31
+ def user_id
32
+ @attributes[:user_id]
33
+ end
34
+
35
+ def user_id=(value)
36
+ @attributes[:user_id] = value
37
+ end
38
+
39
+ def delete(params = {})
40
+ params ||= {}
41
+ params[:id] = @attributes[:id]
42
+ raise MissingParameterError.new("Current object doesn't have a id") unless @attributes[:id]
43
+ raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params.dig(:id) and !params.dig(:id).is_a?(Integer)
44
+ raise MissingParameterError.new("Parameter missing: id") unless params.dig(:id)
45
+
46
+ Api.send_request("/message_reactions/#{@attributes[:id]}", :delete, params, @options)
47
+ end
48
+
49
+ def destroy(params = {})
50
+ delete(params)
51
+ end
52
+
53
+ def save
54
+ if @attributes[:id]
55
+ raise NotImplementedError.new("The MessageReaction object doesn't support updates.")
56
+ else
57
+ new_obj = MessageReaction.create(@attributes, @options)
58
+ @attributes = new_obj.attributes
59
+ end
60
+ end
61
+
62
+ # Parameters:
63
+ # user_id - int64 - User ID. Provide a value of `0` to operate the current session's user.
64
+ # page - int64 - Current page number.
65
+ # per_page - int64 - Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
66
+ # action - string - Deprecated: If set to `count` returns a count of matching records rather than the records themselves.
67
+ # message_id (required) - int64 - Message to return reactions for.
68
+ def self.list(params = {}, options = {})
69
+ raise InvalidParameterError.new("Bad parameter: user_id must be an Integer") if params.dig(:user_id) and !params.dig(:user_id).is_a?(Integer)
70
+ raise InvalidParameterError.new("Bad parameter: page must be an Integer") if params.dig(:page) and !params.dig(:page).is_a?(Integer)
71
+ raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if params.dig(:per_page) and !params.dig(:per_page).is_a?(Integer)
72
+ raise InvalidParameterError.new("Bad parameter: action must be an String") if params.dig(:action) and !params.dig(:action).is_a?(String)
73
+ raise InvalidParameterError.new("Bad parameter: message_id must be an Integer") if params.dig(:message_id) and !params.dig(:message_id).is_a?(Integer)
74
+ raise MissingParameterError.new("Parameter missing: message_id") unless params.dig(:message_id)
75
+
76
+ response, options = Api.send_request("/message_reactions", :get, params, options)
77
+ response.data.map do |entity_data|
78
+ MessageReaction.new(entity_data, options)
79
+ end
80
+ end
81
+
82
+ def self.all(params = {}, options = {})
83
+ list(params, options)
84
+ end
85
+
86
+ # Parameters:
87
+ # id (required) - int64 - Message Reaction ID.
88
+ def self.find(id, params = {}, options = {})
89
+ params ||= {}
90
+ params[:id] = id
91
+ raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params.dig(:id) and !params.dig(:id).is_a?(Integer)
92
+ raise MissingParameterError.new("Parameter missing: id") unless params.dig(:id)
93
+
94
+ response, options = Api.send_request("/message_reactions/#{params[:id]}", :get, params, options)
95
+ MessageReaction.new(response.data, options)
96
+ end
97
+
98
+ def self.get(id, params = {}, options = {})
99
+ find(id, params, options)
100
+ end
101
+
102
+ # Parameters:
103
+ # user_id - int64 - User ID. Provide a value of `0` to operate the current session's user.
104
+ # emoji (required) - string - Emoji to react with.
105
+ def self.create(params = {}, options = {})
106
+ raise InvalidParameterError.new("Bad parameter: user_id must be an Integer") if params.dig(:user_id) and !params.dig(:user_id).is_a?(Integer)
107
+ raise InvalidParameterError.new("Bad parameter: emoji must be an String") if params.dig(:emoji) and !params.dig(:emoji).is_a?(String)
108
+ raise MissingParameterError.new("Parameter missing: emoji") unless params.dig(:emoji)
109
+
110
+ response, options = Api.send_request("/message_reactions", :post, params, options)
111
+ MessageReaction.new(response.data, options)
112
+ end
113
+
114
+ def self.delete(id, params = {}, options = {})
115
+ params ||= {}
116
+ params[:id] = id
117
+ raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params.dig(:id) and !params.dig(:id).is_a?(Integer)
118
+ raise MissingParameterError.new("Parameter missing: id") unless params.dig(:id)
119
+
120
+ response, _options = Api.send_request("/message_reactions/#{params[:id]}", :delete, params, options)
121
+ response.data
122
+ end
123
+
124
+ def self.destroy(id, params = {}, options = {})
125
+ delete(id, params, options)
126
+ end
127
+ end
128
+ end
@@ -0,0 +1,263 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Files
4
+ class Notification
5
+ attr_reader :options, :attributes
6
+
7
+ def initialize(attributes = {}, options = {})
8
+ @attributes = attributes || {}
9
+ @options = options || {}
10
+ end
11
+
12
+ # int64 - Notification ID
13
+ def id
14
+ @attributes[:id]
15
+ end
16
+
17
+ def id=(value)
18
+ @attributes[:id] = value
19
+ end
20
+
21
+ # string - Folder path to notify on This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.
22
+ def path
23
+ @attributes[:path]
24
+ end
25
+
26
+ def path=(value)
27
+ @attributes[:path] = value
28
+ end
29
+
30
+ # int64 - Notification group id
31
+ def group_id
32
+ @attributes[:group_id]
33
+ end
34
+
35
+ def group_id=(value)
36
+ @attributes[:group_id] = value
37
+ end
38
+
39
+ # string - Group name if applicable
40
+ def group_name
41
+ @attributes[:group_name]
42
+ end
43
+
44
+ def group_name=(value)
45
+ @attributes[:group_name] = value
46
+ end
47
+
48
+ # boolean - Trigger notification on notification user actions?
49
+ def notify_user_actions
50
+ @attributes[:notify_user_actions]
51
+ end
52
+
53
+ def notify_user_actions=(value)
54
+ @attributes[:notify_user_actions] = value
55
+ end
56
+
57
+ # boolean - Triggers notification when moving or copying files to this path
58
+ def notify_on_copy
59
+ @attributes[:notify_on_copy]
60
+ end
61
+
62
+ def notify_on_copy=(value)
63
+ @attributes[:notify_on_copy] = value
64
+ end
65
+
66
+ # string - The time interval that notifications are aggregated to
67
+ def send_interval
68
+ @attributes[:send_interval]
69
+ end
70
+
71
+ def send_interval=(value)
72
+ @attributes[:send_interval] = value
73
+ end
74
+
75
+ # boolean - Is the user unsubscribed from this notification?
76
+ def unsubscribed
77
+ @attributes[:unsubscribed]
78
+ end
79
+
80
+ def unsubscribed=(value)
81
+ @attributes[:unsubscribed] = value
82
+ end
83
+
84
+ # string - The reason that the user unsubscribed
85
+ def unsubscribed_reason
86
+ @attributes[:unsubscribed_reason]
87
+ end
88
+
89
+ def unsubscribed_reason=(value)
90
+ @attributes[:unsubscribed_reason] = value
91
+ end
92
+
93
+ # int64 - Notification user ID
94
+ def user_id
95
+ @attributes[:user_id]
96
+ end
97
+
98
+ def user_id=(value)
99
+ @attributes[:user_id] = value
100
+ end
101
+
102
+ # string - Notification username
103
+ def username
104
+ @attributes[:username]
105
+ end
106
+
107
+ def username=(value)
108
+ @attributes[:username] = value
109
+ end
110
+
111
+ # boolean - If true, it means that the recipient at this user's email address has manually unsubscribed from all emails, or had their email "hard bounce", which means that we are unable to send mail to this user's current email address. Notifications will resume if the user changes their email address.
112
+ def suppressed_email
113
+ @attributes[:suppressed_email]
114
+ end
115
+
116
+ def suppressed_email=(value)
117
+ @attributes[:suppressed_email] = value
118
+ end
119
+
120
+ # Parameters:
121
+ # notify_on_copy - boolean - If `true`, copying or moving resources into this path will trigger a notification, in addition to just uploads.
122
+ # notify_user_actions - boolean - If `true` actions initiated by the user will still result in a notification
123
+ # send_interval - string - The time interval that notifications are aggregated by. Can be `five_minutes`, `fifteen_minutes`, `hourly`, or `daily`.
124
+ def update(params = {})
125
+ params ||= {}
126
+ params[:id] = @attributes[:id]
127
+ raise MissingParameterError.new("Current object doesn't have a id") unless @attributes[:id]
128
+ raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params.dig(:id) and !params.dig(:id).is_a?(Integer)
129
+ raise InvalidParameterError.new("Bad parameter: send_interval must be an String") if params.dig(:send_interval) and !params.dig(:send_interval).is_a?(String)
130
+ raise MissingParameterError.new("Parameter missing: id") unless params.dig(:id)
131
+
132
+ Api.send_request("/notifications/#{@attributes[:id]}", :patch, params, @options)
133
+ end
134
+
135
+ def delete(params = {})
136
+ params ||= {}
137
+ params[:id] = @attributes[:id]
138
+ raise MissingParameterError.new("Current object doesn't have a id") unless @attributes[:id]
139
+ raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params.dig(:id) and !params.dig(:id).is_a?(Integer)
140
+ raise MissingParameterError.new("Parameter missing: id") unless params.dig(:id)
141
+
142
+ Api.send_request("/notifications/#{@attributes[:id]}", :delete, params, @options)
143
+ end
144
+
145
+ def destroy(params = {})
146
+ delete(params)
147
+ end
148
+
149
+ def save
150
+ if @attributes[:id]
151
+ update(@attributes)
152
+ else
153
+ new_obj = Notification.create(@attributes, @options)
154
+ @attributes = new_obj.attributes
155
+ end
156
+ end
157
+
158
+ # Parameters:
159
+ # user_id - int64 - DEPRECATED: Show notifications for this User ID. Use `filter[user_id]` instead.
160
+ # page - int64 - Current page number.
161
+ # per_page - int64 - Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
162
+ # action - string - Deprecated: If set to `count` returns a count of matching records rather than the records themselves.
163
+ # cursor - string - Send cursor to resume an existing list from the point at which you left off. Get a cursor from an existing list via the X-Files-Cursor-Next header.
164
+ # sort_by - object - If set, sort records by the specified field in either 'asc' or 'desc' direction (e.g. sort_by[last_login_at]=desc). Valid fields are `site_id`, `path`, `user_id` or `group_id`.
165
+ # filter - object - If set, return records where the specifiied field is equal to the supplied value. Valid fields are `user_id`, `group_id` or `path`.
166
+ # filter_gt - object - If set, return records where the specifiied field is greater than the supplied value. Valid fields are `user_id`, `group_id` or `path`.
167
+ # filter_gteq - object - If set, return records where the specifiied field is greater than or equal to the supplied value. Valid fields are `user_id`, `group_id` or `path`.
168
+ # filter_like - object - If set, return records where the specifiied field is equal to the supplied value. Valid fields are `user_id`, `group_id` or `path`.
169
+ # filter_lt - object - If set, return records where the specifiied field is less than the supplied value. Valid fields are `user_id`, `group_id` or `path`.
170
+ # filter_lteq - object - If set, return records where the specifiied field is less than or equal to the supplied value. Valid fields are `user_id`, `group_id` or `path`.
171
+ # group_id - int64 - DEPRECATED: Show notifications for this Group ID. Use `filter[group_id]` instead.
172
+ # path - string - Show notifications for this Path.
173
+ # include_ancestors - boolean - If `include_ancestors` is `true` and `path` is specified, include notifications for any parent paths. Ignored if `path` is not specified.
174
+ def self.list(params = {}, options = {})
175
+ raise InvalidParameterError.new("Bad parameter: user_id must be an Integer") if params.dig(:user_id) and !params.dig(:user_id).is_a?(Integer)
176
+ raise InvalidParameterError.new("Bad parameter: page must be an Integer") if params.dig(:page) and !params.dig(:page).is_a?(Integer)
177
+ raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if params.dig(:per_page) and !params.dig(:per_page).is_a?(Integer)
178
+ raise InvalidParameterError.new("Bad parameter: action must be an String") if params.dig(:action) and !params.dig(:action).is_a?(String)
179
+ raise InvalidParameterError.new("Bad parameter: cursor must be an String") if params.dig(:cursor) and !params.dig(:cursor).is_a?(String)
180
+ raise InvalidParameterError.new("Bad parameter: sort_by must be an Hash") if params.dig(:sort_by) and !params.dig(:sort_by).is_a?(Hash)
181
+ raise InvalidParameterError.new("Bad parameter: filter must be an Hash") if params.dig(:filter) and !params.dig(:filter).is_a?(Hash)
182
+ raise InvalidParameterError.new("Bad parameter: filter_gt must be an Hash") if params.dig(:filter_gt) and !params.dig(:filter_gt).is_a?(Hash)
183
+ raise InvalidParameterError.new("Bad parameter: filter_gteq must be an Hash") if params.dig(:filter_gteq) and !params.dig(:filter_gteq).is_a?(Hash)
184
+ raise InvalidParameterError.new("Bad parameter: filter_like must be an Hash") if params.dig(:filter_like) and !params.dig(:filter_like).is_a?(Hash)
185
+ raise InvalidParameterError.new("Bad parameter: filter_lt must be an Hash") if params.dig(:filter_lt) and !params.dig(:filter_lt).is_a?(Hash)
186
+ raise InvalidParameterError.new("Bad parameter: filter_lteq must be an Hash") if params.dig(:filter_lteq) and !params.dig(:filter_lteq).is_a?(Hash)
187
+ raise InvalidParameterError.new("Bad parameter: group_id must be an Integer") if params.dig(:group_id) and !params.dig(:group_id).is_a?(Integer)
188
+ raise InvalidParameterError.new("Bad parameter: path must be an String") if params.dig(:path) and !params.dig(:path).is_a?(String)
189
+
190
+ List.new(Notification, params) do
191
+ Api.send_request("/notifications", :get, params, options)
192
+ end
193
+ end
194
+
195
+ def self.all(params = {}, options = {})
196
+ list(params, options)
197
+ end
198
+
199
+ # Parameters:
200
+ # id (required) - int64 - Notification ID.
201
+ def self.find(id, params = {}, options = {})
202
+ params ||= {}
203
+ params[:id] = id
204
+ raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params.dig(:id) and !params.dig(:id).is_a?(Integer)
205
+ raise MissingParameterError.new("Parameter missing: id") unless params.dig(:id)
206
+
207
+ response, options = Api.send_request("/notifications/#{params[:id]}", :get, params, options)
208
+ Notification.new(response.data, options)
209
+ end
210
+
211
+ def self.get(id, params = {}, options = {})
212
+ find(id, params, options)
213
+ end
214
+
215
+ # Parameters:
216
+ # user_id - int64 - The id of the user to notify. Provide `user_id`, `username` or `group_id`.
217
+ # notify_on_copy - boolean - If `true`, copying or moving resources into this path will trigger a notification, in addition to just uploads.
218
+ # notify_user_actions - boolean - If `true` actions initiated by the user will still result in a notification
219
+ # send_interval - string - The time interval that notifications are aggregated by. Can be `five_minutes`, `fifteen_minutes`, `hourly`, or `daily`.
220
+ # group_id - int64 - The ID of the group to notify. Provide `user_id`, `username` or `group_id`.
221
+ # path - string - Path
222
+ # username - string - The username of the user to notify. Provide `user_id`, `username` or `group_id`.
223
+ def self.create(params = {}, options = {})
224
+ raise InvalidParameterError.new("Bad parameter: user_id must be an Integer") if params.dig(:user_id) and !params.dig(:user_id).is_a?(Integer)
225
+ raise InvalidParameterError.new("Bad parameter: send_interval must be an String") if params.dig(:send_interval) and !params.dig(:send_interval).is_a?(String)
226
+ raise InvalidParameterError.new("Bad parameter: group_id must be an Integer") if params.dig(:group_id) and !params.dig(:group_id).is_a?(Integer)
227
+ raise InvalidParameterError.new("Bad parameter: path must be an String") if params.dig(:path) and !params.dig(:path).is_a?(String)
228
+ raise InvalidParameterError.new("Bad parameter: username must be an String") if params.dig(:username) and !params.dig(:username).is_a?(String)
229
+
230
+ response, options = Api.send_request("/notifications", :post, params, options)
231
+ Notification.new(response.data, options)
232
+ end
233
+
234
+ # Parameters:
235
+ # notify_on_copy - boolean - If `true`, copying or moving resources into this path will trigger a notification, in addition to just uploads.
236
+ # notify_user_actions - boolean - If `true` actions initiated by the user will still result in a notification
237
+ # send_interval - string - The time interval that notifications are aggregated by. Can be `five_minutes`, `fifteen_minutes`, `hourly`, or `daily`.
238
+ def self.update(id, params = {}, options = {})
239
+ params ||= {}
240
+ params[:id] = id
241
+ raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params.dig(:id) and !params.dig(:id).is_a?(Integer)
242
+ raise InvalidParameterError.new("Bad parameter: send_interval must be an String") if params.dig(:send_interval) and !params.dig(:send_interval).is_a?(String)
243
+ raise MissingParameterError.new("Parameter missing: id") unless params.dig(:id)
244
+
245
+ response, options = Api.send_request("/notifications/#{params[:id]}", :patch, params, options)
246
+ Notification.new(response.data, options)
247
+ end
248
+
249
+ def self.delete(id, params = {}, options = {})
250
+ params ||= {}
251
+ params[:id] = id
252
+ raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params.dig(:id) and !params.dig(:id).is_a?(Integer)
253
+ raise MissingParameterError.new("Parameter missing: id") unless params.dig(:id)
254
+
255
+ response, _options = Api.send_request("/notifications/#{params[:id]}", :delete, params, options)
256
+ response.data
257
+ end
258
+
259
+ def self.destroy(id, params = {}, options = {})
260
+ delete(id, params, options)
261
+ end
262
+ end
263
+ end