workos 1.5.0 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +1 -1
  3. data/.ruby-version +1 -1
  4. data/.semaphore/semaphore.yml +2 -2
  5. data/Gemfile.lock +3 -3
  6. data/lib/workos/client.rb +3 -6
  7. data/lib/workos/connection.rb +1 -1
  8. data/lib/workos/directory.rb +2 -2
  9. data/lib/workos/directory_sync.rb +29 -0
  10. data/lib/workos/errors.rb +4 -0
  11. data/lib/workos/organization.rb +4 -1
  12. data/lib/workos/organizations.rb +18 -4
  13. data/lib/workos/profile.rb +7 -2
  14. data/lib/workos/types/connection_struct.rb +1 -1
  15. data/lib/workos/types/directory_struct.rb +2 -2
  16. data/lib/workos/types/organization_struct.rb +1 -0
  17. data/lib/workos/types/profile_struct.rb +1 -0
  18. data/lib/workos/types/webhook_struct.rb +14 -0
  19. data/lib/workos/types.rb +1 -0
  20. data/lib/workos/version.rb +1 -1
  21. data/lib/workos/webhook.rb +47 -0
  22. data/lib/workos/webhooks.rb +168 -0
  23. data/lib/workos.rb +3 -0
  24. data/spec/lib/workos/audit_trail_spec.rb +2 -0
  25. data/spec/lib/workos/directory_sync_spec.rb +45 -10
  26. data/spec/lib/workos/organizations_spec.rb +2 -0
  27. data/spec/lib/workos/passwordless_spec.rb +2 -0
  28. data/spec/lib/workos/portal_spec.rb +2 -0
  29. data/spec/lib/workos/sso_spec.rb +4 -0
  30. data/spec/lib/workos/webhooks_spec.rb +190 -0
  31. data/spec/spec_helper.rb +3 -0
  32. data/spec/support/fixtures/vcr_cassettes/{organization/update_invalid.yml → directory_sync/get_directory_with_invalid_id.yml} +35 -25
  33. data/spec/support/fixtures/vcr_cassettes/directory_sync/get_directory_with_valid_id.yml +84 -0
  34. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_directories/with_after.yml +34 -22
  35. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_directories/with_before.yml +36 -22
  36. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_directories/with_domain.yml +30 -19
  37. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_directories/with_limit.yml +31 -20
  38. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_directories/with_no_options.yml +39 -21
  39. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_directories/with_search.yml +32 -20
  40. data/spec/support/fixtures/vcr_cassettes/organization/create.yml +1 -1
  41. data/spec/support/fixtures/vcr_cassettes/organization/get.yml +1 -1
  42. data/spec/support/fixtures/vcr_cassettes/organization/list.yml +4 -4
  43. data/spec/support/fixtures/vcr_cassettes/organization/update.yml +1 -1
  44. data/spec/support/fixtures/vcr_cassettes/sso/profile.yml +1 -1
  45. data/spec/support/profile.txt +1 -1
  46. data/spec/support/shared_examples/client_spec.rb +16 -0
  47. data/spec/support/webhook_payload.txt +1 -0
  48. metadata +16 -5
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: 1.5.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - WorkOS
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-08-13 00:00:00.000000000 Z
11
+ date: 2021-11-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sorbet-runtime
@@ -234,7 +234,10 @@ files:
234
234
  - lib/workos/types/passwordless_session_struct.rb
235
235
  - lib/workos/types/profile_struct.rb
236
236
  - lib/workos/types/provider_enum.rb
237
+ - lib/workos/types/webhook_struct.rb
237
238
  - lib/workos/version.rb
239
+ - lib/workos/webhook.rb
240
+ - lib/workos/webhooks.rb
238
241
  - sorbet/config
239
242
  - sorbet/rbi/gems/addressable.rbi
240
243
  - sorbet/rbi/gems/ast.rbi
@@ -276,6 +279,7 @@ files:
276
279
  - spec/lib/workos/passwordless_spec.rb
277
280
  - spec/lib/workos/portal_spec.rb
278
281
  - spec/lib/workos/sso_spec.rb
282
+ - spec/lib/workos/webhooks_spec.rb
279
283
  - spec/spec_helper.rb
280
284
  - spec/support/fixtures/vcr_cassettes/audit_trail/create_event.yml
281
285
  - spec/support/fixtures/vcr_cassettes/audit_trail/create_event_custom_idempotency_key.yml
@@ -285,6 +289,8 @@ files:
285
289
  - spec/support/fixtures/vcr_cassettes/audit_trail/get_events.yml
286
290
  - spec/support/fixtures/vcr_cassettes/base/execute_request_unauthenticated.yml
287
291
  - spec/support/fixtures/vcr_cassettes/directory_sync/delete_directory.yml
292
+ - spec/support/fixtures/vcr_cassettes/directory_sync/get_directory_with_invalid_id.yml
293
+ - spec/support/fixtures/vcr_cassettes/directory_sync/get_directory_with_valid_id.yml
288
294
  - spec/support/fixtures/vcr_cassettes/directory_sync/get_group.yml
289
295
  - spec/support/fixtures/vcr_cassettes/directory_sync/get_group_with_invalid_id.yml
290
296
  - spec/support/fixtures/vcr_cassettes/directory_sync/get_user.yml
@@ -315,7 +321,6 @@ files:
315
321
  - spec/support/fixtures/vcr_cassettes/organization/get_invalid.yml
316
322
  - spec/support/fixtures/vcr_cassettes/organization/list.yml
317
323
  - spec/support/fixtures/vcr_cassettes/organization/update.yml
318
- - spec/support/fixtures/vcr_cassettes/organization/update_invalid.yml
319
324
  - spec/support/fixtures/vcr_cassettes/passwordless/create_session.yml
320
325
  - spec/support/fixtures/vcr_cassettes/passwordless/create_session_invalid.yml
321
326
  - spec/support/fixtures/vcr_cassettes/passwordless/send_session.yml
@@ -336,6 +341,8 @@ files:
336
341
  - spec/support/fixtures/vcr_cassettes/sso/list_connections/with_organization_id.yml
337
342
  - spec/support/fixtures/vcr_cassettes/sso/profile.yml
338
343
  - spec/support/profile.txt
344
+ - spec/support/shared_examples/client_spec.rb
345
+ - spec/support/webhook_payload.txt
339
346
  - workos.gemspec
340
347
  homepage: https://github.com/workos-inc/workos-ruby
341
348
  licenses:
@@ -357,7 +364,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
357
364
  - !ruby/object:Gem::Version
358
365
  version: '0'
359
366
  requirements: []
360
- rubygems_version: 3.2.25
367
+ rubygems_version: 3.2.31
361
368
  signing_key:
362
369
  specification_version: 4
363
370
  summary: API client for WorkOS
@@ -369,6 +376,7 @@ test_files:
369
376
  - spec/lib/workos/passwordless_spec.rb
370
377
  - spec/lib/workos/portal_spec.rb
371
378
  - spec/lib/workos/sso_spec.rb
379
+ - spec/lib/workos/webhooks_spec.rb
372
380
  - spec/spec_helper.rb
373
381
  - spec/support/fixtures/vcr_cassettes/audit_trail/create_event.yml
374
382
  - spec/support/fixtures/vcr_cassettes/audit_trail/create_event_custom_idempotency_key.yml
@@ -378,6 +386,8 @@ test_files:
378
386
  - spec/support/fixtures/vcr_cassettes/audit_trail/get_events.yml
379
387
  - spec/support/fixtures/vcr_cassettes/base/execute_request_unauthenticated.yml
380
388
  - spec/support/fixtures/vcr_cassettes/directory_sync/delete_directory.yml
389
+ - spec/support/fixtures/vcr_cassettes/directory_sync/get_directory_with_invalid_id.yml
390
+ - spec/support/fixtures/vcr_cassettes/directory_sync/get_directory_with_valid_id.yml
381
391
  - spec/support/fixtures/vcr_cassettes/directory_sync/get_group.yml
382
392
  - spec/support/fixtures/vcr_cassettes/directory_sync/get_group_with_invalid_id.yml
383
393
  - spec/support/fixtures/vcr_cassettes/directory_sync/get_user.yml
@@ -408,7 +418,6 @@ test_files:
408
418
  - spec/support/fixtures/vcr_cassettes/organization/get_invalid.yml
409
419
  - spec/support/fixtures/vcr_cassettes/organization/list.yml
410
420
  - spec/support/fixtures/vcr_cassettes/organization/update.yml
411
- - spec/support/fixtures/vcr_cassettes/organization/update_invalid.yml
412
421
  - spec/support/fixtures/vcr_cassettes/passwordless/create_session.yml
413
422
  - spec/support/fixtures/vcr_cassettes/passwordless/create_session_invalid.yml
414
423
  - spec/support/fixtures/vcr_cassettes/passwordless/send_session.yml
@@ -429,3 +438,5 @@ test_files:
429
438
  - spec/support/fixtures/vcr_cassettes/sso/list_connections/with_organization_id.yml
430
439
  - spec/support/fixtures/vcr_cassettes/sso/profile.yml
431
440
  - spec/support/profile.txt
441
+ - spec/support/shared_examples/client_spec.rb
442
+ - spec/support/webhook_payload.txt