workos 5.0.0 → 5.2.0

Sign up to get free protection for your applications and to get access to all the features.
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