workos 2.5.0 → 2.6.0

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 (28) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +14 -12
  3. data/lib/workos/audit_log_export.rb +55 -0
  4. data/lib/workos/audit_logs.rb +107 -0
  5. data/lib/workos/client.rb +3 -1
  6. data/lib/workos/errors.rb +15 -1
  7. data/lib/workos/organizations.rb +4 -1
  8. data/lib/workos/types/audit_log_export_struct.rb +17 -0
  9. data/lib/workos/types.rb +1 -0
  10. data/lib/workos/version.rb +1 -1
  11. data/lib/workos/webhooks.rb +49 -2
  12. data/lib/workos.rb +2 -0
  13. data/sorbet/rbi/sorbet-typed/lib/rainbow/all/rainbow.rbi +5 -5
  14. data/spec/lib/workos/audit_logs_spec.rb +149 -0
  15. data/spec/lib/workos/organizations_spec.rb +73 -9
  16. data/spec/lib/workos/webhooks_spec.rb +130 -84
  17. data/spec/support/fixtures/vcr_cassettes/audit_logs/create_event.yml +59 -0
  18. data/spec/support/fixtures/vcr_cassettes/audit_logs/create_event_custom_idempotency_key.yml +60 -0
  19. data/spec/support/fixtures/vcr_cassettes/audit_logs/create_event_invalid.yml +59 -0
  20. data/spec/support/fixtures/vcr_cassettes/audit_logs/create_export.yml +76 -0
  21. data/spec/support/fixtures/vcr_cassettes/audit_logs/create_export_with_filters.yml +78 -0
  22. data/spec/support/fixtures/vcr_cassettes/audit_logs/get_export.yml +73 -0
  23. data/spec/support/fixtures/vcr_cassettes/organization/create_with_duplicate_idempotency_key_and_different_payload.yml +155 -0
  24. data/spec/support/fixtures/vcr_cassettes/organization/create_with_duplicate_idempotency_key_and_payload.yml +154 -0
  25. data/spec/support/fixtures/vcr_cassettes/organization/create_with_idempotency_key.yml +79 -0
  26. data/spec/support/shared_examples/client_spec.rb +14 -0
  27. data/spec/support/webhook_payload.txt +1 -1
  28. metadata +26 -3
@@ -0,0 +1,73 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.workos.com/audit_logs/exports/audit_log_export_123
6
+ headers:
7
+ Content-Type:
8
+ - application/json
9
+ Accept-Encoding:
10
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
11
+ Accept:
12
+ - "*/*"
13
+ User-Agent:
14
+ - WorkOS; ruby/3.0.2; x86_64-darwin21; v2.5.1
15
+ Authorization:
16
+ - "Bearer example_api_key"
17
+ response:
18
+ status:
19
+ code: 200
20
+ message: OK
21
+ headers:
22
+ Date:
23
+ - Mon, 22 Aug 2022 17:47:49 GMT
24
+ Content-Type:
25
+ - application/json; charset=utf-8
26
+ Content-Length:
27
+ - "26"
28
+ Connection:
29
+ - keep-alive
30
+ Cf-Ray:
31
+ - 73ed6f92c9161847-ATL
32
+ Etag:
33
+ - W/"1a-pljHtlo127JYJR4E/RYOPb6ucbw"
34
+ Strict-Transport-Security:
35
+ - max-age=15552000; includeSubDomains
36
+ Vary:
37
+ - Origin, Accept-Encoding
38
+ Via:
39
+ - 1.1 spaces-router (a302eeabfffb)
40
+ Cf-Cache-Status:
41
+ - DYNAMIC
42
+ Access-Control-Allow-Credentials:
43
+ - "true"
44
+ Content-Security-Policy:
45
+ - "default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self'
46
+ https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src
47
+ 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"
48
+ Expect-Ct:
49
+ - max-age=0
50
+ Referrer-Policy:
51
+ - no-referrer
52
+ X-Content-Type-Options:
53
+ - nosniff
54
+ X-Dns-Prefetch-Control:
55
+ - "off"
56
+ X-Download-Options:
57
+ - noopen
58
+ X-Frame-Options:
59
+ - SAMEORIGIN
60
+ X-Permitted-Cross-Domain-Policies:
61
+ - none
62
+ X-Request-Id:
63
+ - eb09b349-08f4-b79b-ccb2-87fa4609c1ee
64
+ X-Xss-Protection:
65
+ - "0"
66
+ Server:
67
+ - cloudflare
68
+ body:
69
+ encoding: UTF-8
70
+ string: '{"object":"audit_log_export","id":"audit_log_export_123","state":"ready","url":"https://audit-logs.com/download.csv","created_at":"2022-08-22T15:04:19.704Z","updated_at":"2022-08-22T15:04:19.704Z"}'
71
+ http_version:
72
+ recorded_at: Mon, 22 Aug 2022 17:47:49 GMT
73
+ recorded_with: VCR 5.0.0
@@ -0,0 +1,155 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.workos.com/organizations
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"domains":["example.me"],"name":"Test Organization","allow_profiles_outside_organization":null}'
9
+ headers:
10
+ Content-Type:
11
+ - application/json
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ Accept:
15
+ - "*/*"
16
+ User-Agent:
17
+ - WorkOS; ruby/3.0.2; x86_64-darwin19; v2.5.1
18
+ Authorization:
19
+ - Bearer <API_KEY>
20
+ Idempotency-Key:
21
+ - bar
22
+ response:
23
+ status:
24
+ code: 201
25
+ message: Created
26
+ headers:
27
+ Date:
28
+ - Fri, 19 Aug 2022 13:40:02 GMT
29
+ Content-Type:
30
+ - application/json; charset=utf-8
31
+ Content-Length:
32
+ - '326'
33
+ Connection:
34
+ - keep-alive
35
+ Access-Control-Allow-Credentials:
36
+ - 'true'
37
+ Content-Security-Policy:
38
+ - 'default-src ''self'';base-uri ''self'';block-all-mixed-content;font-src ''self''
39
+ https: data:;frame-ancestors ''self'';img-src ''self'' data:;object-src ''none'';script-src
40
+ ''self'';script-src-attr ''none'';style-src ''self'' https: ''unsafe-inline'';upgrade-insecure-requests'
41
+ Etag:
42
+ - W/"146-afNLOMwUQIrtlSBL9lu7IDJkGmE"
43
+ Expect-Ct:
44
+ - max-age=0
45
+ Referrer-Policy:
46
+ - no-referrer
47
+ Strict-Transport-Security:
48
+ - max-age=15552000; includeSubDomains
49
+ Vary:
50
+ - Origin, Accept-Encoding
51
+ Via:
52
+ - 1.1 spaces-router (a302eeabfffb)
53
+ X-Content-Type-Options:
54
+ - nosniff
55
+ X-Dns-Prefetch-Control:
56
+ - 'off'
57
+ X-Download-Options:
58
+ - noopen
59
+ X-Frame-Options:
60
+ - SAMEORIGIN
61
+ X-Permitted-Cross-Domain-Policies:
62
+ - none
63
+ X-Request-Id:
64
+ - e9f565ee-a58a-b2a1-5e71-93f14afdd747
65
+ X-Xss-Protection:
66
+ - '0'
67
+ Cf-Cache-Status:
68
+ - DYNAMIC
69
+ Server:
70
+ - cloudflare
71
+ Cf-Ray:
72
+ - 73d34c789f228e9c-DEN
73
+ body:
74
+ encoding: UTF-8
75
+ string: '{"object":"organization","id":"org_01GAV5A1WPHEZSV53EAPCTBR9B","name":"Test
76
+ Organization","allow_profiles_outside_organization":false,"created_at":"2022-08-19T13:40:02.070Z","updated_at":"2022-08-19T13:40:02.070Z","domains":[{"object":"organization_domain","id":"org_domain_01GAV5A1ZFCW6RQDRV10ZE483J","domain":"example.me"}]}'
77
+ http_version:
78
+ recorded_at: Fri, 19 Aug 2022 13:40:02 GMT
79
+ - request:
80
+ method: post
81
+ uri: https://api.workos.com/organizations
82
+ body:
83
+ encoding: UTF-8
84
+ string: '{"domains":["example.me"],"name":"Organization Test","allow_profiles_outside_organization":null}'
85
+ headers:
86
+ Content-Type:
87
+ - application/json
88
+ Accept-Encoding:
89
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
90
+ Accept:
91
+ - "*/*"
92
+ User-Agent:
93
+ - WorkOS; ruby/3.0.2; x86_64-darwin19; v2.5.1
94
+ Authorization:
95
+ - Bearer <API_KEY>
96
+ Idempotency-Key:
97
+ - bar
98
+ response:
99
+ status:
100
+ code: 400
101
+ message: Bad Request
102
+ headers:
103
+ Date:
104
+ - Fri, 19 Aug 2022 13:40:02 GMT
105
+ Content-Type:
106
+ - application/json; charset=utf-8
107
+ Content-Length:
108
+ - '128'
109
+ Connection:
110
+ - keep-alive
111
+ Access-Control-Allow-Credentials:
112
+ - 'true'
113
+ Content-Security-Policy:
114
+ - 'default-src ''self'';base-uri ''self'';block-all-mixed-content;font-src ''self''
115
+ https: data:;frame-ancestors ''self'';img-src ''self'' data:;object-src ''none'';script-src
116
+ ''self'';script-src-attr ''none'';style-src ''self'' https: ''unsafe-inline'';upgrade-insecure-requests'
117
+ Etag:
118
+ - W/"80-jILfJK6SRXhN8oqz8Na6yutVwHM"
119
+ Expect-Ct:
120
+ - max-age=0
121
+ Referrer-Policy:
122
+ - no-referrer
123
+ Strict-Transport-Security:
124
+ - max-age=15552000; includeSubDomains
125
+ Vary:
126
+ - Origin, Accept-Encoding
127
+ Via:
128
+ - 1.1 spaces-router (a302eeabfffb)
129
+ X-Content-Type-Options:
130
+ - nosniff
131
+ X-Dns-Prefetch-Control:
132
+ - 'off'
133
+ X-Download-Options:
134
+ - noopen
135
+ X-Frame-Options:
136
+ - SAMEORIGIN
137
+ X-Permitted-Cross-Domain-Policies:
138
+ - none
139
+ X-Request-Id:
140
+ - afbf7322-2e3e-22ae-62a6-08ecdd247a30
141
+ X-Xss-Protection:
142
+ - '0'
143
+ Cf-Cache-Status:
144
+ - DYNAMIC
145
+ Server:
146
+ - cloudflare
147
+ Cf-Ray:
148
+ - 73d34c7a6b778e9c-DEN
149
+ body:
150
+ encoding: UTF-8
151
+ string: '{"message":"Another idempotency key (bar) with different request parameters
152
+ was found. Please use a different idempotency key."}'
153
+ http_version:
154
+ recorded_at: Fri, 19 Aug 2022 13:40:02 GMT
155
+ recorded_with: VCR 5.0.0
@@ -0,0 +1,154 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.workos.com/organizations
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"domains":["example.com"],"name":"Test Organization","allow_profiles_outside_organization":null}'
9
+ headers:
10
+ Content-Type:
11
+ - application/json
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ Accept:
15
+ - "*/*"
16
+ User-Agent:
17
+ - WorkOS; ruby/3.0.2; x86_64-darwin19; v2.5.1
18
+ Authorization:
19
+ - Bearer <API_KEY>
20
+ Idempotency-Key:
21
+ - foo
22
+ response:
23
+ status:
24
+ code: 201
25
+ message: Created
26
+ headers:
27
+ Date:
28
+ - Fri, 19 Aug 2022 13:40:01 GMT
29
+ Content-Type:
30
+ - application/json; charset=utf-8
31
+ Content-Length:
32
+ - '327'
33
+ Connection:
34
+ - keep-alive
35
+ Access-Control-Allow-Credentials:
36
+ - 'true'
37
+ Content-Security-Policy:
38
+ - 'default-src ''self'';base-uri ''self'';block-all-mixed-content;font-src ''self''
39
+ https: data:;frame-ancestors ''self'';img-src ''self'' data:;object-src ''none'';script-src
40
+ ''self'';script-src-attr ''none'';style-src ''self'' https: ''unsafe-inline'';upgrade-insecure-requests'
41
+ Etag:
42
+ - W/"147-YF7FuE2/wP7OMOkruNN4e9OkzCY"
43
+ Expect-Ct:
44
+ - max-age=0
45
+ Referrer-Policy:
46
+ - no-referrer
47
+ Strict-Transport-Security:
48
+ - max-age=15552000; includeSubDomains
49
+ Vary:
50
+ - Origin, Accept-Encoding
51
+ Via:
52
+ - 1.1 spaces-router (a302eeabfffb)
53
+ X-Content-Type-Options:
54
+ - nosniff
55
+ X-Dns-Prefetch-Control:
56
+ - 'off'
57
+ X-Download-Options:
58
+ - noopen
59
+ X-Frame-Options:
60
+ - SAMEORIGIN
61
+ X-Permitted-Cross-Domain-Policies:
62
+ - none
63
+ X-Request-Id:
64
+ - 6162afb9-dba5-9e18-7d3a-f373facb51e1
65
+ X-Xss-Protection:
66
+ - '0'
67
+ Cf-Cache-Status:
68
+ - DYNAMIC
69
+ Server:
70
+ - cloudflare
71
+ Cf-Ray:
72
+ - 73d34c747c868eaa-DEN
73
+ body:
74
+ encoding: UTF-8
75
+ string: '{"object":"organization","id":"org_01GAV5A1B248PX6WRB13XARPTZ","name":"Test
76
+ Organization","allow_profiles_outside_organization":false,"created_at":"2022-08-19T13:40:01.505Z","updated_at":"2022-08-19T13:40:01.505Z","domains":[{"object":"organization_domain","id":"org_domain_01GAV5A1BBGR8WCV5971BFZAQX","domain":"example.com"}]}'
77
+ http_version:
78
+ recorded_at: Fri, 19 Aug 2022 13:40:01 GMT
79
+ - request:
80
+ method: post
81
+ uri: https://api.workos.com/organizations
82
+ body:
83
+ encoding: UTF-8
84
+ string: '{"domains":["example.com"],"name":"Test Organization","allow_profiles_outside_organization":null}'
85
+ headers:
86
+ Content-Type:
87
+ - application/json
88
+ Accept-Encoding:
89
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
90
+ Accept:
91
+ - "*/*"
92
+ User-Agent:
93
+ - WorkOS; ruby/3.0.2; x86_64-darwin19; v2.5.1
94
+ Authorization:
95
+ - Bearer <API_KEY>
96
+ Idempotency-Key:
97
+ - foo
98
+ response:
99
+ status:
100
+ code: 201
101
+ message: Created
102
+ headers:
103
+ Date:
104
+ - Fri, 19 Aug 2022 13:40:01 GMT
105
+ Content-Type:
106
+ - application/json; charset=utf-8
107
+ Content-Length:
108
+ - '327'
109
+ Connection:
110
+ - keep-alive
111
+ Access-Control-Allow-Credentials:
112
+ - 'true'
113
+ Content-Security-Policy:
114
+ - 'default-src ''self'';base-uri ''self'';block-all-mixed-content;font-src ''self''
115
+ https: data:;frame-ancestors ''self'';img-src ''self'' data:;object-src ''none'';script-src
116
+ ''self'';script-src-attr ''none'';style-src ''self'' https: ''unsafe-inline'';upgrade-insecure-requests'
117
+ Etag:
118
+ - W/"147-6F+ebkGefNxiuuyTjUt6cZjj5f4"
119
+ Expect-Ct:
120
+ - max-age=0
121
+ Referrer-Policy:
122
+ - no-referrer
123
+ Strict-Transport-Security:
124
+ - max-age=15552000; includeSubDomains
125
+ Vary:
126
+ - Origin, Accept-Encoding
127
+ Via:
128
+ - 1.1 spaces-router (a302eeabfffb)
129
+ X-Content-Type-Options:
130
+ - nosniff
131
+ X-Dns-Prefetch-Control:
132
+ - 'off'
133
+ X-Download-Options:
134
+ - noopen
135
+ X-Frame-Options:
136
+ - SAMEORIGIN
137
+ X-Permitted-Cross-Domain-Policies:
138
+ - none
139
+ X-Request-Id:
140
+ - 04aa9022-1a6a-8041-ec60-e218f5fd8ffa
141
+ X-Xss-Protection:
142
+ - '0'
143
+ Cf-Cache-Status:
144
+ - DYNAMIC
145
+ Server:
146
+ - cloudflare
147
+ Cf-Ray:
148
+ - 73d34c765de88ea8-DEN
149
+ body:
150
+ encoding: UTF-8
151
+ string: '{"id":"org_01GAV5A1B248PX6WRB13XARPTZ","name":"Test Organization","object":"organization","domains":[{"id":"org_domain_01GAV5A1BBGR8WCV5971BFZAQX","domain":"example.com","object":"organization_domain"}],"created_at":"2022-08-19T13:40:01.505Z","updated_at":"2022-08-19T13:40:01.505Z","allow_profiles_outside_organization":false}'
152
+ http_version:
153
+ recorded_at: Fri, 19 Aug 2022 13:40:01 GMT
154
+ recorded_with: VCR 5.0.0
@@ -0,0 +1,79 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.workos.com/organizations
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"domains":["example.io"],"name":"Test Organization","allow_profiles_outside_organization":null}'
9
+ headers:
10
+ Content-Type:
11
+ - application/json
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ Accept:
15
+ - "*/*"
16
+ User-Agent:
17
+ - WorkOS; ruby/3.0.2; x86_64-darwin19; v2.5.1
18
+ Authorization:
19
+ - Bearer <API_KEY>
20
+ Idempotency-Key:
21
+ - key
22
+ response:
23
+ status:
24
+ code: 201
25
+ message: Created
26
+ headers:
27
+ Date:
28
+ - Fri, 19 Aug 2022 13:40:01 GMT
29
+ Content-Type:
30
+ - application/json; charset=utf-8
31
+ Content-Length:
32
+ - '326'
33
+ Connection:
34
+ - keep-alive
35
+ Access-Control-Allow-Credentials:
36
+ - 'true'
37
+ Content-Security-Policy:
38
+ - 'default-src ''self'';base-uri ''self'';block-all-mixed-content;font-src ''self''
39
+ https: data:;frame-ancestors ''self'';img-src ''self'' data:;object-src ''none'';script-src
40
+ ''self'';script-src-attr ''none'';style-src ''self'' https: ''unsafe-inline'';upgrade-insecure-requests'
41
+ Etag:
42
+ - W/"146-1Y3p/YYf611sd+3wEGWn2SaT/YM"
43
+ Expect-Ct:
44
+ - max-age=0
45
+ Referrer-Policy:
46
+ - no-referrer
47
+ Strict-Transport-Security:
48
+ - max-age=15552000; includeSubDomains
49
+ Vary:
50
+ - Origin, Accept-Encoding
51
+ Via:
52
+ - 1.1 spaces-router (a302eeabfffb)
53
+ X-Content-Type-Options:
54
+ - nosniff
55
+ X-Dns-Prefetch-Control:
56
+ - 'off'
57
+ X-Download-Options:
58
+ - noopen
59
+ X-Frame-Options:
60
+ - SAMEORIGIN
61
+ X-Permitted-Cross-Domain-Policies:
62
+ - none
63
+ X-Request-Id:
64
+ - 47225769-fc34-e3c4-f4bd-b98b85e438bb
65
+ X-Xss-Protection:
66
+ - '0'
67
+ Cf-Cache-Status:
68
+ - DYNAMIC
69
+ Server:
70
+ - cloudflare
71
+ Cf-Ray:
72
+ - 73d34c722ae5c7b9-DEN
73
+ body:
74
+ encoding: UTF-8
75
+ string: '{"object":"organization","id":"org_01GAV5A104T7PM2DHC3VQH8MP6","name":"Test
76
+ Organization","allow_profiles_outside_organization":false,"created_at":"2022-08-19T13:40:01.155Z","updated_at":"2022-08-19T13:40:01.155Z","domains":[{"object":"organization_domain","id":"org_domain_01GAV5A10EA6R0YNJR5H5A9N6C","domain":"example.io"}]}'
77
+ http_version:
78
+ recorded_at: Fri, 19 Aug 2022 13:40:01 GMT
79
+ recorded_with: VCR 5.0.0
@@ -13,4 +13,18 @@ RSpec.shared_examples 'client' do
13
13
  it 'returns new instance' do
14
14
  expect(described_class.client.object_id).to_not eq described_class.client.object_id
15
15
  end
16
+
17
+ if RUBY_VERSION >= '2.6.0'
18
+ it 'sets the timeouts, including the write timeout' do
19
+ expect(described_class.client.open_timeout).to_not be_nil
20
+ expect(described_class.client.read_timeout).to_not be_nil
21
+ expect(described_class.client.write_timeout).to_not be_nil
22
+ end
23
+ else
24
+ it 'sets the open and read timeouts, but not the write timeout' do
25
+ expect(described_class.client.open_timeout).to_not be_nil
26
+ expect(described_class.client.read_timeout).to_not be_nil
27
+ expect(described_class.client.write_timeout).to be_nil
28
+ end
29
+ end
16
30
  end
@@ -1 +1 @@
1
- {"id": "wh_123","data":{"id":"directory_user_01FAEAJCR3ZBZ30D8BD1924TVG","state":"active","emails":[{"type":"work","value":"blair@foo-corp.com","primary":true}],"idp_id":"00u1e8mutl6wlH3lL4x7","object":"directory_user","username":"blair@foo-corp.com","last_name":"Lunceford","first_name":"Blair","directory_id":"directory_01F9M7F68PZP8QXP8G7X5QRHS7","raw_attributes":{"name":{"givenName":"Blair","familyName":"Lunceford","middleName":"Elizabeth","honorificPrefix":"Ms."},"title":"Developer Success Engineer","active":true,"emails":[{"type":"work","value":"blair@foo-corp.com","primary":true}],"groups":[],"locale":"en-US","schemas":["urn:ietf:params:scim:schemas:core:2.0:User","urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"],"userName":"blair@foo-corp.com","addresses":[{"region":"CO","primary":true,"locality":"Steamboat Springs","postalCode":"80487"}],"externalId":"00u1e8mutl6wlH3lL4x7","displayName":"Blair Lunceford","urn:ietf:params:scim:schemas:extension:enterprise:2.0:User":{"manager":{"value":"2","displayName":"Kathleen Chung"},"division":"Engineering","department":"Customer Success"}}},"event":"dsync.user.created"}
1
+ {"id": "wh_123","data":{"id":"directory_user_01FAEAJCR3ZBZ30D8BD1924TVG","state":"active","emails":[{"type":"work","value":"blair@foo-corp.com","primary":true}],"idp_id":"00u1e8mutl6wlH3lL4x7","object":"directory_user","username":"blair@foo-corp.com","last_name":"Lunchford","first_name":"Blair","directory_id":"directory_01F9M7F68PZP8QXP8G7X5QRHS7","raw_attributes":{"name":{"givenName":"Blair","familyName":"Lunchford","middleName":"Elizabeth","honorificPrefix":"Ms."},"title":"Developer Success Engineer","active":true,"emails":[{"type":"work","value":"blair@foo-corp.com","primary":true}],"groups":[],"locale":"en-US","schemas":["urn:ietf:params:scim:schemas:core:2.0:User","urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"],"userName":"blair@foo-corp.com","addresses":[{"region":"CA","primary":true,"locality":"San Francisco","postalCode":"94016"}],"externalId":"00u1e8mutl6wlH3lL4x7","displayName":"Blair Lunchford","urn:ietf:params:scim:schemas:extension:enterprise:2.0:User":{"manager":{"value":"2","displayName":"Kate Chapman"},"division":"Engineering","department":"Customer Success"}}},"event":"dsync.user.created"}
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: workos
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.5.0
4
+ version: 2.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - WorkOS
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-07-25 00:00:00.000000000 Z
11
+ date: 2022-09-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sorbet-runtime
@@ -207,6 +207,8 @@ files:
207
207
  - docs/method_list.html
208
208
  - docs/top-level-namespace.html
209
209
  - lib/workos.rb
210
+ - lib/workos/audit_log_export.rb
211
+ - lib/workos/audit_logs.rb
210
212
  - lib/workos/audit_trail.rb
211
213
  - lib/workos/challenge.rb
212
214
  - lib/workos/client.rb
@@ -229,6 +231,7 @@ files:
229
231
  - lib/workos/profile_and_token.rb
230
232
  - lib/workos/sso.rb
231
233
  - lib/workos/types.rb
234
+ - lib/workos/types/audit_log_export_struct.rb
232
235
  - lib/workos/types/challenge_struct.rb
233
236
  - lib/workos/types/connection_struct.rb
234
237
  - lib/workos/types/directory_group_struct.rb
@@ -281,6 +284,7 @@ files:
281
284
  - sorbet/rbi/sorbet-typed/lib/rubocop/~>0.85/rubocop.rbi
282
285
  - sorbet/rbi/sorbet-typed/lib/yard/all/yard.rbi
283
286
  - sorbet/rbi/todo.rbi
287
+ - spec/lib/workos/audit_logs_spec.rb
284
288
  - spec/lib/workos/audit_trail_spec.rb
285
289
  - spec/lib/workos/configuration_spec.rb
286
290
  - spec/lib/workos/directory_sync_spec.rb
@@ -292,6 +296,12 @@ files:
292
296
  - spec/lib/workos/sso_spec.rb
293
297
  - spec/lib/workos/webhooks_spec.rb
294
298
  - spec/spec_helper.rb
299
+ - spec/support/fixtures/vcr_cassettes/audit_logs/create_event.yml
300
+ - spec/support/fixtures/vcr_cassettes/audit_logs/create_event_custom_idempotency_key.yml
301
+ - spec/support/fixtures/vcr_cassettes/audit_logs/create_event_invalid.yml
302
+ - spec/support/fixtures/vcr_cassettes/audit_logs/create_export.yml
303
+ - spec/support/fixtures/vcr_cassettes/audit_logs/create_export_with_filters.yml
304
+ - spec/support/fixtures/vcr_cassettes/audit_logs/get_export.yml
295
305
  - spec/support/fixtures/vcr_cassettes/audit_trail/create_event.yml
296
306
  - spec/support/fixtures/vcr_cassettes/audit_trail/create_event_custom_idempotency_key.yml
297
307
  - spec/support/fixtures/vcr_cassettes/audit_trail/create_event_invalid.yml
@@ -339,6 +349,9 @@ files:
339
349
  - spec/support/fixtures/vcr_cassettes/mfa/verify_challenge_generic_valid_is_false.yml
340
350
  - spec/support/fixtures/vcr_cassettes/organization/create.yml
341
351
  - spec/support/fixtures/vcr_cassettes/organization/create_invalid.yml
352
+ - spec/support/fixtures/vcr_cassettes/organization/create_with_duplicate_idempotency_key_and_different_payload.yml
353
+ - spec/support/fixtures/vcr_cassettes/organization/create_with_duplicate_idempotency_key_and_payload.yml
354
+ - spec/support/fixtures/vcr_cassettes/organization/create_with_idempotency_key.yml
342
355
  - spec/support/fixtures/vcr_cassettes/organization/delete.yml
343
356
  - spec/support/fixtures/vcr_cassettes/organization/delete_invalid.yml
344
357
  - spec/support/fixtures/vcr_cassettes/organization/get.yml
@@ -388,11 +401,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
388
401
  - !ruby/object:Gem::Version
389
402
  version: '0'
390
403
  requirements: []
391
- rubygems_version: 3.3.18
404
+ rubygems_version: 3.3.22
392
405
  signing_key:
393
406
  specification_version: 4
394
407
  summary: API client for WorkOS
395
408
  test_files:
409
+ - spec/lib/workos/audit_logs_spec.rb
396
410
  - spec/lib/workos/audit_trail_spec.rb
397
411
  - spec/lib/workos/configuration_spec.rb
398
412
  - spec/lib/workos/directory_sync_spec.rb
@@ -404,6 +418,12 @@ test_files:
404
418
  - spec/lib/workos/sso_spec.rb
405
419
  - spec/lib/workos/webhooks_spec.rb
406
420
  - spec/spec_helper.rb
421
+ - spec/support/fixtures/vcr_cassettes/audit_logs/create_event.yml
422
+ - spec/support/fixtures/vcr_cassettes/audit_logs/create_event_custom_idempotency_key.yml
423
+ - spec/support/fixtures/vcr_cassettes/audit_logs/create_event_invalid.yml
424
+ - spec/support/fixtures/vcr_cassettes/audit_logs/create_export.yml
425
+ - spec/support/fixtures/vcr_cassettes/audit_logs/create_export_with_filters.yml
426
+ - spec/support/fixtures/vcr_cassettes/audit_logs/get_export.yml
407
427
  - spec/support/fixtures/vcr_cassettes/audit_trail/create_event.yml
408
428
  - spec/support/fixtures/vcr_cassettes/audit_trail/create_event_custom_idempotency_key.yml
409
429
  - spec/support/fixtures/vcr_cassettes/audit_trail/create_event_invalid.yml
@@ -451,6 +471,9 @@ test_files:
451
471
  - spec/support/fixtures/vcr_cassettes/mfa/verify_challenge_generic_valid_is_false.yml
452
472
  - spec/support/fixtures/vcr_cassettes/organization/create.yml
453
473
  - spec/support/fixtures/vcr_cassettes/organization/create_invalid.yml
474
+ - spec/support/fixtures/vcr_cassettes/organization/create_with_duplicate_idempotency_key_and_different_payload.yml
475
+ - spec/support/fixtures/vcr_cassettes/organization/create_with_duplicate_idempotency_key_and_payload.yml
476
+ - spec/support/fixtures/vcr_cassettes/organization/create_with_idempotency_key.yml
454
477
  - spec/support/fixtures/vcr_cassettes/organization/delete.yml
455
478
  - spec/support/fixtures/vcr_cassettes/organization/delete_invalid.yml
456
479
  - spec/support/fixtures/vcr_cassettes/organization/get.yml