files.com 1.0.92

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 +59 -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 +106 -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,17 @@
1
+ # Errors
2
+
3
+ ## Example Errors Object
4
+
5
+ ```
6
+ {
7
+ "fields": [
8
+
9
+ ],
10
+ "messages": [
11
+
12
+ ]
13
+ }
14
+ ```
15
+
16
+ * `fields` (array): A list of fields where errors occur
17
+ * `messages` (array): A list of error messages
@@ -0,0 +1,204 @@
1
+ # File
2
+
3
+ The Files::File object emulates a Ruby File object and can be used in
4
+ may places where a Ruby File object can be used.
5
+
6
+ ## Example File Object
7
+
8
+ ```
9
+ {
10
+ "id": 1,
11
+ "path": "path/file.txt",
12
+ "display_name": "file.txt",
13
+ "type": "file",
14
+ "size": 1024,
15
+ "mtime": "2000-01-01T01:00:00Z",
16
+ "provided_mtime": "2000-01-01T01:00:00Z",
17
+ "crc32": "70976923",
18
+ "md5": "17c54824e9931a4688ca032d03f6663c",
19
+ "mime_type": "application/octet-stream",
20
+ "region": "us-east-1",
21
+ "permissions": "rpw",
22
+ "subfolders_locked?": true,
23
+ "download_uri": "https://mysite.files.com/...",
24
+ "priority_color": "red",
25
+ "preview_id": 1,
26
+ "preview": ""
27
+ }
28
+ ```
29
+
30
+ * `id` (int64): File/Folder ID
31
+ * `path` (string): File/Folder path This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.
32
+ * `display_name` (string): File/Folder display name
33
+ * `type` (string): Type: `directory` or `file`.
34
+ * `size` (int64): File/Folder size
35
+ * `mtime` (date-time): File last modified date/time, according to the server. This is the timestamp of the last Files.com operation of the file, regardless of what modified timestamp was sent.
36
+ * `provided_mtime` (date-time): File last modified date/time, according to the client who set it. Files.com allows desktop, FTP, SFTP, and WebDAV clients to set modified at times. This allows Desktop<->Cloud syncing to preserve modified at times.
37
+ * `crc32` (string): File CRC32 checksum. This is sometimes delayed, so if you get a blank response, wait and try again.
38
+ * `md5` (string): File MD5 checksum. This is sometimes delayed, so if you get a blank response, wait and try again.
39
+ * `mime_type` (string): MIME Type. This is determined by the filename extension and is not stored separately internally.
40
+ * `region` (string): Region location
41
+ * `permissions` (string): A short string representing the current user's permissions. Can be `r`,`w`,`p`, or any combination
42
+ * `subfolders_locked?` (boolean): Are subfolders locked and unable to be modified?
43
+ * `download_uri` (string): Link to download file. Provided only in response to a download request.
44
+ * `priority_color` (string): Bookmark/priority color of file/folder
45
+ * `preview_id` (int64): File preview ID
46
+ * `preview`: File preview
47
+ * `action` (string): The action to perform. Can be `append`, `attachment`, `end`, `upload`, `put`, or may not exist
48
+ * `length` (int64): Length of file.
49
+ * `mkdir_parents` (boolean): Create parent directories if they do not exist?
50
+ * `part` (int64): Part if uploading a part.
51
+ * `parts` (int64): How many parts to fetch?
52
+ * `ref` (string):
53
+ * `restart` (int64): File byte offset to restart from.
54
+ * `structure` (string): If copying folder, copy just the structure?
55
+ * `with_rename` (boolean): Allow file rename instead of overwrite?
56
+
57
+
58
+ ---
59
+
60
+ ## Download file
61
+
62
+ ```
63
+ Files::File.download(path,
64
+ with_previews: true,
65
+ with_priority_color: true
66
+ )
67
+ ```
68
+
69
+ ### Parameters
70
+
71
+ * `path` (string): Required - Path to operate on.
72
+ * `action` (string): Can be blank, `redirect` or `stat`. If set to `stat`, we will return file information but without a download URL, and without logging a download. If set to `redirect` we will serve a 302 redirect directly to the file. This is used for integrations with Zapier, and is not recommended for most integrations.
73
+ * `preview_size` (string): Request a preview size. Can be `small` (default), `large`, `xlarge`, or `pdf`.
74
+ * `with_previews` (boolean): Include file preview information?
75
+ * `with_priority_color` (boolean): Include file priority color information?
76
+
77
+
78
+ ---
79
+
80
+ ## Upload file
81
+
82
+ ```
83
+ Files::File.create(path,
84
+ length: 1,
85
+ mkdir_parents: true,
86
+ part: 1,
87
+ parts: 1,
88
+ provided_mtime: "2000-01-01T01:00:00Z",
89
+ restart: 1,
90
+ size: 1,
91
+ with_rename: true
92
+ )
93
+ ```
94
+
95
+ ### Parameters
96
+
97
+ * `path` (string): Required - Path to operate on.
98
+ * `action` (string): The action to perform. Can be `append`, `attachment`, `end`, `upload`, `put`, or may not exist
99
+ * `etags[etag]` (array(string)): etag identifier.
100
+ * `etags[part]` (array(int64)): Part number.
101
+ * `length` (int64): Length of file.
102
+ * `mkdir_parents` (boolean): Create parent directories if they do not exist?
103
+ * `part` (int64): Part if uploading a part.
104
+ * `parts` (int64): How many parts to fetch?
105
+ * `provided_mtime` (string): User provided modification time.
106
+ * `ref` (string):
107
+ * `restart` (int64): File byte offset to restart from.
108
+ * `size` (int64): Size of file.
109
+ * `structure` (string): If copying folder, copy just the structure?
110
+ * `with_rename` (boolean): Allow file rename instead of overwrite?
111
+
112
+
113
+ ---
114
+
115
+ ## Update file/folder metadata
116
+
117
+ ```
118
+ Files::File.update(path,
119
+ provided_mtime: "2000-01-01T01:00:00Z",
120
+ priority_color: "red"
121
+ )
122
+ ```
123
+
124
+ ### Parameters
125
+
126
+ * `path` (string): Required - Path to operate on.
127
+ * `provided_mtime` (string): Modified time of file.
128
+ * `priority_color` (string): Priority/Bookmark color of file.
129
+
130
+
131
+ ---
132
+
133
+ ## Delete file/folder
134
+
135
+ ```
136
+ Files::File.delete(path,
137
+ recursive: true
138
+ )
139
+ ```
140
+
141
+ ### Parameters
142
+
143
+ * `path` (string): Required - Path to operate on.
144
+ * `recursive` (boolean): If true, will recursively delete folers. Otherwise, will error on non-empty folders. For legacy reasons, this parameter may also be provided as the HTTP header `Depth: Infinity`
145
+
146
+
147
+ ---
148
+
149
+ ## Download file
150
+
151
+ ```
152
+ file = Files::File.list_for(path).first
153
+
154
+ file.download(
155
+ with_previews: true,
156
+ with_priority_color: true
157
+ )
158
+ ```
159
+
160
+ ### Parameters
161
+
162
+ * `path` (string): Required - Path to operate on.
163
+ * `action` (string): Can be blank, `redirect` or `stat`. If set to `stat`, we will return file information but without a download URL, and without logging a download. If set to `redirect` we will serve a 302 redirect directly to the file. This is used for integrations with Zapier, and is not recommended for most integrations.
164
+ * `preview_size` (string): Request a preview size. Can be `small` (default), `large`, `xlarge`, or `pdf`.
165
+ * `with_previews` (boolean): Include file preview information?
166
+ * `with_priority_color` (boolean): Include file priority color information?
167
+
168
+
169
+ ---
170
+
171
+ ## Update file/folder metadata
172
+
173
+ ```
174
+ file = Files::File.list_for(path).first
175
+
176
+ file.update(
177
+ provided_mtime: "2000-01-01T01:00:00Z",
178
+ priority_color: "red"
179
+ )
180
+ ```
181
+
182
+ ### Parameters
183
+
184
+ * `path` (string): Required - Path to operate on.
185
+ * `provided_mtime` (string): Modified time of file.
186
+ * `priority_color` (string): Priority/Bookmark color of file.
187
+
188
+
189
+ ---
190
+
191
+ ## Delete file/folder
192
+
193
+ ```
194
+ file = Files::File.list_for(path).first
195
+
196
+ file.delete(
197
+ recursive: true
198
+ )
199
+ ```
200
+
201
+ ### Parameters
202
+
203
+ * `path` (string): Required - Path to operate on.
204
+ * `recursive` (boolean): If true, will recursively delete folers. Otherwise, will error on non-empty folders. For legacy reasons, this parameter may also be provided as the HTTP header `Depth: Infinity`
@@ -0,0 +1,126 @@
1
+
2
+
3
+ ---
4
+
5
+ ## Copy file/folder
6
+
7
+ ```
8
+ Files::FileAction.copy(path,
9
+ destination: "destination",
10
+ structure: true
11
+ )
12
+ ```
13
+
14
+ ### Parameters
15
+
16
+ * `path` (string): Required - Path to operate on.
17
+ * `destination` (string): Required - Copy destination path.
18
+ * `structure` (boolean): Copy structure only?
19
+
20
+
21
+ ---
22
+
23
+ ## Move file/folder
24
+
25
+ ```
26
+ Files::FileAction.move(path,
27
+ destination: "destination"
28
+ )
29
+ ```
30
+
31
+ ### Parameters
32
+
33
+ * `path` (string): Required - Path to operate on.
34
+ * `destination` (string): Required - Move destination path.
35
+
36
+
37
+ ---
38
+
39
+ ## Begin file upload
40
+
41
+ ```
42
+ Files::FileAction.begin_upload(path,
43
+ mkdir_parents: true,
44
+ part: 1,
45
+ parts: 1,
46
+ ref: "upload-1",
47
+ restart: 1,
48
+ with_rename: true
49
+ )
50
+ ```
51
+
52
+ ### Parameters
53
+
54
+ * `path` (string): Required - Path to operate on.
55
+ * `mkdir_parents` (boolean): Create parent directories if they do not exist?
56
+ * `part` (int64): Part if uploading a part.
57
+ * `parts` (int64): How many parts to fetch?
58
+ * `ref` (string):
59
+ * `restart` (int64): File byte offset to restart from.
60
+ * `with_rename` (boolean): Allow file rename instead of overwrite?
61
+
62
+
63
+ ---
64
+
65
+ ## Copy file/folder
66
+
67
+ ```
68
+ file_action = Files::FileAction.list_for(path).first
69
+
70
+ file_action.copy(
71
+ destination: "destination",
72
+ structure: true
73
+ )
74
+ ```
75
+
76
+ ### Parameters
77
+
78
+ * `path` (string): Required - Path to operate on.
79
+ * `destination` (string): Required - Copy destination path.
80
+ * `structure` (boolean): Copy structure only?
81
+
82
+
83
+ ---
84
+
85
+ ## Move file/folder
86
+
87
+ ```
88
+ file_action = Files::FileAction.list_for(path).first
89
+
90
+ file_action.move(
91
+ destination: "destination"
92
+ )
93
+ ```
94
+
95
+ ### Parameters
96
+
97
+ * `path` (string): Required - Path to operate on.
98
+ * `destination` (string): Required - Move destination path.
99
+
100
+
101
+ ---
102
+
103
+ ## Begin file upload
104
+
105
+ ```
106
+ file_action = Files::FileAction.list_for(path).first
107
+
108
+ file_action.begin_upload(
109
+ mkdir_parents: true,
110
+ part: 1,
111
+ parts: 1,
112
+ ref: "upload-1",
113
+ restart: 1,
114
+ with_rename: true
115
+ )
116
+ ```
117
+
118
+ ### Parameters
119
+
120
+ * `path` (string): Required - Path to operate on.
121
+ * `mkdir_parents` (boolean): Create parent directories if they do not exist?
122
+ * `part` (int64): Part if uploading a part.
123
+ * `parts` (int64): How many parts to fetch?
124
+ * `ref` (string):
125
+ * `restart` (int64): File byte offset to restart from.
126
+ * `with_rename` (boolean): Allow file rename instead of overwrite?
@@ -0,0 +1,116 @@
1
+ # FileComment
2
+
3
+ ## Example FileComment Object
4
+
5
+ ```
6
+ {
7
+ "id": 1,
8
+ "body": "What a great file!",
9
+ "reactions": [
10
+
11
+ ]
12
+ }
13
+ ```
14
+
15
+ * `id` (int64): File Comment ID
16
+ * `body` (string): Comment body.
17
+ * `reactions` (array): Reactions to this comment.
18
+ * `path` (string): File path.
19
+
20
+
21
+ ---
22
+
23
+ ## List File Comments by path
24
+
25
+ ```
26
+ Files::FileComment.list_for(path,
27
+ page: 1,
28
+ per_page: 1
29
+ )
30
+ ```
31
+
32
+ ### Parameters
33
+
34
+ * `page` (int64): Current page number.
35
+ * `per_page` (int64): Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
36
+ * `action` (string): Deprecated: If set to `count` returns a count of matching records rather than the records themselves.
37
+ * `path` (string): Required - Path to operate on.
38
+
39
+
40
+ ---
41
+
42
+ ## Create File Comment
43
+
44
+ ```
45
+ Files::FileComment.create(
46
+ body: "body",
47
+ path: "path"
48
+ )
49
+ ```
50
+
51
+ ### Parameters
52
+
53
+ * `body` (string): Required - Comment body.
54
+ * `path` (string): Required - File path.
55
+
56
+
57
+ ---
58
+
59
+ ## Update File Comment
60
+
61
+ ```
62
+ Files::FileComment.update(id,
63
+ body: "body"
64
+ )
65
+ ```
66
+
67
+ ### Parameters
68
+
69
+ * `id` (int64): Required - File Comment ID.
70
+ * `body` (string): Required - Comment body.
71
+
72
+
73
+ ---
74
+
75
+ ## Delete File Comment
76
+
77
+ ```
78
+ Files::FileComment.delete(id)
79
+ ```
80
+
81
+ ### Parameters
82
+
83
+ * `id` (int64): Required - File Comment ID.
84
+
85
+
86
+ ---
87
+
88
+ ## Update File Comment
89
+
90
+ ```
91
+ file_comment = Files::FileComment.list_for(path).first
92
+
93
+ file_comment.update(
94
+ body: "body"
95
+ )
96
+ ```
97
+
98
+ ### Parameters
99
+
100
+ * `id` (int64): Required - File Comment ID.
101
+ * `body` (string): Required - Comment body.
102
+
103
+
104
+ ---
105
+
106
+ ## Delete File Comment
107
+
108
+ ```
109
+ file_comment = Files::FileComment.list_for(path).first
110
+
111
+ file_comment.delete
112
+ ```
113
+
114
+ ### Parameters
115
+
116
+ * `id` (int64): Required - File Comment ID.