files.com 1.1.801 → 1.1.803
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.
- checksums.yaml +4 -4
- data/_VERSION +1 -1
- data/docs/automation.md +5 -5
- data/docs/child_site_management_policy.md +14 -4
- data/docs/event_subscription.md +14 -8
- data/docs/event_target.md +26 -14
- data/docs/form_field_set.md +8 -13
- data/docs/scheduled_export.md +4 -4
- data/docs/share_group.md +4 -4
- data/docs/site.md +3 -6
- data/lib/files.com/models/event_subscription.rb +4 -4
- data/lib/files.com/models/event_target.rb +4 -4
- data/lib/files.com/models/scheduled_export.rb +4 -4
- data/spec/models/file_spec.rb +9 -7
- data/spec/models/folder_spec.rb +12 -7
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3fde439a751fae76d99298db114c359f6dd675ad51b17d173ebdb8d4be011284
|
|
4
|
+
data.tar.gz: e716632be7616edf7ce3cf7c51ad61325e87d1b093e021e22d45fcb520cb3e8d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: faf8e3363b6ef1e4fb47e0bcdefe86ad0462f15a8bcf4bcdb739f45b0e63fd28f6c1ba4c991ba52cceb4ba73e8d7b35ff35a2fae152377bc9bbd5d400dd66fda
|
|
7
|
+
data.tar.gz: 33dc5267810ce31d2da8dac9142662d279a5f9913baaeac0b1758597ca59fc36c6545178a9914b15f8b5d6bdce1701bebe1a405334bb82409339eb8167df312c
|
data/_VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
1.1.
|
|
1
|
+
1.1.803
|
data/docs/automation.md
CHANGED
|
@@ -45,8 +45,8 @@
|
|
|
45
45
|
"import_urls": [
|
|
46
46
|
{
|
|
47
47
|
"name": "users.json",
|
|
48
|
-
"url": "
|
|
49
|
-
"method": "
|
|
48
|
+
"url": "https://example.com/users",
|
|
49
|
+
"method": "post",
|
|
50
50
|
"headers": {
|
|
51
51
|
"Content-Type": "application/json"
|
|
52
52
|
},
|
|
@@ -238,7 +238,7 @@ Files::Automation.create(
|
|
|
238
238
|
definition: {"schema_version":1,"nodes":[{"id":"trigger","type":"trigger_manual"},{"id":"create_reports","type":"create_folder","config":{"destinations":["reports/"]}}],"edges":[{"from":"trigger","to":"create_reports"}]},
|
|
239
239
|
disabled: true,
|
|
240
240
|
exclude_pattern: "path/to/exclude/*",
|
|
241
|
-
import_urls: [{"name":"users.json","url":"
|
|
241
|
+
import_urls: [{"name":"users.json","url":"https://example.com/users","method":"post","headers":{"Content-Type":"application/json"},"content":{"group":"support"}}],
|
|
242
242
|
flatten_destination_structure: true,
|
|
243
243
|
ignore_locked_folders: true,
|
|
244
244
|
legacy_folder_matching: false,
|
|
@@ -352,7 +352,7 @@ Files::Automation.update(id,
|
|
|
352
352
|
definition: {"schema_version":1,"nodes":[{"id":"trigger","type":"trigger_manual"},{"id":"create_reports","type":"create_folder","config":{"destinations":["reports/"]}}],"edges":[{"from":"trigger","to":"create_reports"}]},
|
|
353
353
|
disabled: true,
|
|
354
354
|
exclude_pattern: "path/to/exclude/*",
|
|
355
|
-
import_urls: [{"name":"users.json","url":"
|
|
355
|
+
import_urls: [{"name":"users.json","url":"https://example.com/users","method":"post","headers":{"Content-Type":"application/json"},"content":{"group":"support"}}],
|
|
356
356
|
flatten_destination_structure: true,
|
|
357
357
|
ignore_locked_folders: true,
|
|
358
358
|
legacy_folder_matching: false,
|
|
@@ -484,7 +484,7 @@ automation.update(
|
|
|
484
484
|
definition: {"schema_version":1,"nodes":[{"id":"trigger","type":"trigger_manual"},{"id":"create_reports","type":"create_folder","config":{"destinations":["reports/"]}}],"edges":[{"from":"trigger","to":"create_reports"}]},
|
|
485
485
|
disabled: true,
|
|
486
486
|
exclude_pattern: "path/to/exclude/*",
|
|
487
|
-
import_urls: [{"name":"users.json","url":"
|
|
487
|
+
import_urls: [{"name":"users.json","url":"https://example.com/users","method":"post","headers":{"Content-Type":"application/json"},"content":{"group":"support"}}],
|
|
488
488
|
flatten_destination_structure: true,
|
|
489
489
|
ignore_locked_folders: true,
|
|
490
490
|
legacy_folder_matching: false,
|
|
@@ -8,7 +8,17 @@
|
|
|
8
8
|
"policy_type": "settings",
|
|
9
9
|
"name": "example",
|
|
10
10
|
"description": "example",
|
|
11
|
-
"value":
|
|
11
|
+
"value": {
|
|
12
|
+
"color2_left": "#000000",
|
|
13
|
+
"folder_behaviors": [
|
|
14
|
+
{
|
|
15
|
+
"behavior": "file_expiration",
|
|
16
|
+
"value": {
|
|
17
|
+
"days_to_retain": 30
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
},
|
|
12
22
|
"applied_child_site_ids": [
|
|
13
23
|
1,
|
|
14
24
|
2
|
|
@@ -73,7 +83,7 @@ Files::ChildSiteManagementPolicy.find(id)
|
|
|
73
83
|
|
|
74
84
|
```
|
|
75
85
|
Files::ChildSiteManagementPolicy.create(
|
|
76
|
-
value: {"color2_left":"#000000"},
|
|
86
|
+
value: {"color2_left":"#000000","folder_behaviors":[{"behavior":"file_expiration","value":{"days_to_retain":30}}]},
|
|
77
87
|
skip_child_site_ids: [1,2],
|
|
78
88
|
child_site_ids: [1,2],
|
|
79
89
|
default_policy: true,
|
|
@@ -100,7 +110,7 @@ Files::ChildSiteManagementPolicy.create(
|
|
|
100
110
|
|
|
101
111
|
```
|
|
102
112
|
Files::ChildSiteManagementPolicy.update(id,
|
|
103
|
-
value: {"color2_left":"#000000"},
|
|
113
|
+
value: {"color2_left":"#000000","folder_behaviors":[{"behavior":"file_expiration","value":{"days_to_retain":30}}]},
|
|
104
114
|
skip_child_site_ids: [1,2],
|
|
105
115
|
child_site_ids: [1,2],
|
|
106
116
|
default_policy: true,
|
|
@@ -143,7 +153,7 @@ Files::ChildSiteManagementPolicy.delete(id)
|
|
|
143
153
|
child_site_management_policy = Files::ChildSiteManagementPolicy.find(id)
|
|
144
154
|
|
|
145
155
|
child_site_management_policy.update(
|
|
146
|
-
value: {"color2_left":"#000000"},
|
|
156
|
+
value: {"color2_left":"#000000","folder_behaviors":[{"behavior":"file_expiration","value":{"days_to_retain":30}}]},
|
|
147
157
|
skip_child_site_ids: [1,2],
|
|
148
158
|
child_site_ids: [1,2],
|
|
149
159
|
default_policy: true,
|
data/docs/event_subscription.md
CHANGED
|
@@ -24,7 +24,13 @@
|
|
|
24
24
|
"exists": true
|
|
25
25
|
}
|
|
26
26
|
},
|
|
27
|
-
"delivery_policy":
|
|
27
|
+
"delivery_policy": {
|
|
28
|
+
"max_attempts": 3,
|
|
29
|
+
"retry_delay_minutes": [
|
|
30
|
+
5,
|
|
31
|
+
30
|
|
32
|
+
]
|
|
33
|
+
},
|
|
28
34
|
"event_target_ids": [
|
|
29
35
|
1
|
|
30
36
|
],
|
|
@@ -44,7 +50,7 @@
|
|
|
44
50
|
* `enabled` (boolean): Whether this Event Subscription can dispatch events.
|
|
45
51
|
* `event_types` (array(string)): Event type strings matched by this subscription. Blank means all event types. Valid values: `automation_run.canceled.v1`, `automation_run.failure.v1`, `automation_run.failure_will_retry.v1`, `automation_run.partial_failure.v1`, `automation_run.partial_failure_will_retry.v1`, `automation_run.skipped.v1`, `automation_run.success.v1`, `expectation_evaluation.invalid.v1`, `expectation_evaluation.late.v1`, `expectation_evaluation.missing.v1`, `expectation_evaluation.success.v1`, `expectation_incident.acknowledged.v1`, `expectation_incident.open.v1`, `expectation_incident.resolved.v1`, `expectation_incident.snoozed.v1`, `external_event.client_log.failure.v1`, `external_event.client_log.partial_failure.v1`, `external_event.client_log.skipped.v1`, `external_event.client_log.success.v1`, `pending_work_event.failure.v1`, `pending_work_event.partial_failure.v1`, `pending_work_event.skipped.v1`, `pending_work_event.success.v1`, `siem_http_destination_event.failure.v1`, `siem_http_destination_event.partial_failure.v1`, `siem_http_destination_event.skipped.v1`, `siem_http_destination_event.success.v1`, `sso_event.ldap_login.failure.v1`, `sso_event.ldap_login.partial_failure.v1`, `sso_event.ldap_login.skipped.v1`, `sso_event.ldap_login.success.v1`, `sso_event.ldap_sync.failure.v1`, `sso_event.ldap_sync.partial_failure.v1`, `sso_event.ldap_sync.skipped.v1`, `sso_event.ldap_sync.success.v1`, `sso_event.saml_login.failure.v1`, `sso_event.saml_login.partial_failure.v1`, `sso_event.saml_login.skipped.v1`, `sso_event.saml_login.success.v1`, `sync_run.failure.v1`, `sync_run.partial_failure.v1`, `sync_run.skipped.v1`, `sync_run.success.v1`, `user_security_event.lockout.v1`
|
|
46
52
|
* `filter` (object): Conditions on event fields that an event must meet to be delivered, keyed by dot-notation field path. All conditions must match.
|
|
47
|
-
* `delivery_policy` (object): Event Subscription delivery policy.
|
|
53
|
+
* `delivery_policy` (object): Event Subscription delivery policy. Overrides retry settings from each Event Target's delivery policy.
|
|
48
54
|
* `event_target_ids` (array(int64)): Event Target IDs this subscription sends to.
|
|
49
55
|
* `created_at` (date-time): Event Subscription create date/time.
|
|
50
56
|
* `updated_at` (date-time): Event Subscription update date/time.
|
|
@@ -95,7 +101,7 @@ Files::EventSubscription.create(
|
|
|
95
101
|
enabled: true,
|
|
96
102
|
event_types: ["sync_run.failure.v1"],
|
|
97
103
|
filter: {"payload.sync_name":{"prefix":"Nightly"},"payload.event_errors":{"exists":true}},
|
|
98
|
-
delivery_policy: "
|
|
104
|
+
delivery_policy: {"max_attempts":3,"retry_delay_minutes":[5,30]},
|
|
99
105
|
event_target_ids: [1]
|
|
100
106
|
)
|
|
101
107
|
```
|
|
@@ -112,7 +118,7 @@ Files::EventSubscription.create(
|
|
|
112
118
|
* `enabled` (boolean): Whether this Event Subscription can dispatch events.
|
|
113
119
|
* `event_types` (array(string)): Event type strings matched by this subscription. Blank means all event types. Valid values: `automation_run.canceled.v1`, `automation_run.failure.v1`, `automation_run.failure_will_retry.v1`, `automation_run.partial_failure.v1`, `automation_run.partial_failure_will_retry.v1`, `automation_run.skipped.v1`, `automation_run.success.v1`, `expectation_evaluation.invalid.v1`, `expectation_evaluation.late.v1`, `expectation_evaluation.missing.v1`, `expectation_evaluation.success.v1`, `expectation_incident.acknowledged.v1`, `expectation_incident.open.v1`, `expectation_incident.resolved.v1`, `expectation_incident.snoozed.v1`, `external_event.client_log.failure.v1`, `external_event.client_log.partial_failure.v1`, `external_event.client_log.skipped.v1`, `external_event.client_log.success.v1`, `pending_work_event.failure.v1`, `pending_work_event.partial_failure.v1`, `pending_work_event.skipped.v1`, `pending_work_event.success.v1`, `siem_http_destination_event.failure.v1`, `siem_http_destination_event.partial_failure.v1`, `siem_http_destination_event.skipped.v1`, `siem_http_destination_event.success.v1`, `sso_event.ldap_login.failure.v1`, `sso_event.ldap_login.partial_failure.v1`, `sso_event.ldap_login.skipped.v1`, `sso_event.ldap_login.success.v1`, `sso_event.ldap_sync.failure.v1`, `sso_event.ldap_sync.partial_failure.v1`, `sso_event.ldap_sync.skipped.v1`, `sso_event.ldap_sync.success.v1`, `sso_event.saml_login.failure.v1`, `sso_event.saml_login.partial_failure.v1`, `sso_event.saml_login.skipped.v1`, `sso_event.saml_login.success.v1`, `sync_run.failure.v1`, `sync_run.partial_failure.v1`, `sync_run.skipped.v1`, `sync_run.success.v1`, `user_security_event.lockout.v1`
|
|
114
120
|
* `filter` (object): Conditions on event fields that an event must meet to be delivered, keyed by dot-notation field path. All conditions must match.
|
|
115
|
-
* `delivery_policy` (object): Event Subscription delivery policy.
|
|
121
|
+
* `delivery_policy` (object): Event Subscription delivery policy. Overrides retry settings from each Event Target's delivery policy.
|
|
116
122
|
* `event_target_ids` (array(int64)): Event Target IDs this subscription sends to.
|
|
117
123
|
|
|
118
124
|
|
|
@@ -132,7 +138,7 @@ Files::EventSubscription.update(id,
|
|
|
132
138
|
enabled: true,
|
|
133
139
|
event_types: ["sync_run.failure.v1"],
|
|
134
140
|
filter: {"payload.sync_name":{"prefix":"Nightly"},"payload.event_errors":{"exists":true}},
|
|
135
|
-
delivery_policy: "
|
|
141
|
+
delivery_policy: {"max_attempts":3,"retry_delay_minutes":[5,30]},
|
|
136
142
|
event_target_ids: [1]
|
|
137
143
|
)
|
|
138
144
|
```
|
|
@@ -150,7 +156,7 @@ Files::EventSubscription.update(id,
|
|
|
150
156
|
* `enabled` (boolean): Whether this Event Subscription can dispatch events.
|
|
151
157
|
* `event_types` (array(string)): Event type strings matched by this subscription. Blank means all event types. Valid values: `automation_run.canceled.v1`, `automation_run.failure.v1`, `automation_run.failure_will_retry.v1`, `automation_run.partial_failure.v1`, `automation_run.partial_failure_will_retry.v1`, `automation_run.skipped.v1`, `automation_run.success.v1`, `expectation_evaluation.invalid.v1`, `expectation_evaluation.late.v1`, `expectation_evaluation.missing.v1`, `expectation_evaluation.success.v1`, `expectation_incident.acknowledged.v1`, `expectation_incident.open.v1`, `expectation_incident.resolved.v1`, `expectation_incident.snoozed.v1`, `external_event.client_log.failure.v1`, `external_event.client_log.partial_failure.v1`, `external_event.client_log.skipped.v1`, `external_event.client_log.success.v1`, `pending_work_event.failure.v1`, `pending_work_event.partial_failure.v1`, `pending_work_event.skipped.v1`, `pending_work_event.success.v1`, `siem_http_destination_event.failure.v1`, `siem_http_destination_event.partial_failure.v1`, `siem_http_destination_event.skipped.v1`, `siem_http_destination_event.success.v1`, `sso_event.ldap_login.failure.v1`, `sso_event.ldap_login.partial_failure.v1`, `sso_event.ldap_login.skipped.v1`, `sso_event.ldap_login.success.v1`, `sso_event.ldap_sync.failure.v1`, `sso_event.ldap_sync.partial_failure.v1`, `sso_event.ldap_sync.skipped.v1`, `sso_event.ldap_sync.success.v1`, `sso_event.saml_login.failure.v1`, `sso_event.saml_login.partial_failure.v1`, `sso_event.saml_login.skipped.v1`, `sso_event.saml_login.success.v1`, `sync_run.failure.v1`, `sync_run.partial_failure.v1`, `sync_run.skipped.v1`, `sync_run.success.v1`, `user_security_event.lockout.v1`
|
|
152
158
|
* `filter` (object): Conditions on event fields that an event must meet to be delivered, keyed by dot-notation field path. All conditions must match.
|
|
153
|
-
* `delivery_policy` (object): Event Subscription delivery policy.
|
|
159
|
+
* `delivery_policy` (object): Event Subscription delivery policy. Overrides retry settings from each Event Target's delivery policy.
|
|
154
160
|
* `event_target_ids` (array(int64)): Event Target IDs this subscription sends to.
|
|
155
161
|
|
|
156
162
|
|
|
@@ -185,7 +191,7 @@ event_subscription.update(
|
|
|
185
191
|
enabled: true,
|
|
186
192
|
event_types: ["sync_run.failure.v1"],
|
|
187
193
|
filter: {"payload.sync_name":{"prefix":"Nightly"},"payload.event_errors":{"exists":true}},
|
|
188
|
-
delivery_policy: "
|
|
194
|
+
delivery_policy: {"max_attempts":3,"retry_delay_minutes":[5,30]},
|
|
189
195
|
event_target_ids: [1]
|
|
190
196
|
)
|
|
191
197
|
```
|
|
@@ -203,7 +209,7 @@ event_subscription.update(
|
|
|
203
209
|
* `enabled` (boolean): Whether this Event Subscription can dispatch events.
|
|
204
210
|
* `event_types` (array(string)): Event type strings matched by this subscription. Blank means all event types. Valid values: `automation_run.canceled.v1`, `automation_run.failure.v1`, `automation_run.failure_will_retry.v1`, `automation_run.partial_failure.v1`, `automation_run.partial_failure_will_retry.v1`, `automation_run.skipped.v1`, `automation_run.success.v1`, `expectation_evaluation.invalid.v1`, `expectation_evaluation.late.v1`, `expectation_evaluation.missing.v1`, `expectation_evaluation.success.v1`, `expectation_incident.acknowledged.v1`, `expectation_incident.open.v1`, `expectation_incident.resolved.v1`, `expectation_incident.snoozed.v1`, `external_event.client_log.failure.v1`, `external_event.client_log.partial_failure.v1`, `external_event.client_log.skipped.v1`, `external_event.client_log.success.v1`, `pending_work_event.failure.v1`, `pending_work_event.partial_failure.v1`, `pending_work_event.skipped.v1`, `pending_work_event.success.v1`, `siem_http_destination_event.failure.v1`, `siem_http_destination_event.partial_failure.v1`, `siem_http_destination_event.skipped.v1`, `siem_http_destination_event.success.v1`, `sso_event.ldap_login.failure.v1`, `sso_event.ldap_login.partial_failure.v1`, `sso_event.ldap_login.skipped.v1`, `sso_event.ldap_login.success.v1`, `sso_event.ldap_sync.failure.v1`, `sso_event.ldap_sync.partial_failure.v1`, `sso_event.ldap_sync.skipped.v1`, `sso_event.ldap_sync.success.v1`, `sso_event.saml_login.failure.v1`, `sso_event.saml_login.partial_failure.v1`, `sso_event.saml_login.skipped.v1`, `sso_event.saml_login.success.v1`, `sync_run.failure.v1`, `sync_run.partial_failure.v1`, `sync_run.skipped.v1`, `sync_run.success.v1`, `user_security_event.lockout.v1`
|
|
205
211
|
* `filter` (object): Conditions on event fields that an event must meet to be delivered, keyed by dot-notation field path. All conditions must match.
|
|
206
|
-
* `delivery_policy` (object): Event Subscription delivery policy.
|
|
212
|
+
* `delivery_policy` (object): Event Subscription delivery policy. Overrides retry settings from each Event Target's delivery policy.
|
|
207
213
|
* `event_target_ids` (array(int64)): Event Target IDs this subscription sends to.
|
|
208
214
|
|
|
209
215
|
|
data/docs/event_target.md
CHANGED
|
@@ -6,12 +6,24 @@
|
|
|
6
6
|
{
|
|
7
7
|
"id": 1,
|
|
8
8
|
"name": "example",
|
|
9
|
-
"target_type": "
|
|
9
|
+
"target_type": "webhook",
|
|
10
10
|
"workspace_id": 1,
|
|
11
11
|
"apply_to_all_workspaces": true,
|
|
12
12
|
"enabled": true,
|
|
13
|
-
"config":
|
|
14
|
-
|
|
13
|
+
"config": {
|
|
14
|
+
"url": "https://example.com/files-events",
|
|
15
|
+
"headers": {
|
|
16
|
+
"X-Example": "value"
|
|
17
|
+
},
|
|
18
|
+
"use_dedicated_ips": false
|
|
19
|
+
},
|
|
20
|
+
"delivery_policy": {
|
|
21
|
+
"max_attempts": 3,
|
|
22
|
+
"retry_delay_minutes": [
|
|
23
|
+
1,
|
|
24
|
+
10
|
|
25
|
+
]
|
|
26
|
+
},
|
|
15
27
|
"created_at": "2000-01-01T01:00:00Z",
|
|
16
28
|
"updated_at": "2000-01-01T01:00:00Z"
|
|
17
29
|
}
|
|
@@ -23,7 +35,7 @@
|
|
|
23
35
|
* `workspace_id` (int64): Workspace ID. 0 means the default workspace or site-wide.
|
|
24
36
|
* `apply_to_all_workspaces` (boolean): If true, this default-workspace target can receive events from all workspaces.
|
|
25
37
|
* `enabled` (boolean): Whether this Event Target can receive events.
|
|
26
|
-
* `config` (object): Event Target configuration.
|
|
38
|
+
* `config` (object): Event Target configuration. Fields depend on target_type.
|
|
27
39
|
* `delivery_policy` (object): Event Target delivery policy. Email and folder targets support batch_interval in seconds, between 600 and 86400. Slack and Teams support delivery_mode (immediate or subfolder_summary), summary_path (empty string means root), and summary_delay (15–300 seconds, default 60). The summary applies to matching file activity under summary_path; other matching events retain immediate delivery.
|
|
28
40
|
* `created_at` (date-time): Event Target create date/time.
|
|
29
41
|
* `updated_at` (date-time): Event Target update date/time.
|
|
@@ -68,9 +80,9 @@ Files::EventTarget.create(
|
|
|
68
80
|
workspace_id: 1,
|
|
69
81
|
apply_to_all_workspaces: true,
|
|
70
82
|
enabled: true,
|
|
71
|
-
config: "example",
|
|
72
|
-
delivery_policy: "
|
|
73
|
-
target_type: "
|
|
83
|
+
config: {"url":"https://example.com/files-events","headers":{"X-Example":"value"},"use_dedicated_ips":false},
|
|
84
|
+
delivery_policy: {"max_attempts":3,"retry_delay_minutes":[1,10]},
|
|
85
|
+
target_type: "webhook"
|
|
74
86
|
)
|
|
75
87
|
```
|
|
76
88
|
|
|
@@ -80,7 +92,7 @@ Files::EventTarget.create(
|
|
|
80
92
|
* `workspace_id` (int64): Workspace ID. 0 means the default workspace or site-wide.
|
|
81
93
|
* `apply_to_all_workspaces` (boolean): If true, this default-workspace target can receive events from all workspaces.
|
|
82
94
|
* `enabled` (boolean): Whether this Event Target can receive events.
|
|
83
|
-
* `config` (object): Required - Event Target configuration.
|
|
95
|
+
* `config` (object): Required - Event Target configuration. Fields depend on target_type.
|
|
84
96
|
* `delivery_policy` (object): Event Target delivery policy. Email and folder targets support batch_interval in seconds, between 600 and 86400. Slack and Teams support delivery_mode (immediate or subfolder_summary), summary_path (empty string means root), and summary_delay (15–300 seconds, default 60). The summary applies to matching file activity under summary_path; other matching events retain immediate delivery.
|
|
85
97
|
* `target_type` (string): Required - Event Target type.
|
|
86
98
|
|
|
@@ -95,8 +107,8 @@ Files::EventTarget.update(id,
|
|
|
95
107
|
workspace_id: 1,
|
|
96
108
|
apply_to_all_workspaces: true,
|
|
97
109
|
enabled: true,
|
|
98
|
-
config: "example",
|
|
99
|
-
delivery_policy: "
|
|
110
|
+
config: {"url":"https://example.com/files-events","headers":{"X-Example":"value"},"use_dedicated_ips":false},
|
|
111
|
+
delivery_policy: {"max_attempts":3,"retry_delay_minutes":[1,10]}
|
|
100
112
|
)
|
|
101
113
|
```
|
|
102
114
|
|
|
@@ -107,7 +119,7 @@ Files::EventTarget.update(id,
|
|
|
107
119
|
* `workspace_id` (int64): Workspace ID. 0 means the default workspace or site-wide.
|
|
108
120
|
* `apply_to_all_workspaces` (boolean): If true, this default-workspace target can receive events from all workspaces.
|
|
109
121
|
* `enabled` (boolean): Whether this Event Target can receive events.
|
|
110
|
-
* `config` (object): Event Target configuration.
|
|
122
|
+
* `config` (object): Event Target configuration. Fields depend on target_type.
|
|
111
123
|
* `delivery_policy` (object): Event Target delivery policy. Email and folder targets support batch_interval in seconds, between 600 and 86400. Slack and Teams support delivery_mode (immediate or subfolder_summary), summary_path (empty string means root), and summary_delay (15–300 seconds, default 60). The summary applies to matching file activity under summary_path; other matching events retain immediate delivery.
|
|
112
124
|
|
|
113
125
|
|
|
@@ -136,8 +148,8 @@ event_target.update(
|
|
|
136
148
|
workspace_id: 1,
|
|
137
149
|
apply_to_all_workspaces: true,
|
|
138
150
|
enabled: true,
|
|
139
|
-
config: "example",
|
|
140
|
-
delivery_policy: "
|
|
151
|
+
config: {"url":"https://example.com/files-events","headers":{"X-Example":"value"},"use_dedicated_ips":false},
|
|
152
|
+
delivery_policy: {"max_attempts":3,"retry_delay_minutes":[1,10]}
|
|
141
153
|
)
|
|
142
154
|
```
|
|
143
155
|
|
|
@@ -148,7 +160,7 @@ event_target.update(
|
|
|
148
160
|
* `workspace_id` (int64): Workspace ID. 0 means the default workspace or site-wide.
|
|
149
161
|
* `apply_to_all_workspaces` (boolean): If true, this default-workspace target can receive events from all workspaces.
|
|
150
162
|
* `enabled` (boolean): Whether this Event Target can receive events.
|
|
151
|
-
* `config` (object): Event Target configuration.
|
|
163
|
+
* `config` (object): Event Target configuration. Fields depend on target_type.
|
|
152
164
|
* `delivery_policy` (object): Event Target delivery policy. Email and folder targets support batch_interval in seconds, between 600 and 86400. Slack and Teams support delivery_mode (immediate or subfolder_summary), summary_path (empty string means root), and summary_delay (15–300 seconds, default 60). The summary applies to matching file activity under summary_path; other matching events retain immediate delivery.
|
|
153
165
|
|
|
154
166
|
|
data/docs/form_field_set.md
CHANGED
|
@@ -15,18 +15,13 @@
|
|
|
15
15
|
],
|
|
16
16
|
"form_fields": [
|
|
17
17
|
{
|
|
18
|
-
"
|
|
19
|
-
"
|
|
18
|
+
"label": "Department",
|
|
19
|
+
"field_type": "dropdown",
|
|
20
20
|
"required": true,
|
|
21
|
-
"help_text": "Help Text",
|
|
22
|
-
"field_type": "text",
|
|
23
21
|
"options_for_select": [
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
|
|
27
|
-
],
|
|
28
|
-
"default_option": "red",
|
|
29
|
-
"form_field_set_id": 1
|
|
22
|
+
"Finance",
|
|
23
|
+
"Sales"
|
|
24
|
+
]
|
|
30
25
|
}
|
|
31
26
|
],
|
|
32
27
|
"skip_name": true,
|
|
@@ -92,7 +87,7 @@ Files::FormFieldSet.create(
|
|
|
92
87
|
skip_email: false,
|
|
93
88
|
skip_name: false,
|
|
94
89
|
skip_company: false,
|
|
95
|
-
form_fields: [{"label":"
|
|
90
|
+
form_fields: [{"label":"Department","field_type":"dropdown","required":true,"options_for_select":["Finance","Sales"]}]
|
|
96
91
|
)
|
|
97
92
|
```
|
|
98
93
|
|
|
@@ -120,7 +115,7 @@ Files::FormFieldSet.update(id,
|
|
|
120
115
|
skip_email: false,
|
|
121
116
|
skip_name: false,
|
|
122
117
|
skip_company: false,
|
|
123
|
-
form_fields: [{"
|
|
118
|
+
form_fields: [{"label":"Department","field_type":"dropdown","required":true,"options_for_select":["Finance","Sales"]}]
|
|
124
119
|
)
|
|
125
120
|
```
|
|
126
121
|
|
|
@@ -163,7 +158,7 @@ form_field_set.update(
|
|
|
163
158
|
skip_email: false,
|
|
164
159
|
skip_name: false,
|
|
165
160
|
skip_company: false,
|
|
166
|
-
form_fields: [{"
|
|
161
|
+
form_fields: [{"label":"Department","field_type":"dropdown","required":true,"options_for_select":["Finance","Sales"]}]
|
|
167
162
|
)
|
|
168
163
|
```
|
|
169
164
|
|
data/docs/scheduled_export.md
CHANGED
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
* `name` (string): Name for this scheduled export.
|
|
45
45
|
* `export_type` (string): Export report type. Valid values: folder_size_audit, group_membership_audit, permission_audit, share_link_audit
|
|
46
46
|
* `report_name` (string): Human-readable report name.
|
|
47
|
-
* `export_options` (object):
|
|
47
|
+
* `export_options` (object): Options for the report selected by export_type.
|
|
48
48
|
* `user_id` (int64): Site Admin user who receives the completed export e-mail.
|
|
49
49
|
* `disabled` (boolean): If true, this scheduled export will not run.
|
|
50
50
|
* `trigger` (string): Schedule trigger type: `daily` or `custom_schedule`.
|
|
@@ -121,7 +121,7 @@ Files::ScheduledExport.create(
|
|
|
121
121
|
|
|
122
122
|
* `name` (string): Required - Name for this scheduled export.
|
|
123
123
|
* `export_type` (string): Required - Export report type. Valid values: folder_size_audit, group_membership_audit, permission_audit, share_link_audit
|
|
124
|
-
* `export_options` (object):
|
|
124
|
+
* `export_options` (object): Options for the report selected by export_type.
|
|
125
125
|
* `user_id` (int64): Site Admin user who receives the completed export e-mail.
|
|
126
126
|
* `disabled` (boolean): If true, this scheduled export will not run.
|
|
127
127
|
* `trigger` (string): Schedule trigger type: `daily` or `custom_schedule`.
|
|
@@ -163,7 +163,7 @@ Files::ScheduledExport.update(id,
|
|
|
163
163
|
* `id` (int64): Required - Scheduled Export ID.
|
|
164
164
|
* `name` (string): Name for this scheduled export.
|
|
165
165
|
* `export_type` (string): Export report type. Valid values: folder_size_audit, group_membership_audit, permission_audit, share_link_audit
|
|
166
|
-
* `export_options` (object):
|
|
166
|
+
* `export_options` (object): Options for the report selected by export_type.
|
|
167
167
|
* `user_id` (int64): Site Admin user who receives the completed export e-mail.
|
|
168
168
|
* `disabled` (boolean): If true, this scheduled export will not run.
|
|
169
169
|
* `trigger` (string): Schedule trigger type: `daily` or `custom_schedule`.
|
|
@@ -220,7 +220,7 @@ scheduled_export.update(
|
|
|
220
220
|
* `id` (int64): Required - Scheduled Export ID.
|
|
221
221
|
* `name` (string): Name for this scheduled export.
|
|
222
222
|
* `export_type` (string): Export report type. Valid values: folder_size_audit, group_membership_audit, permission_audit, share_link_audit
|
|
223
|
-
* `export_options` (object):
|
|
223
|
+
* `export_options` (object): Options for the report selected by export_type.
|
|
224
224
|
* `user_id` (int64): Site Admin user who receives the completed export e-mail.
|
|
225
225
|
* `disabled` (boolean): If true, this scheduled export will not run.
|
|
226
226
|
* `trigger` (string): Schedule trigger type: `daily` or `custom_schedule`.
|
data/docs/share_group.md
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
{
|
|
13
13
|
"name": "John Doe",
|
|
14
14
|
"company": "Acme Ltd",
|
|
15
|
-
"email": "johndoe@
|
|
15
|
+
"email": "johndoe@example.com"
|
|
16
16
|
}
|
|
17
17
|
]
|
|
18
18
|
}
|
|
@@ -64,7 +64,7 @@ Files::ShareGroup.create(
|
|
|
64
64
|
user_id: 1,
|
|
65
65
|
notes: "This group is defined for testing purposes",
|
|
66
66
|
name: "Test group 1",
|
|
67
|
-
members: [{"name":"John Doe","company":"Acme Ltd","email":"johndoe@
|
|
67
|
+
members: [{"name":"John Doe","company":"Acme Ltd","email":"johndoe@example.com"}]
|
|
68
68
|
)
|
|
69
69
|
```
|
|
70
70
|
|
|
@@ -84,7 +84,7 @@ Files::ShareGroup.create(
|
|
|
84
84
|
Files::ShareGroup.update(id,
|
|
85
85
|
notes: "This group is defined for testing purposes",
|
|
86
86
|
name: "Test group 1",
|
|
87
|
-
members: [{"name":"John Doe","company":"Acme Ltd","email":"johndoe@
|
|
87
|
+
members: [{"name":"John Doe","company":"Acme Ltd","email":"johndoe@example.com"}]
|
|
88
88
|
)
|
|
89
89
|
```
|
|
90
90
|
|
|
@@ -119,7 +119,7 @@ share_group = Files::ShareGroup.find(id)
|
|
|
119
119
|
share_group.update(
|
|
120
120
|
notes: "This group is defined for testing purposes",
|
|
121
121
|
name: "Test group 1",
|
|
122
|
-
members: [{"name":"John Doe","company":"Acme Ltd","email":"johndoe@
|
|
122
|
+
members: [{"name":"John Doe","company":"Acme Ltd","email":"johndoe@example.com"}]
|
|
123
123
|
)
|
|
124
124
|
```
|
|
125
125
|
|
data/docs/site.md
CHANGED
|
@@ -15,11 +15,7 @@
|
|
|
15
15
|
"workspace_admins": true,
|
|
16
16
|
"folder_admins": true,
|
|
17
17
|
"all_users": false,
|
|
18
|
-
"selected_group_members":
|
|
19
|
-
"group_ids": [
|
|
20
|
-
1,
|
|
21
|
-
2
|
|
22
|
-
]
|
|
18
|
+
"selected_group_members": false
|
|
23
19
|
}
|
|
24
20
|
},
|
|
25
21
|
"allowed_2fa_method_sms": true,
|
|
@@ -642,8 +638,9 @@ Files::Site.update(
|
|
|
642
638
|
motd_text: "example",
|
|
643
639
|
motd_use_for_ftp: false,
|
|
644
640
|
motd_use_for_sftp: false,
|
|
641
|
+
left_navigation_visibility: {"sharing":{"admin":true,"all":true},"automation_flow":{"admin":false,"all":false},"integrations":{"admin":false,"all":false},"clients_protocols":{"admin":false,"all":false}},
|
|
645
642
|
disable_all_ai_features: false,
|
|
646
|
-
ai_feature_availability: {"in_app_ai_assistant":{"site_admins":true,"workspace_admins":true,"folder_admins":true,"all_users":false,"selected_group_members":
|
|
643
|
+
ai_feature_availability: {"in_app_ai_assistant":{"site_admins":true,"workspace_admins":true,"folder_admins":true,"all_users":false,"selected_group_members":false}},
|
|
647
644
|
mcp_dcr_enabled: false,
|
|
648
645
|
additional_text_file_types: ["example"],
|
|
649
646
|
bundle_require_note: false,
|
|
@@ -110,7 +110,7 @@ module Files
|
|
|
110
110
|
@attributes[:filter] = value
|
|
111
111
|
end
|
|
112
112
|
|
|
113
|
-
# object - Event Subscription delivery policy.
|
|
113
|
+
# object - Event Subscription delivery policy. Overrides retry settings from each Event Target's delivery policy.
|
|
114
114
|
def delivery_policy
|
|
115
115
|
@attributes[:delivery_policy]
|
|
116
116
|
end
|
|
@@ -149,7 +149,7 @@ module Files
|
|
|
149
149
|
# enabled - boolean - Whether this Event Subscription can dispatch events.
|
|
150
150
|
# event_types - array(string) - Event type strings matched by this subscription. Blank means all event types. Valid values: `automation_run.canceled.v1`, `automation_run.failure.v1`, `automation_run.failure_will_retry.v1`, `automation_run.partial_failure.v1`, `automation_run.partial_failure_will_retry.v1`, `automation_run.skipped.v1`, `automation_run.success.v1`, `expectation_evaluation.invalid.v1`, `expectation_evaluation.late.v1`, `expectation_evaluation.missing.v1`, `expectation_evaluation.success.v1`, `expectation_incident.acknowledged.v1`, `expectation_incident.open.v1`, `expectation_incident.resolved.v1`, `expectation_incident.snoozed.v1`, `external_event.client_log.failure.v1`, `external_event.client_log.partial_failure.v1`, `external_event.client_log.skipped.v1`, `external_event.client_log.success.v1`, `pending_work_event.failure.v1`, `pending_work_event.partial_failure.v1`, `pending_work_event.skipped.v1`, `pending_work_event.success.v1`, `siem_http_destination_event.failure.v1`, `siem_http_destination_event.partial_failure.v1`, `siem_http_destination_event.skipped.v1`, `siem_http_destination_event.success.v1`, `sso_event.ldap_login.failure.v1`, `sso_event.ldap_login.partial_failure.v1`, `sso_event.ldap_login.skipped.v1`, `sso_event.ldap_login.success.v1`, `sso_event.ldap_sync.failure.v1`, `sso_event.ldap_sync.partial_failure.v1`, `sso_event.ldap_sync.skipped.v1`, `sso_event.ldap_sync.success.v1`, `sso_event.saml_login.failure.v1`, `sso_event.saml_login.partial_failure.v1`, `sso_event.saml_login.skipped.v1`, `sso_event.saml_login.success.v1`, `sync_run.failure.v1`, `sync_run.partial_failure.v1`, `sync_run.skipped.v1`, `sync_run.success.v1`, `user_security_event.lockout.v1`
|
|
151
151
|
# filter - object - Conditions on event fields that an event must meet to be delivered, keyed by dot-notation field path. All conditions must match.
|
|
152
|
-
# delivery_policy - object - Event Subscription delivery policy.
|
|
152
|
+
# delivery_policy - object - Event Subscription delivery policy. Overrides retry settings from each Event Target's delivery policy.
|
|
153
153
|
# event_target_ids - array(int64) - Event Target IDs this subscription sends to.
|
|
154
154
|
def update(params = {})
|
|
155
155
|
params = (params || {}).dup
|
|
@@ -267,7 +267,7 @@ module Files
|
|
|
267
267
|
# enabled - boolean - Whether this Event Subscription can dispatch events.
|
|
268
268
|
# event_types - array(string) - Event type strings matched by this subscription. Blank means all event types. Valid values: `automation_run.canceled.v1`, `automation_run.failure.v1`, `automation_run.failure_will_retry.v1`, `automation_run.partial_failure.v1`, `automation_run.partial_failure_will_retry.v1`, `automation_run.skipped.v1`, `automation_run.success.v1`, `expectation_evaluation.invalid.v1`, `expectation_evaluation.late.v1`, `expectation_evaluation.missing.v1`, `expectation_evaluation.success.v1`, `expectation_incident.acknowledged.v1`, `expectation_incident.open.v1`, `expectation_incident.resolved.v1`, `expectation_incident.snoozed.v1`, `external_event.client_log.failure.v1`, `external_event.client_log.partial_failure.v1`, `external_event.client_log.skipped.v1`, `external_event.client_log.success.v1`, `pending_work_event.failure.v1`, `pending_work_event.partial_failure.v1`, `pending_work_event.skipped.v1`, `pending_work_event.success.v1`, `siem_http_destination_event.failure.v1`, `siem_http_destination_event.partial_failure.v1`, `siem_http_destination_event.skipped.v1`, `siem_http_destination_event.success.v1`, `sso_event.ldap_login.failure.v1`, `sso_event.ldap_login.partial_failure.v1`, `sso_event.ldap_login.skipped.v1`, `sso_event.ldap_login.success.v1`, `sso_event.ldap_sync.failure.v1`, `sso_event.ldap_sync.partial_failure.v1`, `sso_event.ldap_sync.skipped.v1`, `sso_event.ldap_sync.success.v1`, `sso_event.saml_login.failure.v1`, `sso_event.saml_login.partial_failure.v1`, `sso_event.saml_login.skipped.v1`, `sso_event.saml_login.success.v1`, `sync_run.failure.v1`, `sync_run.partial_failure.v1`, `sync_run.skipped.v1`, `sync_run.success.v1`, `user_security_event.lockout.v1`
|
|
269
269
|
# filter - object - Conditions on event fields that an event must meet to be delivered, keyed by dot-notation field path. All conditions must match.
|
|
270
|
-
# delivery_policy - object - Event Subscription delivery policy.
|
|
270
|
+
# delivery_policy - object - Event Subscription delivery policy. Overrides retry settings from each Event Target's delivery policy.
|
|
271
271
|
# event_target_ids - array(int64) - Event Target IDs this subscription sends to.
|
|
272
272
|
#
|
|
273
273
|
# params:: Hash of API operation parameter values.
|
|
@@ -304,7 +304,7 @@ module Files
|
|
|
304
304
|
# enabled - boolean - Whether this Event Subscription can dispatch events.
|
|
305
305
|
# event_types - array(string) - Event type strings matched by this subscription. Blank means all event types. Valid values: `automation_run.canceled.v1`, `automation_run.failure.v1`, `automation_run.failure_will_retry.v1`, `automation_run.partial_failure.v1`, `automation_run.partial_failure_will_retry.v1`, `automation_run.skipped.v1`, `automation_run.success.v1`, `expectation_evaluation.invalid.v1`, `expectation_evaluation.late.v1`, `expectation_evaluation.missing.v1`, `expectation_evaluation.success.v1`, `expectation_incident.acknowledged.v1`, `expectation_incident.open.v1`, `expectation_incident.resolved.v1`, `expectation_incident.snoozed.v1`, `external_event.client_log.failure.v1`, `external_event.client_log.partial_failure.v1`, `external_event.client_log.skipped.v1`, `external_event.client_log.success.v1`, `pending_work_event.failure.v1`, `pending_work_event.partial_failure.v1`, `pending_work_event.skipped.v1`, `pending_work_event.success.v1`, `siem_http_destination_event.failure.v1`, `siem_http_destination_event.partial_failure.v1`, `siem_http_destination_event.skipped.v1`, `siem_http_destination_event.success.v1`, `sso_event.ldap_login.failure.v1`, `sso_event.ldap_login.partial_failure.v1`, `sso_event.ldap_login.skipped.v1`, `sso_event.ldap_login.success.v1`, `sso_event.ldap_sync.failure.v1`, `sso_event.ldap_sync.partial_failure.v1`, `sso_event.ldap_sync.skipped.v1`, `sso_event.ldap_sync.success.v1`, `sso_event.saml_login.failure.v1`, `sso_event.saml_login.partial_failure.v1`, `sso_event.saml_login.skipped.v1`, `sso_event.saml_login.success.v1`, `sync_run.failure.v1`, `sync_run.partial_failure.v1`, `sync_run.skipped.v1`, `sync_run.success.v1`, `user_security_event.lockout.v1`
|
|
306
306
|
# filter - object - Conditions on event fields that an event must meet to be delivered, keyed by dot-notation field path. All conditions must match.
|
|
307
|
-
# delivery_policy - object - Event Subscription delivery policy.
|
|
307
|
+
# delivery_policy - object - Event Subscription delivery policy. Overrides retry settings from each Event Target's delivery policy.
|
|
308
308
|
# event_target_ids - array(int64) - Event Target IDs this subscription sends to.
|
|
309
309
|
#
|
|
310
310
|
# params:: Hash of API operation parameter values.
|
|
@@ -65,7 +65,7 @@ module Files
|
|
|
65
65
|
@attributes[:enabled] = value
|
|
66
66
|
end
|
|
67
67
|
|
|
68
|
-
# object - Event Target configuration.
|
|
68
|
+
# object - Event Target configuration. Fields depend on target_type.
|
|
69
69
|
def config
|
|
70
70
|
@attributes[:config]
|
|
71
71
|
end
|
|
@@ -98,7 +98,7 @@ module Files
|
|
|
98
98
|
# workspace_id - int64 - Workspace ID. 0 means the default workspace or site-wide.
|
|
99
99
|
# apply_to_all_workspaces - boolean - If true, this default-workspace target can receive events from all workspaces.
|
|
100
100
|
# enabled - boolean - Whether this Event Target can receive events.
|
|
101
|
-
# config - object - Event Target configuration.
|
|
101
|
+
# config - object - Event Target configuration. Fields depend on target_type.
|
|
102
102
|
# delivery_policy - object - Event Target delivery policy. Email and folder targets support batch_interval in seconds, between 600 and 86400. Slack and Teams support delivery_mode (immediate or subfolder_summary), summary_path (empty string means root), and summary_delay (15–300 seconds, default 60). The summary applies to matching file activity under summary_path; other matching events retain immediate delivery.
|
|
103
103
|
def update(params = {})
|
|
104
104
|
params = (params || {}).dup
|
|
@@ -204,7 +204,7 @@ module Files
|
|
|
204
204
|
# workspace_id - int64 - Workspace ID. 0 means the default workspace or site-wide.
|
|
205
205
|
# apply_to_all_workspaces - boolean - If true, this default-workspace target can receive events from all workspaces.
|
|
206
206
|
# enabled - boolean - Whether this Event Target can receive events.
|
|
207
|
-
# config (required) - object - Event Target configuration.
|
|
207
|
+
# config (required) - object - Event Target configuration. Fields depend on target_type.
|
|
208
208
|
# delivery_policy - object - Event Target delivery policy. Email and folder targets support batch_interval in seconds, between 600 and 86400. Slack and Teams support delivery_mode (immediate or subfolder_summary), summary_path (empty string means root), and summary_delay (15–300 seconds, default 60). The summary applies to matching file activity under summary_path; other matching events retain immediate delivery.
|
|
209
209
|
# target_type (required) - string - Event Target type.
|
|
210
210
|
#
|
|
@@ -233,7 +233,7 @@ module Files
|
|
|
233
233
|
# workspace_id - int64 - Workspace ID. 0 means the default workspace or site-wide.
|
|
234
234
|
# apply_to_all_workspaces - boolean - If true, this default-workspace target can receive events from all workspaces.
|
|
235
235
|
# enabled - boolean - Whether this Event Target can receive events.
|
|
236
|
-
# config - object - Event Target configuration.
|
|
236
|
+
# config - object - Event Target configuration. Fields depend on target_type.
|
|
237
237
|
# delivery_policy - object - Event Target delivery policy. Email and folder targets support batch_interval in seconds, between 600 and 86400. Slack and Teams support delivery_mode (immediate or subfolder_summary), summary_path (empty string means root), and summary_delay (15–300 seconds, default 60). The summary applies to matching file activity under summary_path; other matching events retain immediate delivery.
|
|
238
238
|
#
|
|
239
239
|
# params:: Hash of API operation parameter values.
|
|
@@ -47,7 +47,7 @@ module Files
|
|
|
47
47
|
@attributes[:report_name] = value
|
|
48
48
|
end
|
|
49
49
|
|
|
50
|
-
# object -
|
|
50
|
+
# object - Options for the report selected by export_type.
|
|
51
51
|
def export_options
|
|
52
52
|
@attributes[:export_options]
|
|
53
53
|
end
|
|
@@ -204,7 +204,7 @@ module Files
|
|
|
204
204
|
# Parameters:
|
|
205
205
|
# name - string - Name for this scheduled export.
|
|
206
206
|
# export_type - string - Export report type. Valid values: folder_size_audit, group_membership_audit, permission_audit, share_link_audit
|
|
207
|
-
# export_options - object -
|
|
207
|
+
# export_options - object - Options for the report selected by export_type.
|
|
208
208
|
# user_id - int64 - Site Admin user who receives the completed export e-mail.
|
|
209
209
|
# disabled - boolean - If true, this scheduled export will not run.
|
|
210
210
|
# trigger - string - Schedule trigger type: `daily` or `custom_schedule`.
|
|
@@ -328,7 +328,7 @@ module Files
|
|
|
328
328
|
# Parameters:
|
|
329
329
|
# name (required) - string - Name for this scheduled export.
|
|
330
330
|
# export_type (required) - string - Export report type. Valid values: folder_size_audit, group_membership_audit, permission_audit, share_link_audit
|
|
331
|
-
# export_options - object -
|
|
331
|
+
# export_options - object - Options for the report selected by export_type.
|
|
332
332
|
# user_id - int64 - Site Admin user who receives the completed export e-mail.
|
|
333
333
|
# disabled - boolean - If true, this scheduled export will not run.
|
|
334
334
|
# trigger - string - Schedule trigger type: `daily` or `custom_schedule`.
|
|
@@ -370,7 +370,7 @@ module Files
|
|
|
370
370
|
# Parameters:
|
|
371
371
|
# name - string - Name for this scheduled export.
|
|
372
372
|
# export_type - string - Export report type. Valid values: folder_size_audit, group_membership_audit, permission_audit, share_link_audit
|
|
373
|
-
# export_options - object -
|
|
373
|
+
# export_options - object - Options for the report selected by export_type.
|
|
374
374
|
# user_id - int64 - Site Admin user who receives the completed export e-mail.
|
|
375
375
|
# disabled - boolean - If true, this scheduled export will not run.
|
|
376
376
|
# trigger - string - Schedule trigger type: `daily` or `custom_schedule`.
|
data/spec/models/file_spec.rb
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
require "spec_helper"
|
|
2
2
|
require "tempfile"
|
|
3
3
|
|
|
4
|
-
RSpec.describe Files::File, :with_test_folder
|
|
4
|
+
RSpec.describe Files::File, :with_test_folder do
|
|
5
5
|
describe "#read" do
|
|
6
6
|
before do
|
|
7
7
|
Files::File.open(test_folder.join("[[strange stuff]]#yes.text").to_s, 'w', options) do |f|
|
|
@@ -17,7 +17,8 @@ RSpec.describe Files::File, :with_test_folder, skip: ENV.fetch("GITLAB", nil) do
|
|
|
17
17
|
context "stream failure" do
|
|
18
18
|
let(:expired_download) { "https://s3.amazonaws.com/objects.brickftp.com/metadata/37868/52f55a21-1685-46aa-aaff-99ca8b172c00?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIEWLY3MN4YGZQOWA%2F20210621%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20210621T202802Z&X-Amz-Expires=60&X-Amz-SignedHeaders=host&response-cache-control=no-cache%2C%20no-store&response-content-disposition=attachment%3B%20filename%3D%22write-as-io.txt%22&response-content-type=text%2Fplain&X-Amz-Signature=83d5b5789cbd2282bfea6e560e4319385135204dc0df3217930f96905c9cb18f" }
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
# The download URL is a real, expired S3 URL outside the simulator, so CI never requests it.
|
|
21
|
+
it "waits for io to be ready", skip: ENV.fetch("GITLAB", nil) do
|
|
21
22
|
file = Files::File.new
|
|
22
23
|
allow(file).to receive(:download_uri_with_load).and_return(expired_download)
|
|
23
24
|
expect { file.read_io }.to raise_error('403 "Forbidden"')
|
|
@@ -40,10 +41,10 @@ RSpec.describe Files::File, :with_test_folder, skip: ENV.fetch("GITLAB", nil) do
|
|
|
40
41
|
end
|
|
41
42
|
|
|
42
43
|
it "works for file with zero bytes" do
|
|
43
|
-
file = Files::File.open("zero-byte.txt", 'w', options)
|
|
44
|
+
file = Files::File.open(test_folder.join("zero-byte.txt").to_s, 'w', options)
|
|
44
45
|
file.write("")
|
|
45
46
|
file.close
|
|
46
|
-
file = Files::File.find("zero-byte.txt", {}, options)
|
|
47
|
+
file = Files::File.find(test_folder.join("zero-byte.txt").to_s, {}, options)
|
|
47
48
|
expect(file.read_io.read).to eq("")
|
|
48
49
|
end
|
|
49
50
|
end
|
|
@@ -83,7 +84,8 @@ RSpec.describe Files::File, :with_test_folder, skip: ENV.fetch("GITLAB", nil) do
|
|
|
83
84
|
temp_file.close
|
|
84
85
|
end
|
|
85
86
|
|
|
86
|
-
|
|
87
|
+
# The simulator answers with_rename with 501 (simulation/not-supported), so CI leaves this probe out.
|
|
88
|
+
it "will send with_rename", skip: ENV.fetch("GITLAB", nil) do
|
|
87
89
|
path = test_folder.join("with_rename_test.txt").to_s
|
|
88
90
|
io = StringIO.new("I am a string via IO")
|
|
89
91
|
file = Files::File.new({ path: path, with_rename: true }, options)
|
|
@@ -123,8 +125,8 @@ RSpec.describe Files::File, :with_test_folder, skip: ENV.fetch("GITLAB", nil) do
|
|
|
123
125
|
end
|
|
124
126
|
|
|
125
127
|
it "returns a directory type" do
|
|
126
|
-
Files::Folder.mkdir("testdir", {}, options)
|
|
127
|
-
expect(Files::File.from_path("testdir", options).type).to eq("directory")
|
|
128
|
+
Files::Folder.mkdir(test_folder.join("testdir").to_s, {}, options)
|
|
129
|
+
expect(Files::File.from_path(test_folder.join("testdir").to_s, options).type).to eq("directory")
|
|
128
130
|
end
|
|
129
131
|
end
|
|
130
132
|
end
|
data/spec/models/folder_spec.rb
CHANGED
|
@@ -1,28 +1,33 @@
|
|
|
1
1
|
require "spec_helper"
|
|
2
2
|
|
|
3
3
|
RSpec.describe Files::Folder, :with_test_folder do
|
|
4
|
-
|
|
4
|
+
describe "#list_for" do
|
|
5
|
+
# The shared fixture already makes test_folder/nested, so the listing gets a folder of its own.
|
|
6
|
+
let(:listed_folder) { test_folder.join("listed") }
|
|
7
|
+
|
|
5
8
|
before do
|
|
6
|
-
Files::
|
|
9
|
+
Files::Folder.mkdir(listed_folder.to_s, {}, options)
|
|
10
|
+
|
|
11
|
+
Files::File.open(listed_folder.join("example.txt").to_s, 'w', options) do |f|
|
|
7
12
|
f.write("my text")
|
|
8
13
|
end
|
|
9
14
|
|
|
10
|
-
Files::Folder.mkdir(
|
|
15
|
+
Files::Folder.mkdir(listed_folder.join("other").to_s, {}, options)
|
|
11
16
|
|
|
12
|
-
Files::File.open(
|
|
17
|
+
Files::File.open(listed_folder.join("other/example2.txt").to_s, 'w', options) do |f|
|
|
13
18
|
f.write("my text 2")
|
|
14
19
|
end
|
|
15
20
|
end
|
|
16
21
|
|
|
17
22
|
it "lists from the root" do
|
|
18
|
-
results = described_class.list_for(
|
|
23
|
+
results = described_class.list_for(listed_folder.to_s, {}, options)
|
|
19
24
|
|
|
20
|
-
expect(results.map(&:path).to_a).to match_array([
|
|
25
|
+
expect(results.map(&:path).to_a).to match_array([ listed_folder.join("example.txt").to_s, listed_folder.join("other").to_s ])
|
|
21
26
|
expect(results.map(&:type).to_a).to match_array(%w[file directory])
|
|
22
27
|
end
|
|
23
28
|
end
|
|
24
29
|
|
|
25
|
-
|
|
30
|
+
describe "#delete" do
|
|
26
31
|
it "deletes a folder" do
|
|
27
32
|
Files::Folder.mkdir(test_folder.join("my-new-folder").to_s, {}, options)
|
|
28
33
|
Files::Folder.delete(test_folder.join("my-new-folder").to_s, {}, options)
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: files.com
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.1.
|
|
4
|
+
version: 1.1.803
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- files.com
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-10-
|
|
11
|
+
date: 2026-10-27 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: addressable
|