Skip to content

Commit 71687ca

Browse files
authored
New apis april 2026 (#43)
* new apis * new-apis * Update magicLink.ts
1 parent 5a451d9 commit 71687ca

10 files changed

Lines changed: 437 additions & 104 deletions

File tree

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"type": "git",
55
"url": "https://github.com/PropelAuth/node-apis"
66
},
7-
"version": "2.1.34",
7+
"version": "2.1.35",
88
"license": "MIT",
99
"keywords": [
1010
"auth",

src/api.ts

Lines changed: 51 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -16,23 +16,15 @@ import {
1616
importApiKey,
1717
ApiKeysImportRequest,
1818
ApiKeysImportResponse,
19-
validateImportedApiKey
19+
validateImportedApiKey,
2020
} from "./api/endUserApiKeys"
2121
import {
2222
StepUpMfaVerifyTotpResponse,
2323
VerifyTotpChallengeRequest,
2424
verifyStepUpTotpChallenge,
2525
} from "./api/mfa/verifyTotp"
26-
import {
27-
sendSmsMfaCode,
28-
SendSmsMfaCodeRequestResponse,
29-
SendSmsMfaCodeRequest
30-
} from "./api/mfa/sendSmsMfaCode"
31-
import {
32-
verifySmsChallenge,
33-
VerifySmsChallengeRequest,
34-
VerifySmsChallengeResponse
35-
} from "./api/mfa/verifySmsChallenge"
26+
import { sendSmsMfaCode, SendSmsMfaCodeRequestResponse, SendSmsMfaCodeRequest } from "./api/mfa/sendSmsMfaCode"
27+
import { verifySmsChallenge, VerifySmsChallengeRequest, VerifySmsChallengeResponse } from "./api/mfa/verifySmsChallenge"
3628
import { StepUpMfaVerifyGrantResponse, VerifyStepUpGrantRequest, verifyStepUpGrant } from "./api/mfa/verifyGrant"
3729
import { createMagicLink, CreateMagicLinkRequest, MagicLink } from "./api/magicLink"
3830
import { fetchEmployeeById, Employee } from "./api/employee"
@@ -70,6 +62,8 @@ import {
7062
revokePendingOrgInvite,
7163
RevokePendingOrgInviteRequest,
7264
samlGoLive,
65+
setOidcIdpMetadata,
66+
SetOidcIdpMetadataRequest,
7367
setSamlIdpMetadata,
7468
SetSamlIdpMetadataRequest,
7569
subscribeOrgToRoleMapping,
@@ -114,7 +108,9 @@ import {
114108
MfaPhoneType,
115109
MfaPhones,
116110
MfaTotpType,
117-
FetchUserMfaMethodsResponse
111+
FetchUserMfaMethodsResponse,
112+
fetchFreshTokenFromProvider,
113+
fetchUserOAuthTokens,
118114
} from "./api/user"
119115
import { CustomRoleMappings } from "./customRoleMappings"
120116
import {
@@ -127,8 +123,13 @@ import {
127123
Organization,
128124
OrgApiKeyValidation,
129125
PersonalApiKeyValidation,
126+
SocialLoginToken,
127+
SocialLoginTokenProvider,
128+
SocialLoginTokensResponse,
130129
UserMetadata,
131130
} from "./user"
131+
import { ScimGroup, ScimGroupResultPage, FetchOrgScimGroupsRequest, FetchScimGroupRequest } from "./scim"
132+
import { fetchScimGroup, fetchOrgScimGroups } from "./api/scim"
132133
import { validateOrgApiKey, validatePersonalApiKey } from "./validators"
133134

134135
export function getApis(authUrl: URL, integrationApiKey: string) {
@@ -270,6 +271,17 @@ export function getApis(authUrl: URL, integrationApiKey: string) {
270271
return enableUserCanCreateOrgs(authUrl, integrationApiKey, userId)
271272
}
272273

274+
function fetchUserOAuthTokensWrapper(userId: string): Promise<SocialLoginTokensResponse | null> {
275+
return fetchUserOAuthTokens(authUrl, integrationApiKey, userId)
276+
}
277+
278+
function fetchFreshTokenFromProviderWrapper(
279+
userId: string,
280+
provider: SocialLoginTokenProvider
281+
): Promise<SocialLoginToken | null> {
282+
return fetchFreshTokenFromProvider(authUrl, integrationApiKey, userId, provider)
283+
}
284+
273285
function disableUserCanCreateOrgsWrapper(userId: string): Promise<boolean> {
274286
return disableUserCanCreateOrgs(authUrl, integrationApiKey, userId)
275287
}
@@ -347,6 +359,10 @@ export function getApis(authUrl: URL, integrationApiKey: string) {
347359
return setSamlIdpMetadata(authUrl, integrationApiKey, orgId, samlIdpMetadata)
348360
}
349361

362+
function setOidcIdpMetadataWrapper(setOidcIdpMetadataRequest: SetOidcIdpMetadataRequest): Promise<boolean> {
363+
return setOidcIdpMetadata(authUrl, integrationApiKey, setOidcIdpMetadataRequest)
364+
}
365+
350366
function samlGoLiveWrapper(orgId: string): Promise<boolean> {
351367
return samlGoLive(authUrl, integrationApiKey, orgId)
352368
}
@@ -359,7 +375,9 @@ export function getApis(authUrl: URL, integrationApiKey: string) {
359375
return inviteUserToOrg(authUrl, integrationApiKey, inviteUserToOrgRequest)
360376
}
361377

362-
function inviteUserToOrgByUserIdWrapper(inviteUserToOrgByUserIdRequest: InviteUserToOrgByUserIdRequest): Promise<boolean> {
378+
function inviteUserToOrgByUserIdWrapper(
379+
inviteUserToOrgByUserIdRequest: InviteUserToOrgByUserIdRequest
380+
): Promise<boolean> {
363381
return inviteUserToOrgByUserId(authUrl, integrationApiKey, inviteUserToOrgByUserIdRequest)
364382
}
365383

@@ -426,27 +444,19 @@ export function getApis(authUrl: URL, integrationApiKey: string) {
426444
return verifyStepUpGrant(authUrl, integrationApiKey, verifyStepUpGrantRequest)
427445
}
428446

429-
function fetchApiKeyUsageWrapper(
430-
apiKeyUsageQuery: ApiKeyUsageQueryRequest
431-
): Promise<ApiKeyUsageQueryResponse> {
447+
function fetchApiKeyUsageWrapper(apiKeyUsageQuery: ApiKeyUsageQueryRequest): Promise<ApiKeyUsageQueryResponse> {
432448
return fetchApiKeyUsage(authUrl, integrationApiKey, apiKeyUsageQuery)
433449
}
434450

435-
function importApiKeyWrapper(
436-
apiKeysImportRequest: ApiKeysImportRequest
437-
): Promise<ApiKeysImportResponse> {
451+
function importApiKeyWrapper(apiKeysImportRequest: ApiKeysImportRequest): Promise<ApiKeysImportResponse> {
438452
return importApiKey(authUrl, integrationApiKey, apiKeysImportRequest)
439453
}
440454

441-
function validateImportedApiKeyWrapper(
442-
apiKeyToken: string
443-
): Promise<ApiKeyValidation> {
455+
function validateImportedApiKeyWrapper(apiKeyToken: string): Promise<ApiKeyValidation> {
444456
return validateImportedApiKey(authUrl, integrationApiKey, apiKeyToken)
445457
}
446458

447-
function fetchUserMfaMethodsWrapper(
448-
userId: string
449-
): Promise<FetchUserMfaMethodsResponse | null> {
459+
function fetchUserMfaMethodsWrapper(userId: string): Promise<FetchUserMfaMethodsResponse | null> {
450460
return fetchUserMfaMethods(authUrl, integrationApiKey, userId)
451461
}
452462

@@ -462,6 +472,16 @@ export function getApis(authUrl: URL, integrationApiKey: string) {
462472
return verifySmsChallenge(authUrl, integrationApiKey, verifySmsChallengeRequest)
463473
}
464474

475+
function fetchScimGroupWrapper(fetchScimGroupRequest: FetchScimGroupRequest): Promise<ScimGroup> {
476+
return fetchScimGroup(authUrl, integrationApiKey, fetchScimGroupRequest)
477+
}
478+
479+
function fetchOrgScimGroupsWrapper(
480+
fetchOrgScimGroupsRequest: FetchOrgScimGroupsRequest
481+
): Promise<ScimGroupResultPage> {
482+
return fetchOrgScimGroups(authUrl, integrationApiKey, fetchOrgScimGroupsRequest)
483+
}
484+
465485
return {
466486
// fetching functions
467487
fetchTokenVerificationMetadata: fetchTokenVerificationMetadataWrapper,
@@ -497,6 +517,8 @@ export function getApis(authUrl: URL, integrationApiKey: string) {
497517
disableUserCanCreateOrgs: disableUserCanCreateOrgsWrapper,
498518
logoutAllUserSessions: logoutAllUserSessionsWrapper,
499519
fetchUserMfaMethods: fetchUserMfaMethodsWrapper,
520+
fetchUserOAuthTokens: fetchUserOAuthTokensWrapper,
521+
fetchFreshTokenFromProvider: fetchFreshTokenFromProviderWrapper,
500522
// org management functions
501523
createOrg: createOrgWrapper,
502524
addUserToOrg: addUserToOrgWrapper,
@@ -514,6 +536,7 @@ export function getApis(authUrl: URL, integrationApiKey: string) {
514536
revokePendingOrgInvite: revokePendingOrgInviteWrapper,
515537
fetchSamlSpMetadata: fetchSamlSpMetadataWrapper,
516538
setSamlIdpMetadata: setSamlIdpMetadataWrapper,
539+
setOidcIdpMetadata: setOidcIdpMetadataWrapper,
517540
samlGoLive: samlGoLiveWrapper,
518541
deleteSamlConnection: deleteSamlConnectionWrapper,
519542
// api keys functions
@@ -536,5 +559,8 @@ export function getApis(authUrl: URL, integrationApiKey: string) {
536559
verifySmsChallenge: verifySmsChallengeWrapper,
537560
// employee functions
538561
fetchEmployeeById: fetchEmployeeByIdWrapper,
562+
// scim functions
563+
fetchScimGroup: fetchScimGroupWrapper,
564+
fetchOrgScimGroups: fetchOrgScimGroupsWrapper,
539565
}
540566
}

src/api/endUserApiKeys.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ export type ApiKeysCreateRequest = {
109109
userId?: string
110110
expiresAtSeconds?: number
111111
metadata?: object
112+
displayName?: string
112113
}
113114

114115
export function createApiKey(
@@ -121,6 +122,7 @@ export function createApiKey(
121122
user_id: apiKeyCreate.userId,
122123
expires_at_seconds: apiKeyCreate.expiresAtSeconds,
123124
metadata: apiKeyCreate.metadata,
125+
display_name: apiKeyCreate.displayName,
124126
}
125127

126128
return httpRequest(authUrl, integrationApiKey, `${ENDPOINT_PATH}`, "POST", JSON.stringify(request)).then(
@@ -178,6 +180,7 @@ export type ApiKeysImportRequest = {
178180
userId?: string
179181
expiresAtSeconds?: number
180182
metadata?: object
183+
displayName?: string
181184
}
182185

183186
export type ApiKeysImportResponse = {
@@ -195,6 +198,7 @@ export function importApiKey(
195198
user_id: apiKeyImport.userId,
196199
expires_at_seconds: apiKeyImport.expiresAtSeconds,
197200
metadata: apiKeyImport.metadata,
201+
display_name: apiKeyImport.displayName,
198202
}
199203

200204
return httpRequest(authUrl, integrationApiKey, `${ENDPOINT_PATH}/import`, "POST", JSON.stringify(request)).then(

src/api/magicLink.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ export type CreateMagicLinkRequest = {
99
expiresInHours?: number
1010
createNewUserIfOneDoesntExist?: boolean
1111
expiresAfterFirstUse?: boolean
12+
requiresInterstitial?: boolean
13+
userSignupQueryParameters?: { [key: string]: string }
1214
}
1315

1416
export type MagicLink = {
@@ -27,6 +29,8 @@ export function createMagicLink(
2729
expires_in_hours: createMagicLinkRequest.expiresInHours,
2830
create_new_user_if_one_doesnt_exist: createMagicLinkRequest.createNewUserIfOneDoesntExist,
2931
expire_after_first_use: createMagicLinkRequest.expiresAfterFirstUse,
32+
requires_interstitial: createMagicLinkRequest.requiresInterstitial,
33+
user_signup_query_parameters: createMagicLinkRequest.userSignupQueryParameters,
3034
}
3135
return httpRequest(authUrl, integrationApiKey, ENDPOINT_PATH, "POST", JSON.stringify(request)).then(
3236
(httpResponse) => {

0 commit comments

Comments
 (0)