workos 5.0.0 → 5.2.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7d59f479bcadc439580843b8c8a608b41e4c0183d657241955ed3cfbc0f75a38
4
- data.tar.gz: 48209d43a10edf6d5afa7b4ed5d92c69ee400afb660d23152706b46970602dcc
3
+ metadata.gz: d353d6eb40443ec91c1b121bef107dc2ff2cf075bf9bf0bda21785992954e193
4
+ data.tar.gz: 5b24c924e1b10ec2f1b09e2ee267d6e12654912c1dc93dbaa1e407b6d56cae3b
5
5
  SHA512:
6
- metadata.gz: 4457fcc8b132f5c7229d8ac5a480b0a3b86de5c1f5a8f28b688cca1e228a1d745fb906495708cf1466cc3a97aaead69fcb970f5fbffd457cdb8cf474ae72eda9
7
- data.tar.gz: 778cebe2ed866d97858822ec755de7ebe105203450e1cc1de8858b863c1af21788582c74d86f249ea2c5561d5c330c669540d970e2769fadbed8f997e223daba
6
+ metadata.gz: 8b9c7b2640f55ba71fc4907e2cb2a04d48564cb0a1bf5320cfdcaf822ff6aaf1e2a2fa09610036f9852ee06a86e4fed953e4f1bb4203ee728153a2c20cbc6aa9
7
+ data.tar.gz: 658e867cdfd96575e748f03c05a25d62773393e47b7c980a20af8a63e4d318bd456e4d371f23bce663436ff0d0c2fe7cc0125b83a807c5c87370dd915805ed18
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- workos (5.0.0)
4
+ workos (5.2.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -8,7 +8,7 @@ module WorkOS
8
8
  include HashProvider
9
9
 
10
10
  attr_accessor :id, :idp_id, :emails, :first_name, :last_name, :job_title, :username, :state,
11
- :groups, :custom_attributes, :raw_attributes, :directory_id, :organization_id,
11
+ :groups, :role, :custom_attributes, :raw_attributes, :directory_id, :organization_id,
12
12
  :created_at, :updated_at
13
13
 
14
14
  # rubocop:disable Metrics/AbcSize
@@ -26,6 +26,7 @@ module WorkOS
26
26
  @username = hash[:username]
27
27
  @state = hash[:state]
28
28
  @groups = hash[:groups]
29
+ @role = hash[:role]
29
30
  @custom_attributes = hash[:custom_attributes]
30
31
  @raw_attributes = hash[:raw_attributes]
31
32
  @created_at = hash[:created_at]
@@ -48,6 +49,7 @@ module WorkOS
48
49
  username: username,
49
50
  state: state,
50
51
  groups: groups,
52
+ role: role,
51
53
  custom_attributes: custom_attributes,
52
54
  raw_attributes: raw_attributes,
53
55
  created_at: created_at,
@@ -7,7 +7,7 @@ module WorkOS
7
7
  class OrganizationMembership
8
8
  include HashProvider
9
9
 
10
- attr_accessor :id, :user_id, :organization_id, :status, :created_at, :updated_at
10
+ attr_accessor :id, :user_id, :organization_id, :status, :role, :created_at, :updated_at
11
11
 
12
12
  def initialize(json)
13
13
  hash = JSON.parse(json, symbolize_names: true)
@@ -16,6 +16,7 @@ module WorkOS
16
16
  @user_id = hash[:user_id]
17
17
  @organization_id = hash[:organization_id]
18
18
  @status = hash[:status]
19
+ @role = hash[:role]
19
20
  @created_at = hash[:created_at]
20
21
  @updated_at = hash[:updated_at]
21
22
  end
@@ -26,6 +27,7 @@ module WorkOS
26
27
  user_id: user_id,
27
28
  organization_id: organization_id,
28
29
  status: status,
30
+ role: role,
29
31
  created_at: created_at,
30
32
  updated_at: updated_at,
31
33
  }
@@ -74,12 +74,13 @@ module WorkOS
74
74
  # @param [Array<Hash>] domain_data List of domain hashes describing an orgnaization domain.
75
75
  # @option domain_data [String] domain The domain that belongs to the organization.
76
76
  # @option domain_data [String] state The state of the domain. "verified" or "pending"
77
- # @param [Array<String>] domains List of domains that belong to the organization.
78
- # Deprecated: Use domain_data instead.
79
77
  # @param [String] name A unique, descriptive name for the organization
80
- # @param [Boolean, nil] allow_profiles_outside_organization Whether Connections
81
- # within the Organization allow profiles that are outside of the Organization's configured User Email Domains.
82
78
  # @param [String] idempotency_key An idempotency key
79
+ # @param [Boolean, nil] allow_profiles_outside_organization Whether Connections
80
+ # within the Organization allow profiles that are outside of the Organization's configured User Email Domains.
81
+ # Deprecated: If you need to allow sign-ins from any email domain, contact suppport@workos.com.
82
+ # @param [Array<String>] domains List of domains that belong to the organization.
83
+ # Deprecated: Use domain_data instead.
83
84
  def create_organization(
84
85
  domain_data: nil,
85
86
  domains: nil,
@@ -87,16 +88,23 @@ module WorkOS
87
88
  allow_profiles_outside_organization: nil,
88
89
  idempotency_key: nil
89
90
  )
90
- warn_deprecation '`domains` is deprecated. Use `domain_data` instead.' if domains
91
+ body = { name: name }
92
+ body[:domain_data] = domain_data if domain_data
93
+
94
+ if domains
95
+ warn_deprecation '`domains` is deprecated. Use `domain_data` instead.'
96
+ body[:domains] = domains
97
+ end
98
+
99
+ unless allow_profiles_outside_organization.nil?
100
+ warn_deprecation '`allow_profiles_outside_organization` is deprecated. ' \
101
+ 'If you need to allow sign-ins from any email domain, contact support@workos.com.'
102
+ body[:allow_profiles_outside_organization] = allow_profiles_outside_organization
103
+ end
91
104
 
92
105
  request = post_request(
93
106
  auth: true,
94
- body: {
95
- domain_data: domain_data,
96
- domains: domains,
97
- name: name,
98
- allow_profiles_outside_organization: allow_profiles_outside_organization,
99
- },
107
+ body: body,
100
108
  path: '/organizations',
101
109
  idempotency_key: idempotency_key,
102
110
  )
@@ -113,21 +121,36 @@ module WorkOS
113
121
  # @param [Array<Hash>] domain_data List of domain hashes describing an orgnaization domain.
114
122
  # @option domain_data [String] domain The domain that belongs to the organization.
115
123
  # @option domain_data [String] state The state of the domain. "verified" or "pending"
116
- # @param [Array<String>] domains List of domains that belong to the organization.
117
- # Deprecated: Use domain_data instead.
118
124
  # @param [String] name A unique, descriptive name for the organization
119
125
  # @param [Boolean, nil] allow_profiles_outside_organization Whether Connections
120
- # within the Organization allow profiles that are outside of the Organization's configured User Email Domains.
121
- def update_organization(organization:, domains:, name:, allow_profiles_outside_organization: nil)
122
- warn_deprecation '`domains` is deprecated. Use `domain_data` instead.' if domains
126
+ # within the Organization allow profiles that are outside of the Organization's configured User Email Domains.
127
+ # Deprecated: If you need to allow sign-ins from any email domain, contact suppport@workos.com.
128
+ # @param [Array<String>] domains List of domains that belong to the organization.
129
+ # Deprecated: Use domain_data instead.
130
+ def update_organization(
131
+ organization:,
132
+ domain_data: nil,
133
+ domains: nil,
134
+ name:,
135
+ allow_profiles_outside_organization: nil
136
+ )
137
+ body = { name: name }
138
+ body[:domain_data] = domain_data if domain_data
139
+
140
+ if domains
141
+ warn_deprecation '`domains` is deprecated. Use `domain_data` instead.'
142
+ body[:domains] = domains
143
+ end
144
+
145
+ unless allow_profiles_outside_organization.nil?
146
+ warn_deprecation '`allow_profiles_outside_organization` is deprecated. ' \
147
+ 'If you need to allow sign-ins from any email domain, contact support@workos.com.'
148
+ body[:allow_profiles_outside_organization] = allow_profiles_outside_organization
149
+ end
123
150
 
124
151
  request = put_request(
125
152
  auth: true,
126
- body: {
127
- domains: domains,
128
- name: name,
129
- allow_profiles_outside_organization: allow_profiles_outside_organization,
130
- },
153
+ body: body,
131
154
  path: "/organizations/#{organization}",
132
155
  )
133
156
 
@@ -841,14 +841,37 @@ module WorkOS
841
841
  #
842
842
  # @param [String] user_id The ID of the User.
843
843
  # @param [String] organization_id The ID of the Organization to which the user belongs to.
844
+ # @param [String] role_slug The slug of the role to grant to this membership. (Optional)
844
845
  #
845
846
  # @return [WorkOS::OrganizationMembership]
846
- def create_organization_membership(user_id:, organization_id:)
847
+ def create_organization_membership(user_id:, organization_id:, role_slug: nil)
847
848
  request = post_request(
848
849
  path: '/user_management/organization_memberships',
849
850
  body: {
850
851
  user_id: user_id,
851
852
  organization_id: organization_id,
853
+ role_slug: role_slug,
854
+ },
855
+ auth: true,
856
+ )
857
+
858
+ response = execute_request(request: request)
859
+
860
+ WorkOS::OrganizationMembership.new(response.body)
861
+ end
862
+
863
+ # Update an Organization Membership
864
+ #
865
+ # @param [String] organization_membership_id The ID of the Organization Membership.
866
+ # @param [String] role_slug The slug of the role to grant to this membership.
867
+ #
868
+ # @return [WorkOS::OrganizationMembership]
869
+ def update_organization_membership(organization_membership_id:, role_slug:)
870
+ request = put_request(
871
+ path: "/user_management/organization_memberships/#{id}",
872
+ body: {
873
+ organization_membership_id: organization_membership_id,
874
+ role_slug: role_slug,
852
875
  },
853
876
  auth: true,
854
877
  )
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module WorkOS
4
- VERSION = '5.0.0'
4
+ VERSION = '5.2.0'
5
5
  end
@@ -462,10 +462,10 @@ describe WorkOS::DirectorySync do
462
462
  'directory_user_01FAZYNPC8M0HRYTKFP2GNX852',
463
463
  )
464
464
 
465
- expect(user['first_name']).to eq('Logan')
465
+ expect(user['first_name']).to eq('Bob')
466
466
  expect(user.directory_id).to eq('directory_01FAZYMST676QMTFN1DDJZZX87')
467
467
  expect(user.organization_id).to eq('org_01FAZWCWR03DVWA83NCJYKKD54')
468
- expect(user.first_name).to eq('Logan')
468
+ expect(user.first_name).to eq('Bob')
469
469
  end
470
470
  end
471
471
  end
@@ -5,31 +5,47 @@ describe WorkOS::DirectoryUser do
5
5
  describe '.get_primary_email' do
6
6
  context 'with one primary email' do
7
7
  it 'returns the primary email' do
8
- user = WorkOS::DirectoryUser.new('{"object":"directory_user","id":"directory_user_01FAZYNPC8M0HRYTKFP2GNX852","directory_id":"directory_01FAZYMST676QMTFN1DDJZZX87","idp_id":"6092c280a3f1e19ef6d8cef8","username":"logan@workos.com","emails":[{"primary":true,"value":"logan@workos.com"}, {"primary":false,"value":"logan@gmail.com"}],"first_name":"Logan","last_name":"Gingerich","job_title":"Developer Success Engineer","state":"active","raw_attributes":{},"custom_attributes":{},"groups":[],"created_at":"2022-05-13T17:45:31.732Z", "updated_at":"2022-07-13T17:45:42.618Z"}')
9
- expect(user.primary_email).to eq('logan@workos.com')
8
+ user = WorkOS::DirectoryUser.new('{"object":"directory_user","id":"directory_user_01FAZYNPC8M0HRYTKFP2GNX852","directory_id":"directory_01FAZYMST676QMTFN1DDJZZX87","idp_id":"6092c280a3f1e19ef6d8cef8","username":"bob.fakename@workos.com","emails":[{"primary":true,"value":"bob.fakename@workos.com"}, {"primary":false,"value":"Bob@gmail.com"}],"first_name":"Bob","last_name":"Fakename","job_title":"Developer Success Engineer","state":"active","raw_attributes":{},"custom_attributes":{},"groups":[],"created_at":"2022-05-13T17:45:31.732Z", "updated_at":"2022-07-13T17:45:42.618Z"}')
9
+ expect(user.primary_email).to eq('bob.fakename@workos.com')
10
10
  end
11
11
  end
12
12
 
13
13
  context 'with multiple primary emails' do
14
14
  it 'returns the first email marked as primary' do
15
- user = WorkOS::DirectoryUser.new('{"object":"directory_user","id":"directory_user_01FAZYNPC8M0HRYTKFP2GNX852","directory_id":"directory_01FAZYMST676QMTFN1DDJZZX87","idp_id":"6092c280a3f1e19ef6d8cef8","username":"logan@workos.com","emails":[{"primary":true,"value":"logan@workos.com"}, {"primary":true,"value":"logan@gmail.com"}],"first_name":"Logan","last_name":"Gingerich","job_title":"Developer Success Engineer","state":"active","raw_attributes":{},"custom_attributes":{},"groups":[],"created_at":"2022-05-13T17:45:31.732Z", "updated_at":"2022-07-13T17:45:42.618Z"}')
16
- expect(user.primary_email).to eq('logan@workos.com')
15
+ user = WorkOS::DirectoryUser.new('{"object":"directory_user","id":"directory_user_01FAZYNPC8M0HRYTKFP2GNX852","directory_id":"directory_01FAZYMST676QMTFN1DDJZZX87","idp_id":"6092c280a3f1e19ef6d8cef8","username":"bob.fakename@workos.com","emails":[{"primary":true,"value":"bob.fakename@workos.com"}, {"primary":true,"value":"Bob@gmail.com"}],"first_name":"Bob","last_name":"Fakename","job_title":"Developer Success Engineer","state":"active","raw_attributes":{},"custom_attributes":{},"groups":[],"created_at":"2022-05-13T17:45:31.732Z", "updated_at":"2022-07-13T17:45:42.618Z"}')
16
+ expect(user.primary_email).to eq('bob.fakename@workos.com')
17
17
  end
18
18
  end
19
19
 
20
20
  context 'with no primary emails' do
21
21
  it 'returns nil' do
22
- user = WorkOS::DirectoryUser.new('{"object":"directory_user","id":"directory_user_01FAZYNPC8M0HRYTKFP2GNX852","directory_id":"directory_01FAZYMST676QMTFN1DDJZZX87","idp_id":"6092c280a3f1e19ef6d8cef8","username":"logan@workos.com","emails":[{"primary":false,"value":"logan@gmail.com"}],"first_name":"Logan","last_name":"Gingerich","job_title":"Developer Success Engineer","state":"active","raw_attributes":{},"custom_attributes":{},"groups":[],"created_at":"2022-05-13T17:45:31.732Z","updated_at":"2022-07-13T17:45:42.618Z"}')
22
+ user = WorkOS::DirectoryUser.new('{"object":"directory_user","id":"directory_user_01FAZYNPC8M0HRYTKFP2GNX852","directory_id":"directory_01FAZYMST676QMTFN1DDJZZX87","idp_id":"6092c280a3f1e19ef6d8cef8","username":"bob.fakename@workos.com","emails":[{"primary":false,"value":"Bob@gmail.com"}],"first_name":"Bob","last_name":"Fakename","job_title":"Developer Success Engineer","state":"active","raw_attributes":{},"custom_attributes":{},"groups":[],"created_at":"2022-05-13T17:45:31.732Z","updated_at":"2022-07-13T17:45:42.618Z"}')
23
23
  expect(user.primary_email).to eq(nil)
24
24
  end
25
25
  end
26
26
 
27
27
  context 'with an empty email array' do
28
28
  it 'returns nil' do
29
- user = WorkOS::DirectoryUser.new('{"object":"directory_user","id":"directory_user_01FAZYNPC8M0HRYTKFP2GNX852","directory_id":"directory_01FAZYMST676QMTFN1DDJZZX87","idp_id":"6092c280a3f1e19ef6d8cef8","username":"logan@workos.com","emails":[],"first_name":"Logan","last_name":"Gingerich","job_title":"Developer Success Engineer","state":"active","raw_attributes":{},"custom_attributes":{},"groups":[],"created_at":"2022-05-13T17:45:31.732Z","updated_at":"2022-07-13T17:45:42.618Z"}')
29
+ user = WorkOS::DirectoryUser.new('{"object":"directory_user","id":"directory_user_01FAZYNPC8M0HRYTKFP2GNX852","directory_id":"directory_01FAZYMST676QMTFN1DDJZZX87","idp_id":"6092c280a3f1e19ef6d8cef8","username":"bob.fakename@workos.com","emails":[],"first_name":"Bob","last_name":"Fakename","job_title":"Developer Success Engineer","state":"active","raw_attributes":{},"custom_attributes":{},"groups":[],"created_at":"2022-05-13T17:45:31.732Z","updated_at":"2022-07-13T17:45:42.618Z"}')
30
30
  expect(user.primary_email).to eq(nil)
31
31
  end
32
32
  end
33
33
  end
34
+
35
+ describe '.get_role' do
36
+ context 'with no role' do
37
+ it 'returns no role' do
38
+ user = WorkOS::DirectoryUser.new('{"object":"directory_user","id":"directory_user_01FAZYNPC8M0HRYTKFP2GNX852","directory_id":"directory_01FAZYMST676QMTFN1DDJZZX87","idp_id":"6092c280a3f1e19ef6d8cef8","username":"bob.fakename@workos.com","emails":[{"primary":true,"value":"bob.fakename@workos.com"}, {"primary":false,"value":"bob.fakename@gmail.com"}],"first_name":"Bob","last_name":"Gingerich","job_title":"Developer Success Engineer","state":"active","raw_attributes":{},"custom_attributes":{},"groups":[],"created_at":"2022-05-13T17:45:31.732Z", "updated_at":"2022-07-13T17:45:42.618Z"}')
39
+ expect(user.role).to eq(nil)
40
+ end
41
+ end
42
+
43
+ context 'with a role' do
44
+ it 'returns the role slug' do
45
+ user = WorkOS::DirectoryUser.new('{"object":"directory_user","id":"directory_user_01FAZYNPC8M0HRYTKFP2GNX852","directory_id":"directory_01FAZYMST676QMTFN1DDJZZX87","idp_id":"6092c280a3f1e19ef6d8cef8","username":"bob.fakename@workos.com","emails":[{"primary":true,"value":"bob.fakename@workos.com"}, {"primary":false,"value":"bob.fakename@gmail.com"}],"first_name":"Bob","last_name":"Gingerich","job_title":"Developer Success Engineer","state":"active","raw_attributes":{},"custom_attributes":{},"groups":[],"role":{"slug":"member"},"created_at":"2022-05-13T17:45:31.732Z", "updated_at":"2022-07-13T17:45:42.618Z"}')
46
+ expect(user.role).to eq({ slug: 'member' })
47
+ end
48
+ end
49
+ end
34
50
  # rubocop:enable Layout/LineLength
35
51
  end
@@ -1039,19 +1039,36 @@ describe WorkOS::UserManagement do
1039
1039
 
1040
1040
  expect(organization_membership.organization_id).to eq('organization_01H5JQDV7R7ATEYZDEG0W5PRYS')
1041
1041
  expect(organization_membership.user_id).to eq('user_01H5JQDV7R7ATEYZDEG0W5PRYS')
1042
+ expect(organization_membership.role).to eq({ slug: 'member' })
1042
1043
  end
1043
1044
  end
1045
+ end
1044
1046
 
1045
- context 'with an invalid payload' do
1046
- it 'returns an error' do
1047
- VCR.use_cassette 'user_management/create_organization_membership/invalid' do
1048
- expect do
1049
- described_class.create_organization_membership(user_id: '', organization_id: '')
1050
- end.to raise_error(
1051
- WorkOS::UnprocessableEntityError,
1052
- /user_id_string_required/,
1053
- )
1054
- end
1047
+ context 'with an invalid payload' do
1048
+ it 'returns an error' do
1049
+ VCR.use_cassette 'user_management/create_organization_membership/invalid' do
1050
+ expect do
1051
+ described_class.create_organization_membership(user_id: '', organization_id: '')
1052
+ end.to raise_error(
1053
+ WorkOS::UnprocessableEntityError,
1054
+ /user_id_string_required/,
1055
+ )
1056
+ end
1057
+ end
1058
+ end
1059
+
1060
+ context 'with a role slug' do
1061
+ it 'creates an organization with the given role slug ' do
1062
+ VCR.use_cassette 'user_management/create_organization_membership/valid' do
1063
+ organization_membership = described_class.create_organization_membership(
1064
+ user_id: 'user_01H5JQDV7R7ATEYZDEG0W5PRYS',
1065
+ organization_id: 'org_01H5JQDV7R7ATEYZDEG0W5PRYS',
1066
+ role_slug: 'member',
1067
+ )
1068
+
1069
+ expect(organization_membership.organization_id).to eq('organization_01H5JQDV7R7ATEYZDEG0W5PRYS')
1070
+ expect(organization_membership.user_id).to eq('user_01H5JQDV7R7ATEYZDEG0W5PRYS')
1071
+ expect(organization_membership.role).to eq({ slug: 'member' })
1055
1072
  end
1056
1073
  end
1057
1074
  end
@@ -74,10 +74,10 @@ http_interactions:
74
74
  - 72abbbf2b93e8ca5-EWR
75
75
  body:
76
76
  encoding: ASCII-8BIT
77
- string: '{"object":"directory_user","id":"directory_user_01FAZYNPC8M0HRYTKFP2GNX852","directory_id":"directory_01FAZYMST676QMTFN1DDJZZX87","organization_id":"org_01FAZWCWR03DVWA83NCJYKKD54","idp_id":"6092c280a3f1e19ef6d8cef8","username":"logan@workos.com","emails":[{"primary":true,"value":"logan@workos.com"}],"first_name":"Logan","last_name":"Gingerich","job_title":"Developer Success Engineer","state":"active","raw_attributes":{"id":"6092c280a3f1e19ef6d8cef8","name":"Logan
78
- Paul Gingerich","teams":["5f696c8e9a63a60e965aaca8"],"spokeId":null,"lastName":"Gingerich","created_at":"2021-05-05T16:06:24+0000","firstName":"Logan","updated_at":"2021-11-11T05:08:14+0000","workEmail":"logan@workos.com","department":"Infra","departmentId":"5f27ada9a5e9bc0001a0ae4a"},"custom_attributes":{},"created_at":"2021-07-19T17:57:57.268Z","updated_at":"2022-01-24T11:23:01.614Z","groups":[{"object":"directory_group","id":"directory_group_01FAZYNNQ4HQ6EBF29MPTH7VKB","idp_id":"5f696c8e9a63a60e965aaca8","directory_id":"directory_01FAZYMST676QMTFN1DDJZZX87","organization_id":"org_01FAZWCWR03DVWA83NCJYKKD54","name":"Team
77
+ string: '{"object":"directory_user","id":"directory_user_01FAZYNPC8M0HRYTKFP2GNX852","directory_id":"directory_01FAZYMST676QMTFN1DDJZZX87","organization_id":"org_01FAZWCWR03DVWA83NCJYKKD54","idp_id":"6092c280a3f1e19ef6d8cef8","username":"bob.fakename@workos.com","emails":[{"primary":true,"value":"bob.fakename@workos.com"}],"first_name":"Bob","last_name":"Fakename","job_title":"Developer Success Engineer","state":"active","raw_attributes":{"id":"6092c280a3f1e19ef6d8cef8","name":"Bob
78
+ Bob Fakename","teams":["5f696c8e9a63a60e965aaca8"],"spokeId":null,"lastName":"Fakename","created_at":"2021-05-05T16:06:24+0000","firstName":"Bob","updated_at":"2021-11-11T05:08:14+0000","workEmail":"bob.fakename@workos.com","department":"Infra","departmentId":"5f27ada9a5e9bc0001a0ae4a"},"custom_attributes":{},"created_at":"2021-07-19T17:57:57.268Z","updated_at":"2022-01-24T11:23:01.614Z","groups":[{"object":"directory_group","id":"directory_group_01FAZYNNQ4HQ6EBF29MPTH7VKB","idp_id":"5f696c8e9a63a60e965aaca8","directory_id":"directory_01FAZYMST676QMTFN1DDJZZX87","organization_id":"org_01FAZWCWR03DVWA83NCJYKKD54","name":"Team
79
79
  - Platform","created_at":"2021-07-19T17:57:56.580Z","updated_at":"2022-01-24T11:23:01.333Z","raw_attributes":{"id":"5f696c8e9a63a60e965aaca8","name":"Platform","parent":null}},{"object":"directory_group","id":"directory_group_01FAZYNN1NZWMBRAXXDSTB5NFH","idp_id":"5f27ada9a5e9bc0001a0ae4a","directory_id":"directory_01FAZYMST676QMTFN1DDJZZX87","organization_id":"org_01FAZWCWR03DVWA83NCJYKKD54","name":"Department
80
- - Infra","created_at":"2021-07-19T17:57:55.893Z","updated_at":"2022-01-24T11:23:01.333Z","raw_attributes":{"id":"5f27ada9a5e9bc0001a0ae4a","name":"Infra","parent":"5f27ada9a5e9bc0001a0ae48"}}]}'
80
+ - Infra","role":{"slug":"member"},"created_at":"2021-07-19T17:57:55.893Z","updated_at":"2022-01-24T11:23:01.333Z","raw_attributes":{"id":"5f27ada9a5e9bc0001a0ae4a","name":"Infra","parent":"5f27ada9a5e9bc0001a0ae48"}}]}'
81
81
  http_version:
82
82
  recorded_at: Thu, 14 Jul 2022 16:46:23 GMT
83
83
  recorded_with: VCR 5.0.0
@@ -77,8 +77,8 @@ http_interactions:
77
77
  ma=86400
78
78
  body:
79
79
  encoding: ASCII-8BIT
80
- string: '{"object":"list","listMetadata":{"before":null,"after":"directory_user_01FAZYNPC8M0HRYTKFP2GNX852"},"data":[{"object":"directory_user","id":"directory_user_01FAZYNPC8M0HRYTKFP2GNX852","directory_id":"directory_01FAZYMST676QMTFN1DDJZZX87","idp_id":"6092c280a3f1e19ef6d8cef8","username":"logan@workos.com","emails":[{"primary":true,"value":"logan@workos.com"}],"first_name":"Logan","last_name":"Gingerich","job_title":"Developer Success Engineer","state":"active","created_at":"2021-05-05T16:06:24+0000","updated_at":"2021-07-19T19:17:52+0000","raw_attributes":{"id":"6092c280a3f1e19ef6d8cef8","name":"Logan
81
- Paul Gingerich","teams":["5f696c8e9a63a60e965aaca8"],"spokeId":null,"lastName":"Gingerich","firstName":"Logan","workEmail":"logan@workos.com","department":"Infra","departmentId":"5f27ada9a5e9bc0001a0ae4a"},"custom_attributes":{"department":"Infra"},"groups":[{"object":"directory_group","id":"directory_group_01FAZYNN1NZWMBRAXXDSTB5NFH","directory_id":"directory_01FAZYMST676QMTFN1DDJZZX87","name":"Department
80
+ string: '{"object":"list","listMetadata":{"before":null,"after":"directory_user_01FAZYNPC8M0HRYTKFP2GNX852"},"data":[{"object":"directory_user","id":"directory_user_01FAZYNPC8M0HRYTKFP2GNX852","directory_id":"directory_01FAZYMST676QMTFN1DDJZZX87","idp_id":"6092c280a3f1e19ef6d8cef8","username":"bob.fakename@workos.com","emails":[{"primary":true,"value":"bob.fakename@workos.com"}],"first_name":"Bob","last_name":"Fakename","job_title":"Developer Success Engineer","state":"active","created_at":"2021-05-05T16:06:24+0000","updated_at":"2021-07-19T19:17:52+0000","raw_attributes":{"id":"6092c280a3f1e19ef6d8cef8","name":"Bob
81
+ Bob Fakename","teams":["5f696c8e9a63a60e965aaca8"],"spokeId":null,"lastName":"Fakename","firstName":"Bob","workEmail":"bob.fakename@workos.com","department":"Infra","departmentId":"5f27ada9a5e9bc0001a0ae4a"},"custom_attributes":{"department":"Infra"},"groups":[{"object":"directory_group","id":"directory_group_01FAZYNN1NZWMBRAXXDSTB5NFH","directory_id":"directory_01FAZYMST676QMTFN1DDJZZX87","name":"Department
82
82
  - Infra","raw_attributes":{"id":"5f27ada9a5e9bc0001a0ae4a","name":"Infra","parent":"5f27ada9a5e9bc0001a0ae48"}},{"object":"directory_group","id":"directory_group_01FAZYNNQ4HQ6EBF29MPTH7VKB","directory_id":"directory_01FAZYMST676QMTFN1DDJZZX87","name":"Team
83
83
  - Platform","raw_attributes":{"id":"5f696c8e9a63a60e965aaca8","name":"Platform","parent":null}}]},{"object":"directory_user","id":"directory_user_01FAZYNPC8DYPEWZ0BSHBA21RM","directory_id":"directory_01FAZYMST676QMTFN1DDJZZX87","idp_id":"5f27ada8a5e9bc0001a0adcf","username":"workos@test.com","emails":[{"primary":true,"value":"workos@test.com"}],"first_name":"Michael","last_name":"Grinich","job_title":"CEO","state":"active","created_at":"2020-08-03T06:24:40+0000","updated_at":"2021-07-07T08:50:53+0000","raw_attributes":{"id":"5f27ada8a5e9bc0001a0adcf","name":"Michael
84
84
  Grinich","teams":[],"spokeId":null,"lastName":"Grinich","firstName":"Michael","workEmail":"workos@test.com","department":"Marketing","departmentId":"5f27ada9a5e9bc0001a0ae4e"},"custom_attributes":{"department":"Marketing"},"groups":[{"object":"directory_group","id":"directory_group_01FAZYNMWS67E66CD01E7A1PC4","directory_id":"directory_01FAZYMST676QMTFN1DDJZZX87","name":"Department
@@ -183,8 +183,8 @@ http_interactions:
183
183
  - Engineering","raw_attributes":{"id":"5f27ada9a5e9bc0001a0ae48","name":"Engineering","parent":null}}]},{"object":"directory_user","id":"directory_user_01FAZYNPC8TJBP7Y2ERT51MGDF","directory_id":"directory_01FAZYMST676QMTFN1DDJZZX87","idp_id":"5f6e1d0d67a73900a6c29e15","username":"henry@workos.com","emails":[{"primary":true,"value":"henry@workos.com"}],"first_name":"Henry","last_name":"Chan","job_title":"Software Engineer","state":"active","created_at":"2020-09-25T16:38:37+0000","updated_at":"2021-07-07T08:46:02+0000","raw_attributes":{"id":"5f6e1d0d67a73900a6c29e15","name":"Henry
184
184
  Chan","teams":["5f696c8e9a63a60e965aaca8"],"spokeId":null,"lastName":"Chan","firstName":"Henry","workEmail":"henry@workos.com","department":"Engineering","departmentId":"5f27ada9a5e9bc0001a0ae48"},"custom_attributes":{"department":"Engineering"},"groups":[{"object":"directory_group","id":"directory_group_01FAZYNNQ4HQ6EBF29MPTH7VKB","directory_id":"directory_01FAZYMST676QMTFN1DDJZZX87","name":"Team
185
185
  - Platform","raw_attributes":{"id":"5f696c8e9a63a60e965aaca8","name":"Platform","parent":null}},{"object":"directory_group","id":"directory_group_01FAZYNMV2TDE78FEAH724YGMP","directory_id":"directory_01FAZYMST676QMTFN1DDJZZX87","name":"Department
186
- - Engineering","raw_attributes":{"id":"5f27ada9a5e9bc0001a0ae48","name":"Engineering","parent":null}}]},{"object":"directory_user","id":"directory_user_01FAZYNPC8M0HRYTKFP2GNX852","directory_id":"directory_01FAZYMST676QMTFN1DDJZZX87","idp_id":"6092c280a3f1e19ef6d8cef8","username":"logan@workos.com","emails":[{"primary":true,"value":"logan@workos.com"}],"first_name":"Logan","last_name":"Gingerich","job_title":"Developer Success Engineer","state":"active","created_at":"2021-05-05T16:06:24+0000","updated_at":"2021-07-19T19:17:52+0000","raw_attributes":{"id":"6092c280a3f1e19ef6d8cef8","name":"Logan
187
- Paul Gingerich","teams":["5f696c8e9a63a60e965aaca8"],"spokeId":null,"lastName":"Gingerich","firstName":"Logan","workEmail":"logan@workos.com","department":"Infra","departmentId":"5f27ada9a5e9bc0001a0ae4a"},"custom_attributes":{"department":"Infra"},"groups":[{"object":"directory_group","id":"directory_group_01FAZYNN1NZWMBRAXXDSTB5NFH","directory_id":"directory_01FAZYMST676QMTFN1DDJZZX87","name":"Department
186
+ - Engineering","raw_attributes":{"id":"5f27ada9a5e9bc0001a0ae48","name":"Engineering","parent":null}}]},{"object":"directory_user","id":"directory_user_01FAZYNPC8M0HRYTKFP2GNX852","directory_id":"directory_01FAZYMST676QMTFN1DDJZZX87","idp_id":"6092c280a3f1e19ef6d8cef8","username":"bob.fakename@workos.com","emails":[{"primary":true,"value":"bob.fakename@workos.com"}],"first_name":"Bob","last_name":"Fakename","job_title":"Developer Success Engineer","state":"active","created_at":"2021-05-05T16:06:24+0000","updated_at":"2021-07-19T19:17:52+0000","raw_attributes":{"id":"6092c280a3f1e19ef6d8cef8","name":"Bob
187
+ Bob Fakename","teams":["5f696c8e9a63a60e965aaca8"],"spokeId":null,"lastName":"Fakename","firstName":"Bob","workEmail":"bob.fakename@workos.com","department":"Infra","departmentId":"5f27ada9a5e9bc0001a0ae4a"},"custom_attributes":{"department":"Infra"},"groups":[{"object":"directory_group","id":"directory_group_01FAZYNN1NZWMBRAXXDSTB5NFH","directory_id":"directory_01FAZYMST676QMTFN1DDJZZX87","name":"Department
188
188
  - Infra","raw_attributes":{"id":"5f27ada9a5e9bc0001a0ae4a","name":"Infra","parent":"5f27ada9a5e9bc0001a0ae48"}},{"object":"directory_group","id":"directory_group_01FAZYNNQ4HQ6EBF29MPTH7VKB","directory_id":"directory_01FAZYMST676QMTFN1DDJZZX87","name":"Team
189
189
  - Platform","raw_attributes":{"id":"5f696c8e9a63a60e965aaca8","name":"Platform","parent":null}}]},{"object":"directory_user","id":"directory_user_01FAZYNPC8DYPEWZ0BSHBA21RM","directory_id":"directory_01FAZYMST676QMTFN1DDJZZX87","idp_id":"5f27ada8a5e9bc0001a0adcf","username":"workos@test.com","emails":[{"primary":true,"value":"workos@test.com"}],"first_name":"Michael","last_name":"Grinich","job_title":"CEO","state":"active","created_at":"2020-08-03T06:24:40+0000","updated_at":"2021-07-07T08:50:53+0000","raw_attributes":{"id":"5f27ada8a5e9bc0001a0adcf","name":"Michael
190
190
  Grinich","teams":[],"spokeId":null,"lastName":"Grinich","firstName":"Michael","workEmail":"workos@test.com","department":"Marketing","departmentId":"5f27ada9a5e9bc0001a0ae4e"},"custom_attributes":{"department":"Marketing"},"groups":[{"object":"directory_group","id":"directory_group_01FAZYNMWS67E66CD01E7A1PC4","directory_id":"directory_01FAZYMST676QMTFN1DDJZZX87","name":"Department
@@ -76,7 +76,7 @@ http_interactions:
76
76
  - cloudflare
77
77
  body:
78
78
  encoding: UTF-8
79
- string: '{"object":"organization_membership","id":"om_01H5JQDV7R7ATEYZDEG0W5PRYS","user_id":"user_01H5JQDV7R7ATEYZDEG0W5PRYS","organization_id":"organization_01H5JQDV7R7ATEYZDEG0W5PRYS","status":"active","created_at":"2023-07-18T02:07:19.911Z","updated_at":"2023-07-18T02:07:19.911Z"}'
79
+ string: '{"object":"organization_membership","id":"om_01H5JQDV7R7ATEYZDEG0W5PRYS","user_id":"user_01H5JQDV7R7ATEYZDEG0W5PRYS","organization_id":"organization_01H5JQDV7R7ATEYZDEG0W5PRYS","status":"active","role":{"slug":"member"},"created_at":"2023-07-18T02:07:19.911Z","updated_at":"2023-07-18T02:07:19.911Z"}'
80
80
  http_version:
81
81
  recorded_at: Thu, 17 Aug 2023 14:20:07 GMT
82
82
  recorded_with: VCR 5.0.0
@@ -76,7 +76,7 @@ http_interactions:
76
76
  - cloudflare
77
77
  body:
78
78
  encoding: ASCII-8BIT
79
- string: '{"object": "organization_membership", "id": "om_01H5JQDV7R7ATEYZDEG0W5PRYS", "user_id": "user_01H5JQDV7R7ATEYZDEG0W5PRYS", "organization_id": "organization_01H5JQDV7R7ATEYZDEG0W5PRYS", "status": "active", "created_at": "2023-07-18T02:07:19.911Z", "updated_at": "2023-07-18T02:07:19.911Z"}'
79
+ string: '{"object": "organization_membership", "id": "om_01H5JQDV7R7ATEYZDEG0W5PRYS", "user_id": "user_01H5JQDV7R7ATEYZDEG0W5PRYS", "organization_id": "organization_01H5JQDV7R7ATEYZDEG0W5PRYS", "status": "active", "role": {"slug": "member"}, "created_at": "2023-07-18T02:07:19.911Z", "updated_at": "2023-07-18T02:07:19.911Z"}'
80
80
  http_version:
81
81
  recorded_at: Mon, 14 Aug 2023 21:42:04 GMT
82
82
  recorded_with: VCR 5.0.0
@@ -76,7 +76,7 @@ http_interactions:
76
76
  - cloudflare
77
77
  body:
78
78
  encoding: ASCII-8BIT
79
- string: '{"object":"list","data":[{"object":"organization_membership","id":"om_01H5JQDV7R7ATEYZDEG0W5PRYS","user_id":"user_01H5JQDV7R7ATEYZDEG0W5PRYS","organization_id":"organization_01H5JQDV7R7ATEYZDEG0W5PRYS","status": "active","created_at":"2023-07-18T02:07:19.911Z","updated_at":"2023-07-18T02:07:19.911Z"}, {"object":"organization_membership","id":"om_01H5JQDV7R7ATEYZDEG0W5PRYS","user_id":"user_01H5JQDV7R7ATEYZDEG0W5PRYS","organization_id":"organization_01H5JQDV7R7ATEYZDEG0W5PRYS","status": "active","created_at":"2023-07-18T02:07:19.911Z","updated_at":"2023-07-18T02:07:19.911Z"}],"list_metadata":{"before":"before-id","after":null}}'
79
+ string: '{"object":"list","data":[{"object":"organization_membership","id":"om_01H5JQDV7R7ATEYZDEG0W5PRYS","user_id":"user_01H5JQDV7R7ATEYZDEG0W5PRYS","organization_id":"organization_01H5JQDV7R7ATEYZDEG0W5PRYS","status": "active","role":{"slug":"member"},"created_at":"2023-07-18T02:07:19.911Z","updated_at":"2023-07-18T02:07:19.911Z"}, {"object":"organization_membership","id":"om_01H5JQDV7R7ATEYZDEG0W5PRYS","user_id":"user_01H5JQDV7R7ATEYZDEG0W5PRYS","organization_id":"organization_01H5JQDV7R7ATEYZDEG0W5PRYS","status": "active","role":{"slug":"member"},"created_at":"2023-07-18T02:07:19.911Z","updated_at":"2023-07-18T02:07:19.911Z"}],"list_metadata":{"before":"before-id","after":null}}'
80
80
  http_version:
81
81
  recorded_at: Tue, 15 Aug 2023 14:12:43 GMT
82
82
  recorded_with: VCR 5.0.0
@@ -76,7 +76,7 @@ http_interactions:
76
76
  - cloudflare
77
77
  body:
78
78
  encoding: ASCII-8BIT
79
- string: '{"object":"list","data":[{"object":"organization_membership","id":"om_01H5JQDV7R7ATEYZDEG0W5PRYS","user_id":"user_01H5JQDV7R7ATEYZDEG0W5PRYS","organization_id":"organization_01H5JQDV7R7ATEYZDEG0W5PRYS","status": "active","created_at":"2023-07-18T02:07:19.911Z","updated_at":"2023-07-18T02:07:19.911Z"}],"list_metadata":{"before":null,"after":null}}'
79
+ string: '{"object":"list","data":[{"object":"organization_membership","id":"om_01H5JQDV7R7ATEYZDEG0W5PRYS","user_id":"user_01H5JQDV7R7ATEYZDEG0W5PRYS","organization_id":"organization_01H5JQDV7R7ATEYZDEG0W5PRYS","status": "active","role":{"slug":"member"},"created_at":"2023-07-18T02:07:19.911Z","updated_at":"2023-07-18T02:07:19.911Z"}],"list_metadata":{"before":null,"after":null}}'
80
80
  http_version:
81
81
  recorded_at: Tue, 15 Aug 2023 16:37:20 GMT
82
82
  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: 5.0.0
4
+ version: 5.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - WorkOS
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-06-06 00:00:00.000000000 Z
11
+ date: 2024-06-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler