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,62 @@
1
+ # FileCommentReaction
2
+
3
+ ## Example FileCommentReaction Object
4
+
5
+ ```
6
+ {
7
+ "id": 1,
8
+ "emoji": "👍"
9
+ }
10
+ ```
11
+
12
+ * `id` (int64): Reaction ID
13
+ * `emoji` (string): Emoji used in the reaction.
14
+ * `user_id` (int64): User ID. Provide a value of `0` to operate the current session's user.
15
+ * `file_comment_id` (int64): ID of file comment to attach reaction to.
16
+
17
+
18
+ ---
19
+
20
+ ## Create File Comment Reaction
21
+
22
+ ```
23
+ Files::FileCommentReaction.create(
24
+ user_id: 1,
25
+ file_comment_id: 1,
26
+ emoji: "emoji"
27
+ )
28
+ ```
29
+
30
+ ### Parameters
31
+
32
+ * `user_id` (int64): User ID. Provide a value of `0` to operate the current session's user.
33
+ * `file_comment_id` (int64): Required - ID of file comment to attach reaction to.
34
+ * `emoji` (string): Required - Emoji to react with.
35
+
36
+
37
+ ---
38
+
39
+ ## Delete File Comment Reaction
40
+
41
+ ```
42
+ Files::FileCommentReaction.delete(id)
43
+ ```
44
+
45
+ ### Parameters
46
+
47
+ * `id` (int64): Required - File Comment Reaction ID.
48
+
49
+
50
+ ---
51
+
52
+ ## Delete File Comment Reaction
53
+
54
+ ```
55
+ file_comment_reaction = Files::FileCommentReaction.list_for(path).first
56
+
57
+ file_comment_reaction.delete
58
+ ```
59
+
60
+ ### Parameters
61
+
62
+ * `id` (int64): Required - File Comment Reaction ID.
@@ -0,0 +1,37 @@
1
+ # FilePartUpload
2
+
3
+ ## Example FilePartUpload Object
4
+
5
+ ```
6
+ {
7
+ "send": "",
8
+ "action": "upload/direct",
9
+ "ask_about_overwrites": true,
10
+ "available_parts": "",
11
+ "expires": "",
12
+ "headers": "",
13
+ "http_method": "POST",
14
+ "next_partsize": "",
15
+ "parameters": "",
16
+ "part_number": "",
17
+ "partsize": "",
18
+ "path": "path",
19
+ "ref": "upload-1",
20
+ "upload_uri": ""
21
+ }
22
+ ```
23
+
24
+ * `send` (object): Content-Type and File to send
25
+ * `action` (string): Type of upload
26
+ * `ask_about_overwrites` (boolean): If false, rename conflicting files instead of asking for overwrite confirmation
27
+ * `available_parts` (string): Currently unused
28
+ * `expires` (string): Currently unused
29
+ * `headers` (object): Additional upload headers
30
+ * `http_method` (string): Upload method, usually POST
31
+ * `next_partsize` (string): Currently unused
32
+ * `parameters` (string): Additional upload parameters
33
+ * `part_number` (string): Currently unused
34
+ * `partsize` (string): Currently unused
35
+ * `path` (string): Upload path This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.
36
+ * `ref` (string): Reference name for this upload part
37
+ * `upload_uri` (string): URI to upload this part to
@@ -0,0 +1,4 @@
1
+ # FileUtils
2
+
3
+ The Files::FileUtils object emulates a Ruby FileUtils object and can be used in
4
+ may places where a Ruby FileUtils object can be used.
@@ -0,0 +1,90 @@
1
+ # Folder
2
+
3
+ The Files::Folder object emulates a Ruby Dir object and can be used in
4
+ may places where a Ruby Dir object can be used.
5
+
6
+ Files::Dir is an alias of Files::Folder
7
+
8
+ ## Example Folder Object
9
+
10
+ ```
11
+ {
12
+ "id": 1,
13
+ "path": "path/file.txt",
14
+ "display_name": "file.txt",
15
+ "type": "file",
16
+ "size": 1024,
17
+ "mtime": "2000-01-01T01:00:00Z",
18
+ "provided_mtime": "2000-01-01T01:00:00Z",
19
+ "crc32": "70976923",
20
+ "md5": "17c54824e9931a4688ca032d03f6663c",
21
+ "mime_type": "application/octet-stream",
22
+ "region": "us-east-1",
23
+ "permissions": "rpw",
24
+ "subfolders_locked?": true,
25
+ "download_uri": "https://mysite.files.com/...",
26
+ "priority_color": "red",
27
+ "preview_id": 1,
28
+ "preview": ""
29
+ }
30
+ ```
31
+
32
+ * `id` (int64): File/Folder ID
33
+ * `path` (string): File/Folder path This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.
34
+ * `display_name` (string): File/Folder display name
35
+ * `type` (string): Type: `directory` or `file`.
36
+ * `size` (int64): File/Folder size
37
+ * `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.
38
+ * `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.
39
+ * `crc32` (string): File CRC32 checksum. This is sometimes delayed, so if you get a blank response, wait and try again.
40
+ * `md5` (string): File MD5 checksum. This is sometimes delayed, so if you get a blank response, wait and try again.
41
+ * `mime_type` (string): MIME Type. This is determined by the filename extension and is not stored separately internally.
42
+ * `region` (string): Region location
43
+ * `permissions` (string): A short string representing the current user's permissions. Can be `r`,`w`,`p`, or any combination
44
+ * `subfolders_locked?` (boolean): Are subfolders locked and unable to be modified?
45
+ * `download_uri` (string): Link to download file. Provided only in response to a download request.
46
+ * `priority_color` (string): Bookmark/priority color of file/folder
47
+ * `preview_id` (int64): File preview ID
48
+ * `preview`: File preview
49
+
50
+
51
+ ---
52
+
53
+ ## List Folders by path
54
+
55
+ ```
56
+ Files::Folder.list_for(path,
57
+ page: 1,
58
+ per_page: 1,
59
+ search_all: true,
60
+ with_previews: true,
61
+ with_priority_color: true
62
+ )
63
+ ```
64
+
65
+ ### Parameters
66
+
67
+ * `page` (int64): Current page number.
68
+ * `per_page` (int64): Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
69
+ * `action` (string): Action to take. Can be `count`, `count_nrs` (non recursive), `size`, `permissions`, or blank.
70
+ * `path` (string): Required - Path to operate on.
71
+ * `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 header.
72
+ * `filter` (string): If specified, will to filter folders/files list by this string. Wildcards of `*` and `?` are acceptable here.
73
+ * `preview_size` (string): Request a preview size. Can be `small` (default), `large`, `xlarge`, or `pdf`.
74
+ * `search` (string): If `search_all` is `true`, provide the search string here. Otherwise, this parameter acts like an alias of `filter`.
75
+ * `search_all` (boolean): Search entire site?
76
+ * `with_previews` (boolean): Include file previews?
77
+ * `with_priority_color` (boolean): Include file priority color information?
78
+
79
+
80
+ ---
81
+
82
+ ## Create folder
83
+
84
+ ```
85
+ Files::Folder.create(path)
86
+ ```
87
+
88
+ ### Parameters
89
+
90
+ * `path` (string): Required - Path to operate on.
@@ -0,0 +1,153 @@
1
+ # Group
2
+
3
+ ## Example Group Object
4
+
5
+ ```
6
+ {
7
+ "id": 1,
8
+ "name": "owners",
9
+ "admin_ids": [
10
+
11
+ ],
12
+ "notes": "",
13
+ "user_ids": [
14
+
15
+ ],
16
+ "usernames": [
17
+
18
+ ]
19
+ }
20
+ ```
21
+
22
+ * `id` (int64): Group ID
23
+ * `name` (string): Group name
24
+ * `admin_ids` (array): List of user IDs who are group administrators (separated by commas)
25
+ * `notes` (string): Notes about this group
26
+ * `user_ids` (array): List of user IDs who belong to this group (separated by commas)
27
+ * `usernames` (array): List of usernames who belong to this group (separated by commas)
28
+
29
+
30
+ ---
31
+
32
+ ## List Groups
33
+
34
+ ```
35
+ Files::Group.list(
36
+ page: 1,
37
+ per_page: 1
38
+ )
39
+ ```
40
+
41
+ ### Parameters
42
+
43
+ * `page` (int64): Current page number.
44
+ * `per_page` (int64): Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
45
+ * `action` (string): Deprecated: If set to `count` returns a count of matching records rather than the records themselves.
46
+ * `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.
47
+ * `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 `active`, `deleted_at`, `site_id` or `name`.
48
+ * `filter` (object): If set, return records where the specifiied field is equal to the supplied value. Valid fields are `name`.
49
+ * `filter_gt` (object): If set, return records where the specifiied field is greater than the supplied value. Valid fields are `name`.
50
+ * `filter_gteq` (object): If set, return records where the specifiied field is greater than or equal to the supplied value. Valid fields are `name`.
51
+ * `filter_like` (object): If set, return records where the specifiied field is equal to the supplied value. Valid fields are `name`.
52
+ * `filter_lt` (object): If set, return records where the specifiied field is less than the supplied value. Valid fields are `name`.
53
+ * `filter_lteq` (object): If set, return records where the specifiied field is less than or equal to the supplied value. Valid fields are `name`.
54
+ * `ids` (string): Comma-separated list of group ids to include in results.
55
+
56
+
57
+ ---
58
+
59
+ ## Show Group
60
+
61
+ ```
62
+ Files::Group.find(id)
63
+ ```
64
+
65
+ ### Parameters
66
+
67
+ * `id` (int64): Required - Group ID.
68
+
69
+
70
+ ---
71
+
72
+ ## Create Group
73
+
74
+ ```
75
+ Files::Group.create(
76
+ name: "owners"
77
+ )
78
+ ```
79
+
80
+ ### Parameters
81
+
82
+ * `name` (string): Group name.
83
+ * `notes` (string): Group notes.
84
+ * `user_ids` (string): A list of user ids. If sent as a string, should be comma-delimited.
85
+ * `admin_ids` (string): A list of group admin user ids. If sent as a string, should be comma-delimited.
86
+
87
+
88
+ ---
89
+
90
+ ## Update Group
91
+
92
+ ```
93
+ Files::Group.update(id,
94
+ name: "owners"
95
+ )
96
+ ```
97
+
98
+ ### Parameters
99
+
100
+ * `id` (int64): Required - Group ID.
101
+ * `name` (string): Group name.
102
+ * `notes` (string): Group notes.
103
+ * `user_ids` (string): A list of user ids. If sent as a string, should be comma-delimited.
104
+ * `admin_ids` (string): A list of group admin user ids. If sent as a string, should be comma-delimited.
105
+
106
+
107
+ ---
108
+
109
+ ## Delete Group
110
+
111
+ ```
112
+ Files::Group.delete(id)
113
+ ```
114
+
115
+ ### Parameters
116
+
117
+ * `id` (int64): Required - Group ID.
118
+
119
+
120
+ ---
121
+
122
+ ## Update Group
123
+
124
+ ```
125
+ group = Files::Group.list_for(path).first
126
+
127
+ group.update(
128
+ name: "owners"
129
+ )
130
+ ```
131
+
132
+ ### Parameters
133
+
134
+ * `id` (int64): Required - Group ID.
135
+ * `name` (string): Group name.
136
+ * `notes` (string): Group notes.
137
+ * `user_ids` (string): A list of user ids. If sent as a string, should be comma-delimited.
138
+ * `admin_ids` (string): A list of group admin user ids. If sent as a string, should be comma-delimited.
139
+
140
+
141
+ ---
142
+
143
+ ## Delete Group
144
+
145
+ ```
146
+ group = Files::Group.list_for(path).first
147
+
148
+ group.delete
149
+ ```
150
+
151
+ ### Parameters
152
+
153
+ * `id` (int64): Required - Group ID.
@@ -0,0 +1,124 @@
1
+ # GroupUser
2
+
3
+ ## Example GroupUser Object
4
+
5
+ ```
6
+ {
7
+ "group_name": "My Group",
8
+ "group_id": 1,
9
+ "user_id": 1,
10
+ "admin": true,
11
+ "usernames": [
12
+
13
+ ]
14
+ }
15
+ ```
16
+
17
+ * `group_name` (string): Group name
18
+ * `group_id` (int64): Group ID
19
+ * `user_id` (int64): User ID
20
+ * `admin` (boolean): Is this user an administrator of this group?
21
+ * `usernames` (array): A list of usernames for users in this group
22
+ * `id` (int64): Group User ID.
23
+
24
+
25
+ ---
26
+
27
+ ## List Group Users
28
+
29
+ ```
30
+ Files::GroupUser.list(
31
+ user_id: 1,
32
+ page: 1,
33
+ per_page: 1,
34
+ group_id: 1
35
+ )
36
+ ```
37
+
38
+ ### Parameters
39
+
40
+ * `user_id` (int64): User ID. If provided, will return group_users of this user.
41
+ * `page` (int64): Current page number.
42
+ * `per_page` (int64): Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
43
+ * `action` (string): Deprecated: If set to `count` returns a count of matching records rather than the records themselves.
44
+ * `group_id` (int64): Group ID. If provided, will return group_users of this group.
45
+
46
+
47
+ ---
48
+
49
+ ## Update Group User
50
+
51
+ ```
52
+ Files::GroupUser.update(id,
53
+ group_id: 1,
54
+ user_id: 1,
55
+ admin: true
56
+ )
57
+ ```
58
+
59
+ ### Parameters
60
+
61
+ * `id` (int64): Required - Group User ID.
62
+ * `group_id` (int64): Required - Group ID to add user to.
63
+ * `user_id` (int64): Required - User ID to add to group.
64
+ * `admin` (boolean): Is the user a group administrator?
65
+
66
+
67
+ ---
68
+
69
+ ## Delete Group User
70
+
71
+ ```
72
+ Files::GroupUser.delete(id,
73
+ group_id: 1,
74
+ user_id: 1
75
+ )
76
+ ```
77
+
78
+ ### Parameters
79
+
80
+ * `id` (int64): Required - Group User ID.
81
+ * `group_id` (int64): Required - Group ID from which to remove user.
82
+ * `user_id` (int64): Required - User ID to remove from group.
83
+
84
+
85
+ ---
86
+
87
+ ## Update Group User
88
+
89
+ ```
90
+ group_user = Files::GroupUser.list_for(path).first
91
+
92
+ group_user.update(
93
+ group_id: 1,
94
+ user_id: 1,
95
+ admin: true
96
+ )
97
+ ```
98
+
99
+ ### Parameters
100
+
101
+ * `id` (int64): Required - Group User ID.
102
+ * `group_id` (int64): Required - Group ID to add user to.
103
+ * `user_id` (int64): Required - User ID to add to group.
104
+ * `admin` (boolean): Is the user a group administrator?
105
+
106
+
107
+ ---
108
+
109
+ ## Delete Group User
110
+
111
+ ```
112
+ group_user = Files::GroupUser.list_for(path).first
113
+
114
+ group_user.delete(
115
+ group_id: 1,
116
+ user_id: 1
117
+ )
118
+ ```
119
+
120
+ ### Parameters
121
+
122
+ * `id` (int64): Required - Group User ID.
123
+ * `group_id` (int64): Required - Group ID from which to remove user.
124
+ * `user_id` (int64): Required - User ID to remove from group.