files.com 1.0.127 → 1.0.128

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 (65) hide show
  1. checksums.yaml +4 -4
  2. data/_VERSION +1 -1
  3. data/docs/account_line_item.md +18 -2
  4. data/docs/api_key.md +1 -1
  5. data/docs/app.md +3 -1
  6. data/docs/automation.md +14 -4
  7. data/docs/bandwidth_snapshot.md +5 -1
  8. data/docs/behavior.md +2 -2
  9. data/docs/bundle.md +36 -2
  10. data/docs/bundle_download.md +5 -1
  11. data/docs/bundle_recipient.md +7 -0
  12. data/docs/bundle_registration.md +23 -0
  13. data/docs/external_event.md +1 -1
  14. data/docs/file.md +7 -1
  15. data/docs/file_action.md +13 -0
  16. data/docs/file_comment.md +4 -1
  17. data/docs/folder.md +7 -1
  18. data/docs/form_field.md +29 -0
  19. data/docs/form_field_set.md +154 -0
  20. data/docs/group.md +13 -7
  21. data/docs/group_user.md +1 -1
  22. data/docs/history.md +1 -1
  23. data/docs/inbox_registration.md +21 -0
  24. data/docs/inbox_upload.md +35 -0
  25. data/docs/invoice.md +18 -2
  26. data/docs/ip_address.md +1 -1
  27. data/docs/message.md +10 -1
  28. data/docs/message_comment.md +4 -1
  29. data/docs/notification.md +1 -1
  30. data/docs/payment.md +18 -2
  31. data/docs/permission.md +1 -1
  32. data/docs/remote_server.md +0 -55
  33. data/docs/request.md +2 -2
  34. data/docs/settings_change.md +1 -1
  35. data/docs/site.md +91 -7
  36. data/docs/sso_strategy.md +1 -1
  37. data/docs/status.md +7 -0
  38. data/docs/style.md +1 -1
  39. data/docs/usage_daily_snapshot.md +1 -1
  40. data/docs/user.md +8 -8
  41. data/lib/files.com.rb +5 -0
  42. data/lib/files.com/models/api_key.rb +1 -1
  43. data/lib/files.com/models/automation.rb +10 -1
  44. data/lib/files.com/models/bandwidth_snapshot.rb +11 -1
  45. data/lib/files.com/models/behavior.rb +2 -2
  46. data/lib/files.com/models/bundle.rb +25 -1
  47. data/lib/files.com/models/bundle_download.rb +7 -2
  48. data/lib/files.com/models/bundle_recipient.rb +14 -0
  49. data/lib/files.com/models/bundle_registration.rb +47 -0
  50. data/lib/files.com/models/external_event.rb +1 -1
  51. data/lib/files.com/models/file_action.rb +14 -4
  52. data/lib/files.com/models/form_field.rb +52 -0
  53. data/lib/files.com/models/form_field_set.rb +171 -0
  54. data/lib/files.com/models/group.rb +1 -1
  55. data/lib/files.com/models/history.rb +1 -1
  56. data/lib/files.com/models/inbox_registration.rb +42 -0
  57. data/lib/files.com/models/inbox_upload.rb +46 -0
  58. data/lib/files.com/models/notification.rb +1 -1
  59. data/lib/files.com/models/permission.rb +1 -1
  60. data/lib/files.com/models/remote_server.rb +0 -82
  61. data/lib/files.com/models/request.rb +2 -2
  62. data/lib/files.com/models/settings_change.rb +1 -1
  63. data/lib/files.com/models/usage_daily_snapshot.rb +1 -1
  64. data/lib/files.com/models/user.rb +7 -7
  65. metadata +12 -2
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Files
4
+ class BundleRegistration
5
+ attr_reader :options, :attributes
6
+
7
+ def initialize(attributes = {}, options = {})
8
+ @attributes = attributes || {}
9
+ @options = options || {}
10
+ end
11
+
12
+ # string - Registration cookie code
13
+ def code
14
+ @attributes[:code]
15
+ end
16
+
17
+ # string - Registrant name
18
+ def name
19
+ @attributes[:name]
20
+ end
21
+
22
+ # string - Registrant company name
23
+ def company
24
+ @attributes[:company]
25
+ end
26
+
27
+ # string - Registrant email address
28
+ def email
29
+ @attributes[:email]
30
+ end
31
+
32
+ # string - InboxRegistration cookie code, if there is an associated InboxRegistration
33
+ def inbox_code
34
+ @attributes[:inbox_code]
35
+ end
36
+
37
+ # int64 - Id of associated form field set
38
+ def form_field_set_id
39
+ @attributes[:form_field_set_id]
40
+ end
41
+
42
+ # string - Data for form field set with form field ids as keys and user data as values
43
+ def form_field_data
44
+ @attributes[:form_field_data]
45
+ end
46
+ end
47
+ end
@@ -32,7 +32,7 @@ module Files
32
32
  # Parameters:
33
33
  # cursor - string - Used for pagination. Send a cursor value 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.
34
34
  # per_page - int64 - Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
35
- # 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 `remote_server_type`, `site_id`, `event_type`, `created_at` or `status`.
35
+ # 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 `remote_server_type`, `event_type`, `created_at` or `status`.
36
36
  # filter - object - If set, return records where the specifiied field is equal to the supplied value. Valid fields are `created_at`, `event_type`, `remote_server_type` or `status`.
37
37
  # filter_gt - object - If set, return records where the specifiied field is greater than the supplied value. Valid fields are `created_at`, `event_type`, `remote_server_type` or `status`.
38
38
  # filter_gteq - object - If set, return records where the specifiied field is greater than or equal to the supplied value. Valid fields are `created_at`, `event_type`, `remote_server_type` or `status`.
@@ -9,6 +9,16 @@ module Files
9
9
  @options = options || {}
10
10
  end
11
11
 
12
+ # string - Status of file operation. Possible values: completed, enqueued.
13
+ def status
14
+ @attributes[:status]
15
+ end
16
+
17
+ # int64 - If status is enqueued, this is the id of the FileMigration to check for status updates.
18
+ def file_migration_id
19
+ @attributes[:file_migration_id]
20
+ end
21
+
12
22
  # Copy file/folder
13
23
  #
14
24
  # Parameters:
@@ -78,8 +88,8 @@ module Files
78
88
  raise MissingParameterError.new("Parameter missing: path") unless params.dig(:path)
79
89
  raise MissingParameterError.new("Parameter missing: destination") unless params.dig(:destination)
80
90
 
81
- response, _options = Api.send_request("/file_actions/copy/#{params[:path]}", :post, params, options)
82
- response.data
91
+ response, options = Api.send_request("/file_actions/copy/#{params[:path]}", :post, params, options)
92
+ FileAction.new(response.data, options)
83
93
  end
84
94
 
85
95
  # Move file/folder
@@ -94,8 +104,8 @@ module Files
94
104
  raise MissingParameterError.new("Parameter missing: path") unless params.dig(:path)
95
105
  raise MissingParameterError.new("Parameter missing: destination") unless params.dig(:destination)
96
106
 
97
- response, _options = Api.send_request("/file_actions/move/#{params[:path]}", :post, params, options)
98
- response.data
107
+ response, options = Api.send_request("/file_actions/move/#{params[:path]}", :post, params, options)
108
+ FileAction.new(response.data, options)
99
109
  end
100
110
 
101
111
  # Begin file upload
@@ -0,0 +1,52 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Files
4
+ class FormField
5
+ attr_reader :options, :attributes
6
+
7
+ def initialize(attributes = {}, options = {})
8
+ @attributes = attributes || {}
9
+ @options = options || {}
10
+ end
11
+
12
+ # int64 - Form field id
13
+ def id
14
+ @attributes[:id]
15
+ end
16
+
17
+ # string - Label to be displayed
18
+ def label
19
+ @attributes[:label]
20
+ end
21
+
22
+ # boolean - Is this a required field?
23
+ def required
24
+ @attributes[:required]
25
+ end
26
+
27
+ # string - Help text to be displayed
28
+ def help_text
29
+ @attributes[:help_text]
30
+ end
31
+
32
+ # string - Type of Field
33
+ def field_type
34
+ @attributes[:field_type]
35
+ end
36
+
37
+ # string - Options to display for radio and dropdown
38
+ def options_for_select
39
+ @attributes[:options_for_select]
40
+ end
41
+
42
+ # string - Default option for radio and dropdown
43
+ def default_option
44
+ @attributes[:default_option]
45
+ end
46
+
47
+ # int64 - Form field set id
48
+ def form_field_set_id
49
+ @attributes[:form_field_set_id]
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,171 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Files
4
+ class FormFieldSet
5
+ attr_reader :options, :attributes
6
+
7
+ def initialize(attributes = {}, options = {})
8
+ @attributes = attributes || {}
9
+ @options = options || {}
10
+ end
11
+
12
+ # int64 - Form field set id
13
+ def id
14
+ @attributes[:id]
15
+ end
16
+
17
+ def id=(value)
18
+ @attributes[:id] = value
19
+ end
20
+
21
+ # string - Title to be displayed
22
+ def title
23
+ @attributes[:title]
24
+ end
25
+
26
+ def title=(value)
27
+ @attributes[:title] = value
28
+ end
29
+
30
+ # int64 - Layout of the form
31
+ def form_layout
32
+ @attributes[:form_layout]
33
+ end
34
+
35
+ def form_layout=(value)
36
+ @attributes[:form_layout] = value
37
+ end
38
+
39
+ # array - Associated form fields
40
+ def form_fields
41
+ @attributes[:form_fields]
42
+ end
43
+
44
+ def form_fields=(value)
45
+ @attributes[:form_fields] = 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
+ # Parameters:
58
+ # title - string - Title to be displayed
59
+ # form_fields - array(object)
60
+ def update(params = {})
61
+ params ||= {}
62
+ params[:id] = @attributes[:id]
63
+ raise MissingParameterError.new("Current object doesn't have a id") unless @attributes[:id]
64
+ raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params.dig(:id) and !params.dig(:id).is_a?(Integer)
65
+ raise InvalidParameterError.new("Bad parameter: title must be an String") if params.dig(:title) and !params.dig(:title).is_a?(String)
66
+ raise InvalidParameterError.new("Bad parameter: form_fields must be an Array") if params.dig(:form_fields) and !params.dig(:form_fields).is_a?(Array)
67
+ raise MissingParameterError.new("Parameter missing: id") unless params.dig(:id)
68
+
69
+ Api.send_request("/form_field_sets/#{@attributes[:id]}", :patch, params, @options)
70
+ end
71
+
72
+ def delete(params = {})
73
+ params ||= {}
74
+ params[:id] = @attributes[:id]
75
+ raise MissingParameterError.new("Current object doesn't have a id") unless @attributes[:id]
76
+ raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params.dig(:id) and !params.dig(:id).is_a?(Integer)
77
+ raise MissingParameterError.new("Parameter missing: id") unless params.dig(:id)
78
+
79
+ Api.send_request("/form_field_sets/#{@attributes[:id]}", :delete, params, @options)
80
+ end
81
+
82
+ def destroy(params = {})
83
+ delete(params)
84
+ end
85
+
86
+ def save
87
+ if @attributes[:id]
88
+ update(@attributes)
89
+ else
90
+ new_obj = FormFieldSet.create(@attributes, @options)
91
+ @attributes = new_obj.attributes
92
+ end
93
+ end
94
+
95
+ # Parameters:
96
+ # user_id - int64 - User ID. Provide a value of `0` to operate the current session's user.
97
+ # cursor - string - Used for pagination. Send a cursor value 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.
98
+ # per_page - int64 - Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
99
+ def self.list(params = {}, options = {})
100
+ raise InvalidParameterError.new("Bad parameter: user_id must be an Integer") if params.dig(:user_id) and !params.dig(:user_id).is_a?(Integer)
101
+ raise InvalidParameterError.new("Bad parameter: cursor must be an String") if params.dig(:cursor) and !params.dig(:cursor).is_a?(String)
102
+ raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if params.dig(:per_page) and !params.dig(:per_page).is_a?(Integer)
103
+
104
+ List.new(FormFieldSet, params) do
105
+ Api.send_request("/form_field_sets", :get, params, options)
106
+ end
107
+ end
108
+
109
+ def self.all(params = {}, options = {})
110
+ list(params, options)
111
+ end
112
+
113
+ # Parameters:
114
+ # id (required) - int64 - Form Field Set ID.
115
+ def self.find(id, params = {}, options = {})
116
+ params ||= {}
117
+ params[:id] = id
118
+ raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params.dig(:id) and !params.dig(:id).is_a?(Integer)
119
+ raise MissingParameterError.new("Parameter missing: id") unless params.dig(:id)
120
+
121
+ response, options = Api.send_request("/form_field_sets/#{params[:id]}", :get, params, options)
122
+ FormFieldSet.new(response.data, options)
123
+ end
124
+
125
+ def self.get(id, params = {}, options = {})
126
+ find(id, params, options)
127
+ end
128
+
129
+ # Parameters:
130
+ # user_id - int64 - User ID. Provide a value of `0` to operate the current session's user.
131
+ # title - string - Title to be displayed
132
+ # form_fields - array(object)
133
+ def self.create(params = {}, options = {})
134
+ raise InvalidParameterError.new("Bad parameter: user_id must be an Integer") if params.dig(:user_id) and !params.dig(:user_id).is_a?(Integer)
135
+ raise InvalidParameterError.new("Bad parameter: title must be an String") if params.dig(:title) and !params.dig(:title).is_a?(String)
136
+ raise InvalidParameterError.new("Bad parameter: form_fields must be an Array") if params.dig(:form_fields) and !params.dig(:form_fields).is_a?(Array)
137
+
138
+ response, options = Api.send_request("/form_field_sets", :post, params, options)
139
+ FormFieldSet.new(response.data, options)
140
+ end
141
+
142
+ # Parameters:
143
+ # title - string - Title to be displayed
144
+ # form_fields - array(object)
145
+ def self.update(id, params = {}, options = {})
146
+ params ||= {}
147
+ params[:id] = id
148
+ raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params.dig(:id) and !params.dig(:id).is_a?(Integer)
149
+ raise InvalidParameterError.new("Bad parameter: title must be an String") if params.dig(:title) and !params.dig(:title).is_a?(String)
150
+ raise InvalidParameterError.new("Bad parameter: form_fields must be an Array") if params.dig(:form_fields) and !params.dig(:form_fields).is_a?(Array)
151
+ raise MissingParameterError.new("Parameter missing: id") unless params.dig(:id)
152
+
153
+ response, options = Api.send_request("/form_field_sets/#{params[:id]}", :patch, params, options)
154
+ FormFieldSet.new(response.data, options)
155
+ end
156
+
157
+ def self.delete(id, params = {}, options = {})
158
+ params ||= {}
159
+ params[:id] = id
160
+ raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params.dig(:id) and !params.dig(:id).is_a?(Integer)
161
+ raise MissingParameterError.new("Parameter missing: id") unless params.dig(:id)
162
+
163
+ response, _options = Api.send_request("/form_field_sets/#{params[:id]}", :delete, params, options)
164
+ response.data
165
+ end
166
+
167
+ def self.destroy(id, params = {}, options = {})
168
+ delete(id, params, options)
169
+ end
170
+ end
171
+ end
@@ -108,7 +108,7 @@ module Files
108
108
  # Parameters:
109
109
  # cursor - string - Used for pagination. Send a cursor value 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.
110
110
  # per_page - int64 - Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
111
- # 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`, `site_id` or `name`.
111
+ # 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 `name`.
112
112
  # filter - object - If set, return records where the specifiied field is equal to the supplied value. Valid fields are `name`.
113
113
  # filter_gt - object - If set, return records where the specifiied field is greater than the supplied value. Valid fields are `name`.
114
114
  # filter_gteq - object - If set, return records where the specifiied field is greater than or equal to the supplied value. Valid fields are `name`.
@@ -175,7 +175,7 @@ module Files
175
175
  # display - string - Display format. Leave blank or set to `full` or `parent`.
176
176
  # cursor - string - Used for pagination. Send a cursor value 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.
177
177
  # per_page - int64 - Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
178
- # 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`, `created_at`, `folder` or `user_id`.
178
+ # 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 `path`, `folder`, `user_id` or `created_at`.
179
179
  # filter - object - If set, return records where the specifiied field is equal to the supplied value. Valid fields are `user_id`, `folder` or `path`.
180
180
  # filter_gt - object - If set, return records where the specifiied field is greater than the supplied value. Valid fields are `user_id`, `folder` or `path`.
181
181
  # 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`, `folder` or `path`.
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Files
4
+ class InboxRegistration
5
+ attr_reader :options, :attributes
6
+
7
+ def initialize(attributes = {}, options = {})
8
+ @attributes = attributes || {}
9
+ @options = options || {}
10
+ end
11
+
12
+ # string - Registration cookie code
13
+ def code
14
+ @attributes[:code]
15
+ end
16
+
17
+ # string - Registrant name
18
+ def name
19
+ @attributes[:name]
20
+ end
21
+
22
+ # string - Registrant company name
23
+ def company
24
+ @attributes[:company]
25
+ end
26
+
27
+ # string - Registrant email address
28
+ def email
29
+ @attributes[:email]
30
+ end
31
+
32
+ # int64 - Id of associated form field set
33
+ def form_field_set_id
34
+ @attributes[:form_field_set_id]
35
+ end
36
+
37
+ # string - Data for form field set with form field ids as keys and user data as values
38
+ def form_field_data
39
+ @attributes[:form_field_data]
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Files
4
+ class InboxUpload
5
+ attr_reader :options, :attributes
6
+
7
+ def initialize(attributes = {}, options = {})
8
+ @attributes = attributes || {}
9
+ @options = options || {}
10
+ end
11
+
12
+ def inbox_registration
13
+ @attributes[:inbox_registration]
14
+ end
15
+
16
+ # string - Upload path This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.
17
+ def path
18
+ @attributes[:path]
19
+ end
20
+
21
+ # date-time - Upload date/time
22
+ def created_at
23
+ @attributes[:created_at]
24
+ end
25
+
26
+ # Parameters:
27
+ # cursor - string - Used for pagination. Send a cursor value 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.
28
+ # per_page - int64 - Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
29
+ # inbox_registration_id - int64 - InboxRegistration ID
30
+ # inbox_id - int64 - Inbox ID
31
+ def self.list(params = {}, options = {})
32
+ raise InvalidParameterError.new("Bad parameter: cursor must be an String") if params.dig(:cursor) and !params.dig(:cursor).is_a?(String)
33
+ raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if params.dig(:per_page) and !params.dig(:per_page).is_a?(Integer)
34
+ raise InvalidParameterError.new("Bad parameter: inbox_registration_id must be an Integer") if params.dig(:inbox_registration_id) and !params.dig(:inbox_registration_id).is_a?(Integer)
35
+ raise InvalidParameterError.new("Bad parameter: inbox_id must be an Integer") if params.dig(:inbox_id) and !params.dig(:inbox_id).is_a?(Integer)
36
+
37
+ List.new(InboxUpload, params) do
38
+ Api.send_request("/inbox_uploads", :get, params, options)
39
+ end
40
+ end
41
+
42
+ def self.all(params = {}, options = {})
43
+ list(params, options)
44
+ end
45
+ end
46
+ end
@@ -169,7 +169,7 @@ module Files
169
169
  # user_id - int64 - DEPRECATED: Show notifications for this User ID. Use `filter[user_id]` instead.
170
170
  # cursor - string - Used for pagination. Send a cursor value 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.
171
171
  # per_page - int64 - Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
172
- # 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`.
172
+ # 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 `path`, `user_id` or `group_id`.
173
173
  # 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`.
174
174
  # 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`.
175
175
  # 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`.
@@ -107,7 +107,7 @@ module Files
107
107
  # Parameters:
108
108
  # cursor - string - Used for pagination. Send a cursor value 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.
109
109
  # per_page - int64 - Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
110
- # 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 `deleted_at`, `group_id`, `path`, `user_id` or `permission`.
110
+ # 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 `group_id`, `path`, `user_id` or `permission`.
111
111
  # filter - object - If set, return records where the specifiied field is equal to the supplied value. Valid fields are `group_id`, `user_id` or `path`.
112
112
  # filter_gt - object - If set, return records where the specifiied field is greater than the supplied value. Valid fields are `group_id`, `user_id` or `path`.
113
113
  # filter_gteq - object - If set, return records where the specifiied field is greater than or equal to the supplied value. Valid fields are `group_id`, `user_id` or `path`.