@workos-inc/node 3.9.2 → 4.0.1

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.
Files changed (153) hide show
  1. package/lib/common/interfaces/event.interface.d.ts +45 -3
  2. package/lib/common/serializers/event.serializer.js +9 -0
  3. package/lib/directory-sync/interfaces/directory-user.interface.d.ts +12 -12
  4. package/lib/index.d.ts +1 -2
  5. package/lib/index.js +1 -2
  6. package/lib/mfa/interfaces/challenge.interface.d.ts +2 -2
  7. package/lib/mfa/interfaces/factor.interface.d.ts +6 -2
  8. package/lib/mfa/interfaces/totp.interface.d.ts +7 -2
  9. package/lib/mfa/serializers/factor.serializer.js +1 -1
  10. package/lib/mfa/serializers/totp.serializer.js +17 -7
  11. package/lib/sso/interfaces/authorization-url-options.interface.d.ts +1 -1
  12. package/lib/sso/interfaces/get-profile-and-token-options.interface.d.ts +1 -1
  13. package/lib/sso/sso.d.ts +2 -2
  14. package/lib/sso/sso.js +4 -4
  15. package/lib/sso/sso.spec.js +21 -21
  16. package/lib/user-management/fixtures/invitation.json +13 -0
  17. package/lib/user-management/fixtures/list-invitations.json +22 -0
  18. package/lib/user-management/fixtures/list-organization-memberships.json +17 -0
  19. package/lib/user-management/fixtures/organization-membership.json +8 -0
  20. package/lib/user-management/interfaces/authenticate-with-code-options.interface.d.ts +11 -0
  21. package/lib/user-management/interfaces/authenticate-with-email-verification-options.interface.d.ts +13 -0
  22. package/lib/user-management/interfaces/authenticate-with-magic-auth-options.interface.d.ts +15 -0
  23. package/lib/user-management/interfaces/authenticate-with-options-base.interface.d.ts +11 -0
  24. package/lib/user-management/interfaces/authenticate-with-organization-selection.interface.d.ts +13 -0
  25. package/lib/user-management/interfaces/authenticate-with-password-options.interface.d.ts +13 -0
  26. package/lib/{users → user-management}/interfaces/authenticate-with-totp-options.interface.d.ts +3 -9
  27. package/lib/{users → user-management}/interfaces/authentication-response.interface.d.ts +2 -0
  28. package/lib/user-management/interfaces/authorization-url-options.interface.d.ts +10 -0
  29. package/lib/user-management/interfaces/create-organization-membership-options.interface.d.ts +8 -0
  30. package/lib/{users → user-management}/interfaces/enroll-auth-factor.interface.d.ts +4 -4
  31. package/lib/{users → user-management}/interfaces/index.d.ts +2 -5
  32. package/lib/{users → user-management}/interfaces/index.js +2 -5
  33. package/lib/user-management/interfaces/invitation.interface.d.ts +26 -0
  34. package/lib/user-management/interfaces/list-invitations-options.interface.d.ts +9 -0
  35. package/lib/user-management/interfaces/list-organization-memberships-options.interface.d.ts +9 -0
  36. package/lib/{users → user-management}/interfaces/list-users-options.interface.d.ts +5 -1
  37. package/lib/user-management/interfaces/organization-membership.interface.d.ts +16 -0
  38. package/lib/user-management/interfaces/send-invitation-options.interface.d.ts +12 -0
  39. package/lib/user-management/interfaces/send-password-reset-email-options.interface.d.ts +8 -0
  40. package/lib/{users → user-management}/interfaces/update-user-options.interface.d.ts +6 -0
  41. package/lib/user-management/interfaces/user.interface.js +2 -0
  42. package/lib/user-management/interfaces/verify-email-options.interface.d.ts +7 -0
  43. package/lib/user-management/interfaces/verify-email-options.interface.js +2 -0
  44. package/lib/user-management/serializers/authenticate-with-email-verification.serializer.d.ts +2 -0
  45. package/lib/user-management/serializers/authenticate-with-email-verification.serializer.js +13 -0
  46. package/lib/{users → user-management}/serializers/authenticate-with-magic-auth-options.serializer.js +2 -1
  47. package/lib/user-management/serializers/authenticate-with-organization-selection-options.serializer.d.ts +2 -0
  48. package/lib/user-management/serializers/authenticate-with-organization-selection-options.serializer.js +13 -0
  49. package/lib/{users → user-management}/serializers/authentication-response.serializer.js +1 -0
  50. package/lib/user-management/serializers/create-organization-membership-options.serializer.d.ts +2 -0
  51. package/lib/user-management/serializers/create-organization-membership-options.serializer.js +8 -0
  52. package/lib/user-management/serializers/invitation.serializer.d.ts +2 -0
  53. package/lib/user-management/serializers/invitation.serializer.js +17 -0
  54. package/lib/user-management/serializers/list-invitations-options.serializer.d.ts +2 -0
  55. package/lib/user-management/serializers/list-invitations-options.serializer.js +12 -0
  56. package/lib/user-management/serializers/list-organization-memberships-options.serializer.d.ts +2 -0
  57. package/lib/user-management/serializers/list-organization-memberships-options.serializer.js +12 -0
  58. package/lib/user-management/serializers/list-users-options.serializer.d.ts +2 -0
  59. package/lib/user-management/serializers/list-users-options.serializer.js +12 -0
  60. package/lib/user-management/serializers/organization-membership.serializer.d.ts +2 -0
  61. package/lib/user-management/serializers/organization-membership.serializer.js +12 -0
  62. package/lib/user-management/serializers/send-invitation-options.serializer.d.ts +2 -0
  63. package/lib/user-management/serializers/send-invitation-options.serializer.js +10 -0
  64. package/lib/user-management/serializers/send-password-reset-email.serializer.d.ts +2 -0
  65. package/lib/user-management/serializers/send-password-reset-email.serializer.js +8 -0
  66. package/lib/{users → user-management}/serializers/update-user-options.serializer.js +3 -0
  67. package/lib/user-management/user-management.d.ts +53 -0
  68. package/lib/user-management/user-management.js +214 -0
  69. package/lib/user-management/user-management.spec.js +748 -0
  70. package/lib/workos.d.ts +2 -4
  71. package/lib/workos.js +3 -5
  72. package/package.json +1 -1
  73. package/lib/audit-trail/audit-trail.d.ts +0 -12
  74. package/lib/audit-trail/audit-trail.js +0 -31
  75. package/lib/audit-trail/audit-trail.spec.js +0 -183
  76. package/lib/audit-trail/interfaces/create-event-options.interface.d.ts +0 -3
  77. package/lib/audit-trail/interfaces/event-options.interface.d.ts +0 -14
  78. package/lib/audit-trail/interfaces/event.interface.d.ts +0 -23
  79. package/lib/audit-trail/interfaces/index.d.ts +0 -4
  80. package/lib/audit-trail/interfaces/list-events-options.interface.d.ts +0 -16
  81. package/lib/users/interfaces/add-user-to-organization-options.interface.d.ts +0 -7
  82. package/lib/users/interfaces/authenticate-with-code-options.interface.d.ts +0 -17
  83. package/lib/users/interfaces/authenticate-with-magic-auth-options.interface.d.ts +0 -19
  84. package/lib/users/interfaces/authenticate-with-password-options.interface.d.ts +0 -19
  85. package/lib/users/interfaces/delete-user-options.interface.d.ts +0 -3
  86. package/lib/users/interfaces/remove-user-from-organization-options.interface.d.ts +0 -4
  87. package/lib/users/interfaces/send-password-reset-options.interface.d.ts +0 -17
  88. package/lib/users/interfaces/verify-email-code-options.interface.d.ts +0 -7
  89. package/lib/users/serializers/send-password-reset-email.serializer.d.ts +0 -3
  90. package/lib/users/serializers/send-password-reset-email.serializer.js +0 -14
  91. package/lib/users/users.d.ts +0 -38
  92. package/lib/users/users.js +0 -140
  93. package/lib/users/users.spec.d.ts +0 -1
  94. package/lib/users/users.spec.js +0 -462
  95. /package/lib/{users → user-management}/fixtures/list-factors.json +0 -0
  96. /package/lib/{users → user-management}/fixtures/list-users.json +0 -0
  97. /package/lib/{users → user-management}/fixtures/user.json +0 -0
  98. /package/lib/{users → user-management}/interfaces/authenticate-with-code-options.interface.js +0 -0
  99. /package/lib/{audit-trail/interfaces/create-event-options.interface.js → user-management/interfaces/authenticate-with-email-verification-options.interface.js} +0 -0
  100. /package/lib/{users → user-management}/interfaces/authenticate-with-magic-auth-options.interface.js +0 -0
  101. /package/lib/{audit-trail/interfaces/event-options.interface.js → user-management/interfaces/authenticate-with-options-base.interface.js} +0 -0
  102. /package/lib/{audit-trail/interfaces/event.interface.js → user-management/interfaces/authenticate-with-organization-selection.interface.js} +0 -0
  103. /package/lib/{users → user-management}/interfaces/authenticate-with-password-options.interface.js +0 -0
  104. /package/lib/{users → user-management}/interfaces/authenticate-with-totp-options.interface.js +0 -0
  105. /package/lib/{users → user-management}/interfaces/authentication-response.interface.js +0 -0
  106. /package/lib/{audit-trail/interfaces/index.js → user-management/interfaces/authorization-url-options.interface.js} +0 -0
  107. /package/lib/{audit-trail/interfaces/list-events-options.interface.js → user-management/interfaces/create-organization-membership-options.interface.js} +0 -0
  108. /package/lib/{users → user-management}/interfaces/create-user-options.interface.d.ts +0 -0
  109. /package/lib/{users → user-management}/interfaces/create-user-options.interface.js +0 -0
  110. /package/lib/{users → user-management}/interfaces/enroll-auth-factor.interface.js +0 -0
  111. /package/lib/{users/interfaces/add-user-to-organization-options.interface.js → user-management/interfaces/invitation.interface.js} +0 -0
  112. /package/lib/{users → user-management}/interfaces/list-auth-factors-options.interface.d.ts +0 -0
  113. /package/lib/{users → user-management}/interfaces/list-auth-factors-options.interface.js +0 -0
  114. /package/lib/{users/interfaces/delete-user-options.interface.js → user-management/interfaces/list-invitations-options.interface.js} +0 -0
  115. /package/lib/{users/interfaces/list-users-options.interface.js → user-management/interfaces/list-organization-memberships-options.interface.js} +0 -0
  116. /package/lib/{users/interfaces/remove-user-from-organization-options.interface.js → user-management/interfaces/list-users-options.interface.js} +0 -0
  117. /package/lib/{users/interfaces/reset-password-options.interface.js → user-management/interfaces/organization-membership.interface.js} +0 -0
  118. /package/lib/{users → user-management}/interfaces/reset-password-options.interface.d.ts +0 -0
  119. /package/lib/{users/interfaces/send-magic-auth-code-options.interface.js → user-management/interfaces/reset-password-options.interface.js} +0 -0
  120. /package/lib/{users/interfaces/send-password-reset-options.interface.js → user-management/interfaces/send-invitation-options.interface.js} +0 -0
  121. /package/lib/{users → user-management}/interfaces/send-magic-auth-code-options.interface.d.ts +0 -0
  122. /package/lib/{users/interfaces/send-verification-email-options.js → user-management/interfaces/send-magic-auth-code-options.interface.js} +0 -0
  123. /package/lib/{users/interfaces/update-user-options.interface.js → user-management/interfaces/send-password-reset-email-options.interface.js} +0 -0
  124. /package/lib/{users → user-management}/interfaces/send-verification-email-options.d.ts +0 -0
  125. /package/lib/{users/interfaces/update-user-password-options.interface.js → user-management/interfaces/send-verification-email-options.js} +0 -0
  126. /package/lib/{users/interfaces/user.interface.js → user-management/interfaces/update-user-options.interface.js} +0 -0
  127. /package/lib/{users → user-management}/interfaces/update-user-password-options.interface.d.ts +0 -0
  128. /package/lib/{users/interfaces/verify-email-code-options.interface.js → user-management/interfaces/update-user-password-options.interface.js} +0 -0
  129. /package/lib/{users → user-management}/interfaces/user.interface.d.ts +0 -0
  130. /package/lib/{users → user-management}/serializers/authenticate-with-code-options.serializer.d.ts +0 -0
  131. /package/lib/{users → user-management}/serializers/authenticate-with-code-options.serializer.js +0 -0
  132. /package/lib/{users → user-management}/serializers/authenticate-with-magic-auth-options.serializer.d.ts +0 -0
  133. /package/lib/{users → user-management}/serializers/authenticate-with-password-options.serializer.d.ts +0 -0
  134. /package/lib/{users → user-management}/serializers/authenticate-with-password-options.serializer.js +0 -0
  135. /package/lib/{users → user-management}/serializers/authenticate-with-totp-options.serializer.d.ts +0 -0
  136. /package/lib/{users → user-management}/serializers/authenticate-with-totp-options.serializer.js +0 -0
  137. /package/lib/{users → user-management}/serializers/authentication-response.serializer.d.ts +0 -0
  138. /package/lib/{users → user-management}/serializers/create-user-options.serializer.d.ts +0 -0
  139. /package/lib/{users → user-management}/serializers/create-user-options.serializer.js +0 -0
  140. /package/lib/{users → user-management}/serializers/enroll-auth-factor-options.serializer.d.ts +0 -0
  141. /package/lib/{users → user-management}/serializers/enroll-auth-factor-options.serializer.js +0 -0
  142. /package/lib/{users → user-management}/serializers/index.d.ts +0 -0
  143. /package/lib/{users → user-management}/serializers/index.js +0 -0
  144. /package/lib/{users → user-management}/serializers/reset-password-options.serializer.d.ts +0 -0
  145. /package/lib/{users → user-management}/serializers/reset-password-options.serializer.js +0 -0
  146. /package/lib/{users → user-management}/serializers/send-magic-auth-code-options.serializer.d.ts +0 -0
  147. /package/lib/{users → user-management}/serializers/send-magic-auth-code-options.serializer.js +0 -0
  148. /package/lib/{users → user-management}/serializers/update-user-options.serializer.d.ts +0 -0
  149. /package/lib/{users → user-management}/serializers/update-user-password-options.serializer.d.ts +0 -0
  150. /package/lib/{users → user-management}/serializers/update-user-password-options.serializer.js +0 -0
  151. /package/lib/{users → user-management}/serializers/user.serializer.d.ts +0 -0
  152. /package/lib/{users → user-management}/serializers/user.serializer.js +0 -0
  153. /package/lib/{audit-trail/audit-trail.spec.d.ts → user-management/user-management.spec.d.ts} +0 -0
@@ -0,0 +1,214 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.UserManagement = void 0;
13
+ const pagination_1 = require("../common/utils/pagination");
14
+ const serializers_1 = require("./serializers");
15
+ const fetch_and_deserialize_1 = require("../common/utils/fetch-and-deserialize");
16
+ const serializers_2 = require("../mfa/serializers");
17
+ const organization_membership_serializer_1 = require("./serializers/organization-membership.serializer");
18
+ const list_organization_memberships_options_serializer_1 = require("./serializers/list-organization-memberships-options.serializer");
19
+ const create_organization_membership_options_serializer_1 = require("./serializers/create-organization-membership-options.serializer");
20
+ const invitation_serializer_1 = require("./serializers/invitation.serializer");
21
+ const list_invitations_options_serializer_1 = require("./serializers/list-invitations-options.serializer");
22
+ const send_invitation_options_serializer_1 = require("./serializers/send-invitation-options.serializer");
23
+ const list_users_options_serializer_1 = require("./serializers/list-users-options.serializer");
24
+ const authenticate_with_email_verification_serializer_1 = require("./serializers/authenticate-with-email-verification.serializer");
25
+ const authenticate_with_organization_selection_options_serializer_1 = require("./serializers/authenticate-with-organization-selection-options.serializer");
26
+ const toQueryString = (options) => {
27
+ const searchParams = new URLSearchParams();
28
+ const keys = Object.keys(options).sort();
29
+ for (const key of keys) {
30
+ const value = options[key];
31
+ if (value) {
32
+ searchParams.append(key, value);
33
+ }
34
+ }
35
+ return searchParams.toString();
36
+ };
37
+ class UserManagement {
38
+ constructor(workos) {
39
+ this.workos = workos;
40
+ }
41
+ getUser(userId) {
42
+ return __awaiter(this, void 0, void 0, function* () {
43
+ const { data } = yield this.workos.get(`/user_management/users/${userId}`);
44
+ return (0, serializers_1.deserializeUser)(data);
45
+ });
46
+ }
47
+ listUsers(options) {
48
+ return __awaiter(this, void 0, void 0, function* () {
49
+ return new pagination_1.AutoPaginatable(yield (0, fetch_and_deserialize_1.fetchAndDeserialize)(this.workos, '/user_management/users', serializers_1.deserializeUser, options ? (0, list_users_options_serializer_1.serializeListUsersOptions)(options) : undefined), (params) => (0, fetch_and_deserialize_1.fetchAndDeserialize)(this.workos, '/user_management/users', serializers_1.deserializeUser, params), options);
50
+ });
51
+ }
52
+ createUser(payload) {
53
+ return __awaiter(this, void 0, void 0, function* () {
54
+ const { data } = yield this.workos.post('/user_management/users', (0, serializers_1.serializeCreateUserOptions)(payload));
55
+ return (0, serializers_1.deserializeUser)(data);
56
+ });
57
+ }
58
+ authenticateWithMagicAuth(payload) {
59
+ return __awaiter(this, void 0, void 0, function* () {
60
+ const { data } = yield this.workos.post('/user_management/authenticate', (0, serializers_1.serializeAuthenticateWithMagicAuthOptions)(Object.assign(Object.assign({}, payload), { clientSecret: this.workos.key })));
61
+ return (0, serializers_1.deserializeAuthenticationResponse)(data);
62
+ });
63
+ }
64
+ authenticateWithPassword(payload) {
65
+ return __awaiter(this, void 0, void 0, function* () {
66
+ const { data } = yield this.workos.post('/user_management/authenticate', (0, serializers_1.serializeAuthenticateWithPasswordOptions)(Object.assign(Object.assign({}, payload), { clientSecret: this.workos.key })));
67
+ return (0, serializers_1.deserializeAuthenticationResponse)(data);
68
+ });
69
+ }
70
+ authenticateWithCode(payload) {
71
+ return __awaiter(this, void 0, void 0, function* () {
72
+ const { data } = yield this.workos.post('/user_management/authenticate', (0, serializers_1.serializeAuthenticateWithCodeOptions)(Object.assign(Object.assign({}, payload), { clientSecret: this.workos.key })));
73
+ return (0, serializers_1.deserializeAuthenticationResponse)(data);
74
+ });
75
+ }
76
+ authenticateWithTotp(payload) {
77
+ return __awaiter(this, void 0, void 0, function* () {
78
+ const { data } = yield this.workos.post('/user_management/authenticate', (0, serializers_1.serializeAuthenticateWithTotpOptions)(Object.assign(Object.assign({}, payload), { clientSecret: this.workos.key })));
79
+ return (0, serializers_1.deserializeAuthenticationResponse)(data);
80
+ });
81
+ }
82
+ authenticateWithEmailVerification(payload) {
83
+ return __awaiter(this, void 0, void 0, function* () {
84
+ const { data } = yield this.workos.post('/user_management/authenticate', (0, authenticate_with_email_verification_serializer_1.serializeAuthenticateWithEmailVerificationOptions)(Object.assign(Object.assign({}, payload), { clientSecret: this.workos.key })));
85
+ return (0, serializers_1.deserializeAuthenticationResponse)(data);
86
+ });
87
+ }
88
+ authenticateWithOrganizationSelection(payload) {
89
+ return __awaiter(this, void 0, void 0, function* () {
90
+ const { data } = yield this.workos.post('/user_management/authenticate', (0, authenticate_with_organization_selection_options_serializer_1.serializeAuthenticateWithOrganizationSelectionOptions)(Object.assign(Object.assign({}, payload), { clientSecret: this.workos.key })));
91
+ return (0, serializers_1.deserializeAuthenticationResponse)(data);
92
+ });
93
+ }
94
+ sendVerificationEmail({ userId, }) {
95
+ return __awaiter(this, void 0, void 0, function* () {
96
+ const { data } = yield this.workos.post(`/user_management/users/${userId}/email_verification/send`, {});
97
+ return { user: (0, serializers_1.deserializeUser)(data.user) };
98
+ });
99
+ }
100
+ sendMagicAuthCode(options) {
101
+ return __awaiter(this, void 0, void 0, function* () {
102
+ yield this.workos.post('/user_management/magic_auth/send', (0, serializers_1.serializeSendMagicAuthCodeOptions)(options));
103
+ });
104
+ }
105
+ verifyEmail({ code, userId, }) {
106
+ return __awaiter(this, void 0, void 0, function* () {
107
+ const { data } = yield this.workos.post(`/user_management/users/${userId}/email_verification/confirm`, {
108
+ code,
109
+ });
110
+ return { user: (0, serializers_1.deserializeUser)(data.user) };
111
+ });
112
+ }
113
+ sendPasswordResetEmail(payload) {
114
+ return __awaiter(this, void 0, void 0, function* () {
115
+ yield this.workos.post('/user_management/password_reset/send', (0, serializers_1.serializeSendPasswordResetEmailOptions)(payload));
116
+ });
117
+ }
118
+ resetPassword(payload) {
119
+ return __awaiter(this, void 0, void 0, function* () {
120
+ const { data } = yield this.workos.post('/user_management/password_reset/confirm', (0, serializers_1.serializeResetPasswordOptions)(payload));
121
+ return { user: (0, serializers_1.deserializeUser)(data.user) };
122
+ });
123
+ }
124
+ updateUser(payload) {
125
+ return __awaiter(this, void 0, void 0, function* () {
126
+ const { data } = yield this.workos.put(`/user_management/users/${payload.userId}`, (0, serializers_1.serializeUpdateUserOptions)(payload));
127
+ return (0, serializers_1.deserializeUser)(data);
128
+ });
129
+ }
130
+ enrollAuthFactor(payload) {
131
+ return __awaiter(this, void 0, void 0, function* () {
132
+ const { data } = yield this.workos.post(`/user_management/users/${payload.userId}/auth_factors`, (0, serializers_1.serializeEnrollAuthFactorOptions)(payload));
133
+ return {
134
+ authenticationFactor: (0, serializers_2.deserializeFactor)(data.authentication_factor),
135
+ authenticationChallenge: (0, serializers_2.deserializeChallenge)(data.authentication_challenge),
136
+ };
137
+ });
138
+ }
139
+ listAuthFactors(options) {
140
+ return __awaiter(this, void 0, void 0, function* () {
141
+ return new pagination_1.AutoPaginatable(yield (0, fetch_and_deserialize_1.fetchAndDeserialize)(this.workos, `/user_management/users/${options.userId}/auth_factors`, serializers_2.deserializeFactor, options), (params) => (0, fetch_and_deserialize_1.fetchAndDeserialize)(this.workos, `/user_management/users/${options.userId}/auth_factors`, serializers_2.deserializeFactor, params), options);
142
+ });
143
+ }
144
+ deleteUser(userId) {
145
+ return __awaiter(this, void 0, void 0, function* () {
146
+ yield this.workos.delete(`/user_management/users/${userId}`);
147
+ });
148
+ }
149
+ getOrganizationMembership(organizationMembershipId) {
150
+ return __awaiter(this, void 0, void 0, function* () {
151
+ const { data } = yield this.workos.get(`/user_management/organization_memberships/${organizationMembershipId}`);
152
+ return (0, organization_membership_serializer_1.deserializeOrganizationMembership)(data);
153
+ });
154
+ }
155
+ listOrganizationMemberships(options) {
156
+ return __awaiter(this, void 0, void 0, function* () {
157
+ return new pagination_1.AutoPaginatable(yield (0, fetch_and_deserialize_1.fetchAndDeserialize)(this.workos, '/user_management/organization_memberships', organization_membership_serializer_1.deserializeOrganizationMembership, options
158
+ ? (0, list_organization_memberships_options_serializer_1.serializeListOrganizationMembershipsOptions)(options)
159
+ : undefined), (params) => (0, fetch_and_deserialize_1.fetchAndDeserialize)(this.workos, '/user_management/organization_memberships', organization_membership_serializer_1.deserializeOrganizationMembership, params), options);
160
+ });
161
+ }
162
+ createOrganizationMembership(options) {
163
+ return __awaiter(this, void 0, void 0, function* () {
164
+ const { data } = yield this.workos.post('/user_management/organization_memberships', (0, create_organization_membership_options_serializer_1.serializeCreateOrganizationMembershipOptions)(options));
165
+ return (0, organization_membership_serializer_1.deserializeOrganizationMembership)(data);
166
+ });
167
+ }
168
+ deleteOrganizationMembership(organizationMembershipId) {
169
+ return __awaiter(this, void 0, void 0, function* () {
170
+ yield this.workos.delete(`/user_management/organization_memberships/${organizationMembershipId}`);
171
+ });
172
+ }
173
+ getInvitation(invitationId) {
174
+ return __awaiter(this, void 0, void 0, function* () {
175
+ const { data } = yield this.workos.get(`/user_management/invitations/${invitationId}`);
176
+ return (0, invitation_serializer_1.deserializeInvitation)(data);
177
+ });
178
+ }
179
+ listInvitations(options) {
180
+ return __awaiter(this, void 0, void 0, function* () {
181
+ return new pagination_1.AutoPaginatable(yield (0, fetch_and_deserialize_1.fetchAndDeserialize)(this.workos, '/user_management/invitations', invitation_serializer_1.deserializeInvitation, options ? (0, list_invitations_options_serializer_1.serializeListInvitationsOptions)(options) : undefined), (params) => (0, fetch_and_deserialize_1.fetchAndDeserialize)(this.workos, '/user_management/invitations', invitation_serializer_1.deserializeInvitation, params), options);
182
+ });
183
+ }
184
+ sendInvitation(payload) {
185
+ return __awaiter(this, void 0, void 0, function* () {
186
+ const { data } = yield this.workos.post('/user_management/invitations', (0, send_invitation_options_serializer_1.serializeSendInvitationOptions)(Object.assign({}, payload)));
187
+ return (0, invitation_serializer_1.deserializeInvitation)(data);
188
+ });
189
+ }
190
+ revokeInvitation(invitationId) {
191
+ return __awaiter(this, void 0, void 0, function* () {
192
+ const { data } = yield this.workos.post(`/user_management/invitations/${invitationId}/revoke`, null);
193
+ return (0, invitation_serializer_1.deserializeInvitation)(data);
194
+ });
195
+ }
196
+ getAuthorizationUrl({ connectionId, clientId, domainHint, loginHint, organizationId, provider, redirectURI, state, }) {
197
+ if (!provider && !connectionId && !organizationId) {
198
+ throw new Error(`Incomplete arguments. Need to specify either a 'connectionId', 'organizationId', or 'provider'.`);
199
+ }
200
+ const query = toQueryString({
201
+ connection_id: connectionId,
202
+ organization_id: organizationId,
203
+ domain_hint: domainHint,
204
+ login_hint: loginHint,
205
+ provider,
206
+ client_id: clientId,
207
+ redirect_uri: redirectURI,
208
+ response_type: 'code',
209
+ state,
210
+ });
211
+ return `${this.workos.baseURL}/user_management/authorize?${query}`;
212
+ }
213
+ }
214
+ exports.UserManagement = UserManagement;