workos 2.5.1 → 2.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (30) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +13 -11
  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 +2 -0
  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/intent_enum.rb +1 -0
  10. data/lib/workos/types.rb +1 -0
  11. data/lib/workos/version.rb +1 -1
  12. data/lib/workos/webhooks.rb +49 -2
  13. data/lib/workos.rb +2 -0
  14. data/sorbet/rbi/sorbet-typed/lib/rainbow/all/rainbow.rbi +5 -5
  15. data/spec/lib/workos/audit_logs_spec.rb +149 -0
  16. data/spec/lib/workos/organizations_spec.rb +73 -9
  17. data/spec/lib/workos/portal_spec.rb +15 -0
  18. data/spec/lib/workos/webhooks_spec.rb +130 -84
  19. data/spec/support/fixtures/vcr_cassettes/audit_logs/create_event.yml +59 -0
  20. data/spec/support/fixtures/vcr_cassettes/audit_logs/create_event_custom_idempotency_key.yml +60 -0
  21. data/spec/support/fixtures/vcr_cassettes/audit_logs/create_event_invalid.yml +59 -0
  22. data/spec/support/fixtures/vcr_cassettes/audit_logs/create_export.yml +76 -0
  23. data/spec/support/fixtures/vcr_cassettes/audit_logs/create_export_with_filters.yml +78 -0
  24. data/spec/support/fixtures/vcr_cassettes/audit_logs/get_export.yml +73 -0
  25. data/spec/support/fixtures/vcr_cassettes/organization/create_with_duplicate_idempotency_key_and_different_payload.yml +155 -0
  26. data/spec/support/fixtures/vcr_cassettes/organization/create_with_duplicate_idempotency_key_and_payload.yml +154 -0
  27. data/spec/support/fixtures/vcr_cassettes/organization/create_with_idempotency_key.yml +79 -0
  28. data/spec/support/fixtures/vcr_cassettes/portal/generate_link_audit_logs.yml +72 -0
  29. data/spec/support/webhook_payload.txt +1 -1
  30. metadata +28 -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
@@ -0,0 +1,72 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.workos.com/portal/generate_link
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"intent":"audit_logs","organization":"org_01EHQMYV6MBK39QC5PZXHY59C3","return_url":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/2.7.1; x86_64-darwin19; v0.10.1
18
+ Authorization:
19
+ - Bearer <API_KEY>
20
+ response:
21
+ status:
22
+ code: 201
23
+ message: Created
24
+ headers:
25
+ Server:
26
+ - Cowboy
27
+ Connection:
28
+ - keep-alive
29
+ Vary:
30
+ - Origin, Accept-Encoding
31
+ Access-Control-Allow-Credentials:
32
+ - "true"
33
+ Content-Security-Policy:
34
+ - "default-src 'self';base-uri 'self';block-all-mixed-content;font-src 'self'
35
+ https: data:;frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src
36
+ 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"
37
+ X-Dns-Prefetch-Control:
38
+ - "off"
39
+ Expect-Ct:
40
+ - max-age=0
41
+ X-Frame-Options:
42
+ - SAMEORIGIN
43
+ Strict-Transport-Security:
44
+ - max-age=15552000; includeSubDomains
45
+ X-Download-Options:
46
+ - noopen
47
+ X-Content-Type-Options:
48
+ - nosniff
49
+ X-Permitted-Cross-Domain-Policies:
50
+ - none
51
+ Referrer-Policy:
52
+ - no-referrer
53
+ X-Xss-Protection:
54
+ - "0"
55
+ X-Request-Id:
56
+ - 5cf84612-cd60-4d91-9c7e-e1e11bb6b074
57
+ Content-Type:
58
+ - application/json; charset=utf-8
59
+ Content-Length:
60
+ - "319"
61
+ Etag:
62
+ - W/"13f-riW7JK+w7gdYvKYPzZmuQc+wFXk"
63
+ Date:
64
+ - Wed, 03 Mar 2021 22:08:00 GMT
65
+ Via:
66
+ - 1.1 vegur
67
+ body:
68
+ encoding: UTF-8
69
+ string: '{"link":"https://id.workos.com/portal/launch?secret=secret"}'
70
+ http_version:
71
+ recorded_at: Wed, 03 Mar 2021 22:08:00 GMT
72
+ recorded_with: VCR 5.0.0
@@ -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.1
4
+ version: 2.7.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-08-12 00:00:00.000000000 Z
11
+ date: 2022-09-16 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
@@ -349,6 +362,7 @@ files:
349
362
  - spec/support/fixtures/vcr_cassettes/passwordless/create_session_invalid.yml
350
363
  - spec/support/fixtures/vcr_cassettes/passwordless/send_session.yml
351
364
  - spec/support/fixtures/vcr_cassettes/passwordless/send_session_invalid.yml
365
+ - spec/support/fixtures/vcr_cassettes/portal/generate_link_audit_logs.yml
352
366
  - spec/support/fixtures/vcr_cassettes/portal/generate_link_dsync.yml
353
367
  - spec/support/fixtures/vcr_cassettes/portal/generate_link_invalid.yml
354
368
  - spec/support/fixtures/vcr_cassettes/portal/generate_link_sso.yml
@@ -388,11 +402,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
388
402
  - !ruby/object:Gem::Version
389
403
  version: '0'
390
404
  requirements: []
391
- rubygems_version: 3.3.20
405
+ rubygems_version: 3.3.22
392
406
  signing_key:
393
407
  specification_version: 4
394
408
  summary: API client for WorkOS
395
409
  test_files:
410
+ - spec/lib/workos/audit_logs_spec.rb
396
411
  - spec/lib/workos/audit_trail_spec.rb
397
412
  - spec/lib/workos/configuration_spec.rb
398
413
  - spec/lib/workos/directory_sync_spec.rb
@@ -404,6 +419,12 @@ test_files:
404
419
  - spec/lib/workos/sso_spec.rb
405
420
  - spec/lib/workos/webhooks_spec.rb
406
421
  - spec/spec_helper.rb
422
+ - spec/support/fixtures/vcr_cassettes/audit_logs/create_event.yml
423
+ - spec/support/fixtures/vcr_cassettes/audit_logs/create_event_custom_idempotency_key.yml
424
+ - spec/support/fixtures/vcr_cassettes/audit_logs/create_event_invalid.yml
425
+ - spec/support/fixtures/vcr_cassettes/audit_logs/create_export.yml
426
+ - spec/support/fixtures/vcr_cassettes/audit_logs/create_export_with_filters.yml
427
+ - spec/support/fixtures/vcr_cassettes/audit_logs/get_export.yml
407
428
  - spec/support/fixtures/vcr_cassettes/audit_trail/create_event.yml
408
429
  - spec/support/fixtures/vcr_cassettes/audit_trail/create_event_custom_idempotency_key.yml
409
430
  - spec/support/fixtures/vcr_cassettes/audit_trail/create_event_invalid.yml
@@ -451,6 +472,9 @@ test_files:
451
472
  - spec/support/fixtures/vcr_cassettes/mfa/verify_challenge_generic_valid_is_false.yml
452
473
  - spec/support/fixtures/vcr_cassettes/organization/create.yml
453
474
  - spec/support/fixtures/vcr_cassettes/organization/create_invalid.yml
475
+ - spec/support/fixtures/vcr_cassettes/organization/create_with_duplicate_idempotency_key_and_different_payload.yml
476
+ - spec/support/fixtures/vcr_cassettes/organization/create_with_duplicate_idempotency_key_and_payload.yml
477
+ - spec/support/fixtures/vcr_cassettes/organization/create_with_idempotency_key.yml
454
478
  - spec/support/fixtures/vcr_cassettes/organization/delete.yml
455
479
  - spec/support/fixtures/vcr_cassettes/organization/delete_invalid.yml
456
480
  - spec/support/fixtures/vcr_cassettes/organization/get.yml
@@ -461,6 +485,7 @@ test_files:
461
485
  - spec/support/fixtures/vcr_cassettes/passwordless/create_session_invalid.yml
462
486
  - spec/support/fixtures/vcr_cassettes/passwordless/send_session.yml
463
487
  - spec/support/fixtures/vcr_cassettes/passwordless/send_session_invalid.yml
488
+ - spec/support/fixtures/vcr_cassettes/portal/generate_link_audit_logs.yml
464
489
  - spec/support/fixtures/vcr_cassettes/portal/generate_link_dsync.yml
465
490
  - spec/support/fixtures/vcr_cassettes/portal/generate_link_invalid.yml
466
491
  - spec/support/fixtures/vcr_cassettes/portal/generate_link_sso.yml