workos 2.13.0 → 2.14.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/workos/event.rb +51 -0
- data/lib/workos/events.rb +52 -0
- data/lib/workos/types/event_struct.rb +15 -0
- data/lib/workos/types.rb +1 -0
- data/lib/workos/version.rb +1 -1
- data/lib/workos.rb +2 -0
- data/spec/lib/workos/event_spec.rb +88 -0
- data/spec/support/fixtures/vcr_cassettes/events/list_events_with_after.yml +80 -0
- data/spec/support/fixtures/vcr_cassettes/events/list_events_with_event.yml +80 -0
- data/spec/support/fixtures/vcr_cassettes/events/list_events_with_no_options.yml +80 -0
- data/spec/support/fixtures/vcr_cassettes/events/list_events_with_range.yml +80 -0
- metadata +16 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dc295cd8c46339a6d6ecf851da0afc2209f1c69de9b0b9f97f880047fff0213a
|
4
|
+
data.tar.gz: e730de6baf7200c817fa85893939448d541e3740800a892800ec7eee2aad939f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8fa02446a42a473799a85091e142dec2b3b9ec8828017638fdba5625160df7e56f01fddd3aca5b86350106d7226c8979f9e556b775aa24086954ce3b2651948c
|
7
|
+
data.tar.gz: 4510685f43bbc1877f2f49e840da87ccb40240a3f6360d0832fb5714228a30d08c17c36d3d499bc3d6ccaffda72c4766d02ccacb8b6808b90231a2ece996a74b
|
data/Gemfile.lock
CHANGED
data/lib/workos/event.rb
ADDED
@@ -0,0 +1,51 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# typed: true
|
3
|
+
|
4
|
+
module WorkOS
|
5
|
+
# The Event class provides a lightweight wrapper around
|
6
|
+
# a WorkOS Event resource. This class is not meant to be instantiated
|
7
|
+
# in user space, and is instantiated internally but exposed.
|
8
|
+
class Event
|
9
|
+
include HashProvider
|
10
|
+
extend T::Sig
|
11
|
+
|
12
|
+
attr_accessor :id, :event, :data, :created_at
|
13
|
+
|
14
|
+
sig { params(json: String).void }
|
15
|
+
def initialize(json)
|
16
|
+
raw = parse_json(json)
|
17
|
+
|
18
|
+
@id = T.let(raw.id, String)
|
19
|
+
@event = T.let(raw.event, String)
|
20
|
+
@created_at = T.let(raw.created_at, String)
|
21
|
+
@data = raw.data
|
22
|
+
end
|
23
|
+
|
24
|
+
def to_json(*)
|
25
|
+
{
|
26
|
+
id: id,
|
27
|
+
event: event,
|
28
|
+
data: data,
|
29
|
+
created_at: created_at,
|
30
|
+
}
|
31
|
+
end
|
32
|
+
|
33
|
+
private
|
34
|
+
|
35
|
+
sig do
|
36
|
+
params(
|
37
|
+
json_string: String,
|
38
|
+
).returns(WorkOS::Types::EventStruct)
|
39
|
+
end
|
40
|
+
def parse_json(json_string)
|
41
|
+
hash = JSON.parse(json_string, symbolize_names: true)
|
42
|
+
|
43
|
+
WorkOS::Types::EventStruct.new(
|
44
|
+
id: hash[:id],
|
45
|
+
event: hash[:event],
|
46
|
+
data: hash[:data],
|
47
|
+
created_at: hash[:created_at],
|
48
|
+
)
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# typed: strict
|
3
|
+
|
4
|
+
require 'net/http'
|
5
|
+
|
6
|
+
module WorkOS
|
7
|
+
# The Events module provides convenience methods for working with the
|
8
|
+
# WorkOS Events platform. You'll need a valid API key and be in the
|
9
|
+
# Events beta to be able to access the API
|
10
|
+
#
|
11
|
+
module Events
|
12
|
+
class << self
|
13
|
+
extend T::Sig
|
14
|
+
include Client
|
15
|
+
|
16
|
+
# Retrieve events.
|
17
|
+
#
|
18
|
+
# @param [Hash] options An options hash
|
19
|
+
# @option options [String] event The type of event
|
20
|
+
# retrieved.
|
21
|
+
# @option options [String] limit Maximum number of records to return.
|
22
|
+
# @option options [String] after Pagination cursor to receive records
|
23
|
+
# after a provided Event ID.
|
24
|
+
#
|
25
|
+
# @return [Hash]
|
26
|
+
sig do
|
27
|
+
params(
|
28
|
+
options: T::Hash[Symbol, String],
|
29
|
+
).returns(WorkOS::Types::ListStruct)
|
30
|
+
end
|
31
|
+
def list_events(options = {})
|
32
|
+
response = execute_request(
|
33
|
+
request: get_request(
|
34
|
+
path: '/events',
|
35
|
+
auth: true,
|
36
|
+
params: options,
|
37
|
+
),
|
38
|
+
)
|
39
|
+
|
40
|
+
parsed_response = JSON.parse(response.body)
|
41
|
+
events = parsed_response['data'].map do |event|
|
42
|
+
::WorkOS::Event.new(event.to_json)
|
43
|
+
end
|
44
|
+
|
45
|
+
WorkOS::Types::ListStruct.new(
|
46
|
+
data: events,
|
47
|
+
list_metadata: parsed_response['listMetadata'],
|
48
|
+
)
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# typed: strict
|
3
|
+
|
4
|
+
module WorkOS
|
5
|
+
module Types
|
6
|
+
# The EventStruct acts as a typed interface
|
7
|
+
# for the Event class
|
8
|
+
class EventStruct < T::Struct
|
9
|
+
const :id, String
|
10
|
+
const :event, String
|
11
|
+
const :data, T::Hash[Symbol, Object]
|
12
|
+
const :created_at, String
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
data/lib/workos/types.rb
CHANGED
@@ -9,6 +9,7 @@ module WorkOS
|
|
9
9
|
require_relative 'types/connection_struct'
|
10
10
|
require_relative 'types/directory_struct'
|
11
11
|
require_relative 'types/directory_group_struct'
|
12
|
+
require_relative 'types/event_struct'
|
12
13
|
require_relative 'types/intent_enum'
|
13
14
|
require_relative 'types/list_struct'
|
14
15
|
require_relative 'types/organization_struct'
|
data/lib/workos/version.rb
CHANGED
data/lib/workos.rb
CHANGED
@@ -46,6 +46,8 @@ module WorkOS
|
|
46
46
|
autoload :DirectorySync, 'workos/directory_sync'
|
47
47
|
autoload :Directory, 'workos/directory'
|
48
48
|
autoload :DirectoryGroup, 'workos/directory_group'
|
49
|
+
autoload :Event, 'workos/event'
|
50
|
+
autoload :Events, 'workos/events'
|
49
51
|
autoload :Organization, 'workos/organization'
|
50
52
|
autoload :Organizations, 'workos/organizations'
|
51
53
|
autoload :Passwordless, 'workos/passwordless'
|
@@ -0,0 +1,88 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# typed: false
|
3
|
+
|
4
|
+
describe WorkOS::Events do
|
5
|
+
it_behaves_like 'client'
|
6
|
+
|
7
|
+
describe '.list_events' do
|
8
|
+
context 'with no options' do
|
9
|
+
it 'returns events and metadata' do
|
10
|
+
expected_metadata = {
|
11
|
+
'after' => nil,
|
12
|
+
}
|
13
|
+
|
14
|
+
VCR.use_cassette 'events/list_events_with_no_options' do
|
15
|
+
events = described_class.list_events
|
16
|
+
|
17
|
+
expect(events.data.size).to eq(1)
|
18
|
+
expect(events.list_metadata).to eq(expected_metadata)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
context 'with event option' do
|
24
|
+
it 'forms the proper request to the API' do
|
25
|
+
request_args = [
|
26
|
+
'/events?events=connection.activated',
|
27
|
+
'Content-Type' => 'application/json'
|
28
|
+
]
|
29
|
+
|
30
|
+
expected_request = Net::HTTP::Get.new(*request_args)
|
31
|
+
|
32
|
+
expect(Net::HTTP::Get).to receive(:new).with(*request_args).
|
33
|
+
and_return(expected_request)
|
34
|
+
|
35
|
+
VCR.use_cassette 'events/list_events_with_event' do
|
36
|
+
events = described_class.list_events(
|
37
|
+
events: ['connection.activated'],
|
38
|
+
)
|
39
|
+
|
40
|
+
expect(events.data.size).to eq(1)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
context 'with the after option' do
|
46
|
+
it 'forms the proper request to the API' do
|
47
|
+
request_args = [
|
48
|
+
'/events?after=event_01FGCPNV312FHFRCX0BYWHVSE1',
|
49
|
+
'Content-Type' => 'application/json'
|
50
|
+
]
|
51
|
+
|
52
|
+
expected_request = Net::HTTP::Get.new(*request_args)
|
53
|
+
|
54
|
+
expect(Net::HTTP::Get).to receive(:new).with(*request_args).
|
55
|
+
and_return(expected_request)
|
56
|
+
|
57
|
+
VCR.use_cassette 'events/list_events_with_after' do
|
58
|
+
events = described_class.list_events(after: 'event_01FGCPNV312FHFRCX0BYWHVSE1')
|
59
|
+
|
60
|
+
expect(events.data.size).to eq(1)
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
context 'with the rangeStart and rangeEnd options' do
|
66
|
+
it 'forms the proper request to the API' do
|
67
|
+
request_args = [
|
68
|
+
'/events?rangeStart=2023-01-01T00%3A00%3A00Z&rangeEnd=2023-01-03T00%3A00%3A00Z',
|
69
|
+
'Content-Type' => 'application/json'
|
70
|
+
]
|
71
|
+
|
72
|
+
expected_request = Net::HTTP::Get.new(*request_args)
|
73
|
+
|
74
|
+
expect(Net::HTTP::Get).to receive(:new).with(*request_args).
|
75
|
+
and_return(expected_request)
|
76
|
+
|
77
|
+
VCR.use_cassette 'events/list_events_with_range' do
|
78
|
+
events = described_class.list_events(
|
79
|
+
rangeStart: '2023-01-01T00:00:00Z',
|
80
|
+
rangeEnd: '2023-01-03T00:00:00Z',
|
81
|
+
)
|
82
|
+
|
83
|
+
expect(events.data.size).to eq(1)
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
@@ -0,0 +1,80 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://api.workos.com/events?after=event_01FGCPNV312FHFRCX0BYWHVSE1
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
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.2; arm64-darwin21; v2.3.0
|
18
|
+
Authorization:
|
19
|
+
- Bearer <API_KEY>
|
20
|
+
response:
|
21
|
+
status:
|
22
|
+
code: 200
|
23
|
+
message: OK
|
24
|
+
headers:
|
25
|
+
Date:
|
26
|
+
- Thu, 14 Jul 2022 16:46:23 GMT
|
27
|
+
Content-Type:
|
28
|
+
- application/json; charset=utf-8
|
29
|
+
Content-Length:
|
30
|
+
- '616'
|
31
|
+
Connection:
|
32
|
+
- keep-alive
|
33
|
+
Access-Control-Allow-Credentials:
|
34
|
+
- 'true'
|
35
|
+
Content-Security-Policy:
|
36
|
+
- 'default-src ''self'';base-uri ''self'';block-all-mixed-content;font-src ''self''
|
37
|
+
https: data:;frame-ancestors ''self'';img-src ''self'' data:;object-src ''none'';script-src
|
38
|
+
''self'';script-src-attr ''none'';style-src ''self'' https: ''unsafe-inline'';upgrade-insecure-requests'
|
39
|
+
Etag:
|
40
|
+
- W/"680-NPvBik348v8xg6EE7iZMYwD5UXw"
|
41
|
+
Expect-Ct:
|
42
|
+
- max-age=0
|
43
|
+
Referrer-Policy:
|
44
|
+
- no-referrer
|
45
|
+
Strict-Transport-Security:
|
46
|
+
- max-age=15552000; includeSubDomains
|
47
|
+
Vary:
|
48
|
+
- Origin, Accept-Encoding
|
49
|
+
Via:
|
50
|
+
- 1.1 spaces-router (b642bf20b975)
|
51
|
+
X-Content-Type-Options:
|
52
|
+
- nosniff
|
53
|
+
X-Dns-Prefetch-Control:
|
54
|
+
- 'off'
|
55
|
+
X-Download-Options:
|
56
|
+
- noopen
|
57
|
+
X-Frame-Options:
|
58
|
+
- SAMEORIGIN
|
59
|
+
X-Permitted-Cross-Domain-Policies:
|
60
|
+
- none
|
61
|
+
X-Request-Id:
|
62
|
+
- 51a82273-b413-cead-b968-c07ba4d6fd08
|
63
|
+
X-Xss-Protection:
|
64
|
+
- '0'
|
65
|
+
Cf-Cache-Status:
|
66
|
+
- DYNAMIC
|
67
|
+
Report-To:
|
68
|
+
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=OS7ELJ3A8tkzMafvaIThD%2B5JlYmul1puZlAXTxEKYBLlq%2B6DCtqDqAi4dtr4yRP3khNmg6MwPiuLqtdOXRmPOtag9Ti%2FGK8ra%2BJOlpwkFjD965CNBfzao4EJtExDkbS3"}],"group":"cf-nel","max_age":604800}'
|
69
|
+
Nel:
|
70
|
+
- '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}'
|
71
|
+
Server:
|
72
|
+
- cloudflare
|
73
|
+
Cf-Ray:
|
74
|
+
- 72abbbf2b93e8ca5-EWR
|
75
|
+
body:
|
76
|
+
encoding: ASCII-8BIT
|
77
|
+
string: '{"object":"list","data":[{"object":"event","id":"event_01FK3HFFGMC2WF32RR8SKWC8KA","event":"dsync.user.created","created_at":"2021-10-28T13:29:54.451Z","data":{"email":"foo@foocorp.com"}}], "listMetadata":{"after":null}}'
|
78
|
+
http_version:
|
79
|
+
recorded_at: Thu, 14 Jul 2022 16:46:23 GMT
|
80
|
+
recorded_with: VCR 5.0.0
|
@@ -0,0 +1,80 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://api.workos.com/events?events=connection.activated
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
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.2; arm64-darwin21; v2.3.0
|
18
|
+
Authorization:
|
19
|
+
- Bearer <API_KEY>
|
20
|
+
response:
|
21
|
+
status:
|
22
|
+
code: 200
|
23
|
+
message: OK
|
24
|
+
headers:
|
25
|
+
Date:
|
26
|
+
- Thu, 14 Jul 2022 16:46:23 GMT
|
27
|
+
Content-Type:
|
28
|
+
- application/json; charset=utf-8
|
29
|
+
Content-Length:
|
30
|
+
- '616'
|
31
|
+
Connection:
|
32
|
+
- keep-alive
|
33
|
+
Access-Control-Allow-Credentials:
|
34
|
+
- 'true'
|
35
|
+
Content-Security-Policy:
|
36
|
+
- 'default-src ''self'';base-uri ''self'';block-all-mixed-content;font-src ''self''
|
37
|
+
https: data:;frame-ancestors ''self'';img-src ''self'' data:;object-src ''none'';script-src
|
38
|
+
''self'';script-src-attr ''none'';style-src ''self'' https: ''unsafe-inline'';upgrade-insecure-requests'
|
39
|
+
Etag:
|
40
|
+
- W/"680-NPvBik348v8xg6EE7iZMYwD5UXw"
|
41
|
+
Expect-Ct:
|
42
|
+
- max-age=0
|
43
|
+
Referrer-Policy:
|
44
|
+
- no-referrer
|
45
|
+
Strict-Transport-Security:
|
46
|
+
- max-age=15552000; includeSubDomains
|
47
|
+
Vary:
|
48
|
+
- Origin, Accept-Encoding
|
49
|
+
Via:
|
50
|
+
- 1.1 spaces-router (b642bf20b975)
|
51
|
+
X-Content-Type-Options:
|
52
|
+
- nosniff
|
53
|
+
X-Dns-Prefetch-Control:
|
54
|
+
- 'off'
|
55
|
+
X-Download-Options:
|
56
|
+
- noopen
|
57
|
+
X-Frame-Options:
|
58
|
+
- SAMEORIGIN
|
59
|
+
X-Permitted-Cross-Domain-Policies:
|
60
|
+
- none
|
61
|
+
X-Request-Id:
|
62
|
+
- 51a82273-b413-cead-b968-c07ba4d6fd08
|
63
|
+
X-Xss-Protection:
|
64
|
+
- '0'
|
65
|
+
Cf-Cache-Status:
|
66
|
+
- DYNAMIC
|
67
|
+
Report-To:
|
68
|
+
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=OS7ELJ3A8tkzMafvaIThD%2B5JlYmul1puZlAXTxEKYBLlq%2B6DCtqDqAi4dtr4yRP3khNmg6MwPiuLqtdOXRmPOtag9Ti%2FGK8ra%2BJOlpwkFjD965CNBfzao4EJtExDkbS3"}],"group":"cf-nel","max_age":604800}'
|
69
|
+
Nel:
|
70
|
+
- '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}'
|
71
|
+
Server:
|
72
|
+
- cloudflare
|
73
|
+
Cf-Ray:
|
74
|
+
- 72abbbf2b93e8ca5-EWR
|
75
|
+
body:
|
76
|
+
encoding: ASCII-8BIT
|
77
|
+
string: '{"object":"list","data":[{"object":"event","id":"event_01FK3HFFGMC2WF32RR8SKWC8KA","event":"dsync.user.created","created_at":"2021-10-28T13:29:54.451Z","data":{"email":"foo@foocorp.com"}}], "listMetadata":{"after":null}}'
|
78
|
+
http_version:
|
79
|
+
recorded_at: Thu, 14 Jul 2022 16:46:23 GMT
|
80
|
+
recorded_with: VCR 5.0.0
|
@@ -0,0 +1,80 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://api.workos.com/events
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
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.2; arm64-darwin21; v2.3.0
|
18
|
+
Authorization:
|
19
|
+
- Bearer <API_KEY>
|
20
|
+
response:
|
21
|
+
status:
|
22
|
+
code: 200
|
23
|
+
message: OK
|
24
|
+
headers:
|
25
|
+
Date:
|
26
|
+
- Thu, 14 Jul 2022 16:46:23 GMT
|
27
|
+
Content-Type:
|
28
|
+
- application/json; charset=utf-8
|
29
|
+
Content-Length:
|
30
|
+
- '616'
|
31
|
+
Connection:
|
32
|
+
- keep-alive
|
33
|
+
Access-Control-Allow-Credentials:
|
34
|
+
- 'true'
|
35
|
+
Content-Security-Policy:
|
36
|
+
- 'default-src ''self'';base-uri ''self'';block-all-mixed-content;font-src ''self''
|
37
|
+
https: data:;frame-ancestors ''self'';img-src ''self'' data:;object-src ''none'';script-src
|
38
|
+
''self'';script-src-attr ''none'';style-src ''self'' https: ''unsafe-inline'';upgrade-insecure-requests'
|
39
|
+
Etag:
|
40
|
+
- W/"680-NPvBik348v8xg6EE7iZMYwD5UXw"
|
41
|
+
Expect-Ct:
|
42
|
+
- max-age=0
|
43
|
+
Referrer-Policy:
|
44
|
+
- no-referrer
|
45
|
+
Strict-Transport-Security:
|
46
|
+
- max-age=15552000; includeSubDomains
|
47
|
+
Vary:
|
48
|
+
- Origin, Accept-Encoding
|
49
|
+
Via:
|
50
|
+
- 1.1 spaces-router (b642bf20b975)
|
51
|
+
X-Content-Type-Options:
|
52
|
+
- nosniff
|
53
|
+
X-Dns-Prefetch-Control:
|
54
|
+
- 'off'
|
55
|
+
X-Download-Options:
|
56
|
+
- noopen
|
57
|
+
X-Frame-Options:
|
58
|
+
- SAMEORIGIN
|
59
|
+
X-Permitted-Cross-Domain-Policies:
|
60
|
+
- none
|
61
|
+
X-Request-Id:
|
62
|
+
- 51a82273-b413-cead-b968-c07ba4d6fd08
|
63
|
+
X-Xss-Protection:
|
64
|
+
- '0'
|
65
|
+
Cf-Cache-Status:
|
66
|
+
- DYNAMIC
|
67
|
+
Report-To:
|
68
|
+
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=OS7ELJ3A8tkzMafvaIThD%2B5JlYmul1puZlAXTxEKYBLlq%2B6DCtqDqAi4dtr4yRP3khNmg6MwPiuLqtdOXRmPOtag9Ti%2FGK8ra%2BJOlpwkFjD965CNBfzao4EJtExDkbS3"}],"group":"cf-nel","max_age":604800}'
|
69
|
+
Nel:
|
70
|
+
- '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}'
|
71
|
+
Server:
|
72
|
+
- cloudflare
|
73
|
+
Cf-Ray:
|
74
|
+
- 72abbbf2b93e8ca5-EWR
|
75
|
+
body:
|
76
|
+
encoding: ASCII-8BIT
|
77
|
+
string: '{"object":"list","data":[{"object":"event","id":"event_01FK3HFFGMC2WF32RR8SKWC8KA","event":"dsync.user.created","created_at":"2021-10-28T13:29:54.451Z","data":{"email":"foo@foocorp.com"}}], "listMetadata":{"after":null}}'
|
78
|
+
http_version:
|
79
|
+
recorded_at: Thu, 14 Jul 2022 16:46:23 GMT
|
80
|
+
recorded_with: VCR 5.0.0
|
@@ -0,0 +1,80 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://api.workos.com/events?rangeEnd=2023-01-03T00:00:00Z&rangeStart=2023-01-01T00:00:00Z
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
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.2; arm64-darwin21; v2.3.0
|
18
|
+
Authorization:
|
19
|
+
- Bearer <API_KEY>
|
20
|
+
response:
|
21
|
+
status:
|
22
|
+
code: 200
|
23
|
+
message: OK
|
24
|
+
headers:
|
25
|
+
Date:
|
26
|
+
- Thu, 14 Jul 2022 16:46:23 GMT
|
27
|
+
Content-Type:
|
28
|
+
- application/json; charset=utf-8
|
29
|
+
Content-Length:
|
30
|
+
- '616'
|
31
|
+
Connection:
|
32
|
+
- keep-alive
|
33
|
+
Access-Control-Allow-Credentials:
|
34
|
+
- 'true'
|
35
|
+
Content-Security-Policy:
|
36
|
+
- 'default-src ''self'';base-uri ''self'';block-all-mixed-content;font-src ''self''
|
37
|
+
https: data:;frame-ancestors ''self'';img-src ''self'' data:;object-src ''none'';script-src
|
38
|
+
''self'';script-src-attr ''none'';style-src ''self'' https: ''unsafe-inline'';upgrade-insecure-requests'
|
39
|
+
Etag:
|
40
|
+
- W/"680-NPvBik348v8xg6EE7iZMYwD5UXw"
|
41
|
+
Expect-Ct:
|
42
|
+
- max-age=0
|
43
|
+
Referrer-Policy:
|
44
|
+
- no-referrer
|
45
|
+
Strict-Transport-Security:
|
46
|
+
- max-age=15552000; includeSubDomains
|
47
|
+
Vary:
|
48
|
+
- Origin, Accept-Encoding
|
49
|
+
Via:
|
50
|
+
- 1.1 spaces-router (b642bf20b975)
|
51
|
+
X-Content-Type-Options:
|
52
|
+
- nosniff
|
53
|
+
X-Dns-Prefetch-Control:
|
54
|
+
- 'off'
|
55
|
+
X-Download-Options:
|
56
|
+
- noopen
|
57
|
+
X-Frame-Options:
|
58
|
+
- SAMEORIGIN
|
59
|
+
X-Permitted-Cross-Domain-Policies:
|
60
|
+
- none
|
61
|
+
X-Request-Id:
|
62
|
+
- 51a82273-b413-cead-b968-c07ba4d6fd08
|
63
|
+
X-Xss-Protection:
|
64
|
+
- '0'
|
65
|
+
Cf-Cache-Status:
|
66
|
+
- DYNAMIC
|
67
|
+
Report-To:
|
68
|
+
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=OS7ELJ3A8tkzMafvaIThD%2B5JlYmul1puZlAXTxEKYBLlq%2B6DCtqDqAi4dtr4yRP3khNmg6MwPiuLqtdOXRmPOtag9Ti%2FGK8ra%2BJOlpwkFjD965CNBfzao4EJtExDkbS3"}],"group":"cf-nel","max_age":604800}'
|
69
|
+
Nel:
|
70
|
+
- '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}'
|
71
|
+
Server:
|
72
|
+
- cloudflare
|
73
|
+
Cf-Ray:
|
74
|
+
- 72abbbf2b93e8ca5-EWR
|
75
|
+
body:
|
76
|
+
encoding: ASCII-8BIT
|
77
|
+
string: '{"object":"list","data":[{"object":"event","id":"event_01FK3HFFGMC2WF32RR8SKWC8KA","event":"dsync.user.created","created_at":"2021-10-28T13:29:54.451Z","data":{"email":"foo@foocorp.com"}}], "listMetadata":{"after":null}}'
|
78
|
+
http_version:
|
79
|
+
recorded_at: Thu, 14 Jul 2022 16:46:23 GMT
|
80
|
+
recorded_with: VCR 5.0.0
|
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.
|
4
|
+
version: 2.14.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- WorkOS
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-06-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sorbet-runtime
|
@@ -223,6 +223,8 @@ files:
|
|
223
223
|
- lib/workos/directory_sync.rb
|
224
224
|
- lib/workos/directory_user.rb
|
225
225
|
- lib/workos/errors.rb
|
226
|
+
- lib/workos/event.rb
|
227
|
+
- lib/workos/events.rb
|
226
228
|
- lib/workos/factor.rb
|
227
229
|
- lib/workos/hash_provider.rb
|
228
230
|
- lib/workos/mfa.rb
|
@@ -240,6 +242,7 @@ files:
|
|
240
242
|
- lib/workos/types/directory_group_struct.rb
|
241
243
|
- lib/workos/types/directory_struct.rb
|
242
244
|
- lib/workos/types/directory_user_struct.rb
|
245
|
+
- lib/workos/types/event_struct.rb
|
243
246
|
- lib/workos/types/factor_struct.rb
|
244
247
|
- lib/workos/types/intent_enum.rb
|
245
248
|
- lib/workos/types/list_struct.rb
|
@@ -300,6 +303,7 @@ files:
|
|
300
303
|
- spec/lib/workos/configuration_spec.rb
|
301
304
|
- spec/lib/workos/directory_sync_spec.rb
|
302
305
|
- spec/lib/workos/directory_user_spec.rb
|
306
|
+
- spec/lib/workos/event_spec.rb
|
303
307
|
- spec/lib/workos/mfa_spec.rb
|
304
308
|
- spec/lib/workos/organizations_spec.rb
|
305
309
|
- spec/lib/workos/passwordless_spec.rb
|
@@ -345,6 +349,10 @@ files:
|
|
345
349
|
- spec/support/fixtures/vcr_cassettes/directory_sync/list_users/with_group.yml
|
346
350
|
- spec/support/fixtures/vcr_cassettes/directory_sync/list_users/with_limit.yml
|
347
351
|
- spec/support/fixtures/vcr_cassettes/directory_sync/list_users/with_no_options.yml
|
352
|
+
- spec/support/fixtures/vcr_cassettes/events/list_events_with_after.yml
|
353
|
+
- spec/support/fixtures/vcr_cassettes/events/list_events_with_event.yml
|
354
|
+
- spec/support/fixtures/vcr_cassettes/events/list_events_with_no_options.yml
|
355
|
+
- spec/support/fixtures/vcr_cassettes/events/list_events_with_range.yml
|
348
356
|
- spec/support/fixtures/vcr_cassettes/mfa/challenge_factor_generic_valid.yml
|
349
357
|
- spec/support/fixtures/vcr_cassettes/mfa/challenge_factor_sms_valid.yml
|
350
358
|
- spec/support/fixtures/vcr_cassettes/mfa/challenge_factor_totp_valid.yml
|
@@ -413,7 +421,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
413
421
|
- !ruby/object:Gem::Version
|
414
422
|
version: '0'
|
415
423
|
requirements: []
|
416
|
-
rubygems_version: 3.4.
|
424
|
+
rubygems_version: 3.4.14
|
417
425
|
signing_key:
|
418
426
|
specification_version: 4
|
419
427
|
summary: API client for WorkOS
|
@@ -423,6 +431,7 @@ test_files:
|
|
423
431
|
- spec/lib/workos/configuration_spec.rb
|
424
432
|
- spec/lib/workos/directory_sync_spec.rb
|
425
433
|
- spec/lib/workos/directory_user_spec.rb
|
434
|
+
- spec/lib/workos/event_spec.rb
|
426
435
|
- spec/lib/workos/mfa_spec.rb
|
427
436
|
- spec/lib/workos/organizations_spec.rb
|
428
437
|
- spec/lib/workos/passwordless_spec.rb
|
@@ -468,6 +477,10 @@ test_files:
|
|
468
477
|
- spec/support/fixtures/vcr_cassettes/directory_sync/list_users/with_group.yml
|
469
478
|
- spec/support/fixtures/vcr_cassettes/directory_sync/list_users/with_limit.yml
|
470
479
|
- spec/support/fixtures/vcr_cassettes/directory_sync/list_users/with_no_options.yml
|
480
|
+
- spec/support/fixtures/vcr_cassettes/events/list_events_with_after.yml
|
481
|
+
- spec/support/fixtures/vcr_cassettes/events/list_events_with_event.yml
|
482
|
+
- spec/support/fixtures/vcr_cassettes/events/list_events_with_no_options.yml
|
483
|
+
- spec/support/fixtures/vcr_cassettes/events/list_events_with_range.yml
|
471
484
|
- spec/support/fixtures/vcr_cassettes/mfa/challenge_factor_generic_valid.yml
|
472
485
|
- spec/support/fixtures/vcr_cassettes/mfa/challenge_factor_sms_valid.yml
|
473
486
|
- spec/support/fixtures/vcr_cassettes/mfa/challenge_factor_totp_valid.yml
|