@meistrari/auth-core 2.8.0 → 2.10.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.
- package/dist/index.d.mts +35 -11
- package/dist/index.d.ts +35 -11
- package/dist/index.mjs +68 -64
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -621,10 +621,30 @@ type Application = {
|
|
|
621
621
|
/** Additional configuration for this application. */
|
|
622
622
|
config?: ApplicationConfig;
|
|
623
623
|
};
|
|
624
|
+
/**
|
|
625
|
+
* Fields that can be optionally included when listing candidate organizations.
|
|
626
|
+
*/
|
|
627
|
+
type ListCandidateOrganizationsInclude = 'lastUsed';
|
|
628
|
+
/**
|
|
629
|
+
* Options accepted by the candidate organizations client method.
|
|
630
|
+
*/
|
|
631
|
+
type ListCandidateOrganizationsOptions = {
|
|
632
|
+
/**
|
|
633
|
+
* Fields to include on each returned organization. When omitted or empty,
|
|
634
|
+
* only the base organization fields are returned.
|
|
635
|
+
*/
|
|
636
|
+
include?: ListCandidateOrganizationsInclude[];
|
|
637
|
+
};
|
|
624
638
|
/**
|
|
625
639
|
* Response returned when listing candidate organizations for an application.
|
|
626
640
|
*/
|
|
627
|
-
type ListCandidateOrganizationsResponse = FullOrganization
|
|
641
|
+
type ListCandidateOrganizationsResponse = Array<FullOrganization & {
|
|
642
|
+
/**
|
|
643
|
+
* Whether this is the organization the user last signed in to the
|
|
644
|
+
* application with. Only present when `lastUsed` is included.
|
|
645
|
+
*/
|
|
646
|
+
lastUsed?: boolean;
|
|
647
|
+
}>;
|
|
628
648
|
/**
|
|
629
649
|
* Public application context used to preserve continuity during auth redirects.
|
|
630
650
|
*/
|
|
@@ -888,10 +908,14 @@ declare class ApplicationService {
|
|
|
888
908
|
* entitlement is selected first; organization entitlements are considered only
|
|
889
909
|
* when no global entitlement is enabled.
|
|
890
910
|
*
|
|
911
|
+
* Pass `options.include` with `lastUsed` to flag the organization the user
|
|
912
|
+
* last signed in to the application with.
|
|
913
|
+
*
|
|
891
914
|
* @param applicationId - The application ID to get candidate organizations for
|
|
915
|
+
* @param options - Optional include list controlling which fields are returned
|
|
892
916
|
* @returns The list of candidate organizations
|
|
893
917
|
*/
|
|
894
|
-
listCandidateOrganizations(applicationId: string): Promise<ListCandidateOrganizationsResponse>;
|
|
918
|
+
listCandidateOrganizations(applicationId: string, options?: ListCandidateOrganizationsOptions): Promise<ListCandidateOrganizationsResponse>;
|
|
895
919
|
/**
|
|
896
920
|
* Starts an authorization flow for a specific application.
|
|
897
921
|
*
|
|
@@ -3408,7 +3432,7 @@ declare function createAPIClient(apiUrl: string, fetchOptions?: BetterFetchOptio
|
|
|
3408
3432
|
data: ApplicationAuthContextResponse;
|
|
3409
3433
|
error: null;
|
|
3410
3434
|
}>;
|
|
3411
|
-
listCandidateOrganizations: (applicationId: string) => Promise<{
|
|
3435
|
+
listCandidateOrganizations: (applicationId: string, options?: ListCandidateOrganizationsOptions) => Promise<{
|
|
3412
3436
|
data: ListCandidateOrganizationsResponse;
|
|
3413
3437
|
error?: unknown;
|
|
3414
3438
|
}>;
|
|
@@ -5123,14 +5147,14 @@ declare class AdminService {
|
|
|
5123
5147
|
* Requests an application management route.
|
|
5124
5148
|
*
|
|
5125
5149
|
* These routes are served by the API itself rather than by the Better Auth
|
|
5126
|
-
* handler, so they sit outside the `/api/auth` base path
|
|
5127
|
-
*
|
|
5128
|
-
*
|
|
5129
|
-
*
|
|
5130
|
-
*
|
|
5150
|
+
* handler, so they sit outside the `/api/auth` base path. The request is
|
|
5151
|
+
* sent to an absolute URL resolved against the API root, which better-fetch
|
|
5152
|
+
* uses as-is instead of prefixing the client's base URL, so it still goes
|
|
5153
|
+
* through {@link APIClient.$fetch} and picks up every fetch option the
|
|
5154
|
+
* client was created with (hooks, default headers, custom fetch, cookies).
|
|
5131
5155
|
*
|
|
5132
|
-
* @param path - Path relative to the API root, without a leading slash
|
|
5133
|
-
* @param request - Method, body, and
|
|
5156
|
+
* @param path - Path relative to the API root, without a leading slash; `:name` segments are filled from `request.params`
|
|
5157
|
+
* @param request - Method, body, query, and path parameters
|
|
5134
5158
|
* @returns The parsed JSON response
|
|
5135
5159
|
*/
|
|
5136
5160
|
private requestApplicationRoute;
|
|
@@ -6550,4 +6574,4 @@ declare function validateToken(token: string, apiUrl: string): Promise<boolean>;
|
|
|
6550
6574
|
declare function extractTokenPayload(token: string): DecodedJWTPayload;
|
|
6551
6575
|
|
|
6552
6576
|
export { AAL, AALBrand, AALs, ACR, ACRBrand, ACRs, AMR, AMRBrand, AMRs, ApiKeyMetadata, ApplicationConfig, ApplicationError, ApplicationSessionAssuranceConfig, ApplicationSessionAssuranceError, ApplicationTokenStorage, AuthClient, AuthMethod, AuthMethodBrand, AuthMethods, AuthorizationFlowError, DEFAULT_APPLICATION_CONFIG, DEFAULT_JWT_ASSURANCE, DEFAULT_SESSION_ASSURANCE_CONFIG, DeviceAccessDeniedError, DeviceAuthorizationPendingError, DeviceAuthorizationSlowDownError, DeviceCodeExpiredError, DeviceTransientServerError, EmailOTPService, EmailRequired, InvalidCallbackURL, InvalidSocialProvider, JWTPayload, JWTPayloadAssurance, JWTPayloadUser, JWTPayloadWorkspace, LOGIN_METHODS, OAuthBeginStepUpResponse, OAuthCompleteStepUpResponse, OAuthStepUpProvider, RefreshTokenExpiredError, Roles, SENSITIVE_ACTION_ASSURANCE_POLICY, STEP_UP_MAX_AGE_SECONDS, SendOtpResponse, SessionAssurancePolicy, SessionAssuranceRequiredError, SessionAssuranceRequiredPayload, SessionAssuranceResponse, SessionAssuranceService, StepUpOption, UserNotLoggedInError, ac, assuranceFields, canStepUpWithAmr, createAPIClient, extractTokenPayload, getAalRank, invitationAdditionalFields, isAssuranceSufficientForPolicy, isSessionAssuranceSufficient, isTokenExpired, memberAdditionalFields, mergeStepUpAssurance, normalizeAmr, organizationAdditionalFields, parseSessionAssuranceRequiredPayload, rolesAccessControl, sessionAssurancePluginClient, userAdditionalFields, validateToken };
|
|
6553
|
-
export type { APIClient, AcceptInvitationResult, AdminApplication, AdminApplicationEntitlement, AdminApplicationEntitlementRecord, AdminApplicationIdentity, AdminApplicationMember, AdminApplicationMemberOrganization, AdminApplicationMemberRecord, AdminApplicationOrganization, AdminApplicationRecord, AdminApplicationRole, AdminApplicationSecret, AdminEntitlementRule, AdminEntitlementRuleType, AdminEntitlementWithRules, AdminMember, AdminOrganization, AdminOrganizationApplication, AdminOrganizationMember, AdminOrganizationMemberApplication, AdminOrganizationMemberRecord, AdminOrganizationMemberTeam, AdminOrganizationSummary, AdminOrganizationTeam, AdminOrganizationTeamRecord, AdminUser, AdminUserAccess, AdminUserAccessApplication, AdminUserAccessOrganization, AdminUserAccessTeam, AdminUserInvitation, AdminUserOrganization, ApiKey, ApiKeyWithoutSecret, Application, ApplicationAuthContextResponse, ApplicationTokenStorageOptions, AssuranceFields, BaseOrganization, BeginOAuthStepUpParams, BillingMode, ClientCredentialsGrant, ClientCredentialsTokenResponse, CompleteAuthorizationFlowResponse, CreateAdminApplicationEntitlementOptions, CreateAdminApplicationOptions, CreateAdminApplicationRoleOptions, CreateAdminApplicationSecretOptions, CreateAdminOrganizationOptions, CreateAdminOrganizationTeamOptions, CreateApiKeyPayload, CreateTeamPayload, CreatedAdminApplicationSecret, DecodedJWTPayload, DeleteAdminOrganizationTeamOptions, DeviceAuthorizationActionResponse, DeviceAuthorizationContextResponse, DeviceAuthorizationResponse, DeviceContextApplication, EmailOTPSignInOptions, FullOrganization, GetAdminOrganizationOptions, GetAdminOrganizationsSummaryOptions, GetTokenOptions, Invitation, InvitationPasswordSetupResult, InvitationSignupStatus, InviteAdminOrganizationUsersOptions, InviteAdminOrganizationUsersResult, InviteUserToOrganizationOptions, JWTPayloadData, ListAdminApplicationMembersOptions, ListAdminApplicationMembersResult, ListAdminApplicationsOptions, ListAdminApplicationsResult, ListAdminOrganizationMembersOptions, ListAdminOrganizationMembersResult, ListAdminOrganizationTeamsOptions, ListAdminOrganizationTeamsResult, ListAdminOrganizationsOptions, ListAdminOrganizationsResult, ListAdminUsersOptions, ListAdminUsersResult, ListCandidateOrganizationsResponse, ListMembersOptions, ListOrganizationsOptions, ListOrganizationsWithRoleOptions, LoginMethod, LoginMethodsResponse, Member, NoncePayloadResponse, ExtendedOrganization as Organization, OrganizationSettings, OrganizationWithRole, RemoveAdminMemberOptions, RemoveUserFromOrganizationOptions, ResendAdminInviteOptions, Role, SendVerificationOTPOptions, Session, SessionAssuranceActions, SessionData, SetAdminEntitlementRulesOptions, SetAdminUserApplicationRoleOptions, SetAdminUserPasswordOptions, SetAdminUserTeamOptions, SignInWithEmailAndPasswordOptions, SignInWithSsoOptions, SocialSignInOptions, StartAuthorizationFlowResponse, Strict, Team, TeamMember, TeamMembersResponse, UpdateAdminApplicationRoleOptions, UpdateAdminEntitlementOptions, UpdateAdminMemberRoleOptions, UpdateAdminOrganizationOptions, UpdateAdminOrganizationTeamOptions, UpdateApiKeyPayload, UpdateMemberRoleOptions, UpdateOrganizationPayload, UpdateTeamPayload, User, UserProfile, WhoAmIInclude, WhoAmIOptions, WhoAmIOrganization, WhoAmIResponse };
|
|
6577
|
+
export type { APIClient, AcceptInvitationResult, AdminApplication, AdminApplicationEntitlement, AdminApplicationEntitlementRecord, AdminApplicationIdentity, AdminApplicationMember, AdminApplicationMemberOrganization, AdminApplicationMemberRecord, AdminApplicationOrganization, AdminApplicationRecord, AdminApplicationRole, AdminApplicationSecret, AdminEntitlementRule, AdminEntitlementRuleType, AdminEntitlementWithRules, AdminMember, AdminOrganization, AdminOrganizationApplication, AdminOrganizationMember, AdminOrganizationMemberApplication, AdminOrganizationMemberRecord, AdminOrganizationMemberTeam, AdminOrganizationSummary, AdminOrganizationTeam, AdminOrganizationTeamRecord, AdminUser, AdminUserAccess, AdminUserAccessApplication, AdminUserAccessOrganization, AdminUserAccessTeam, AdminUserInvitation, AdminUserOrganization, ApiKey, ApiKeyWithoutSecret, Application, ApplicationAuthContextResponse, ApplicationTokenStorageOptions, AssuranceFields, BaseOrganization, BeginOAuthStepUpParams, BillingMode, ClientCredentialsGrant, ClientCredentialsTokenResponse, CompleteAuthorizationFlowResponse, CreateAdminApplicationEntitlementOptions, CreateAdminApplicationOptions, CreateAdminApplicationRoleOptions, CreateAdminApplicationSecretOptions, CreateAdminOrganizationOptions, CreateAdminOrganizationTeamOptions, CreateApiKeyPayload, CreateTeamPayload, CreatedAdminApplicationSecret, DecodedJWTPayload, DeleteAdminOrganizationTeamOptions, DeviceAuthorizationActionResponse, DeviceAuthorizationContextResponse, DeviceAuthorizationResponse, DeviceContextApplication, EmailOTPSignInOptions, FullOrganization, GetAdminOrganizationOptions, GetAdminOrganizationsSummaryOptions, GetTokenOptions, Invitation, InvitationPasswordSetupResult, InvitationSignupStatus, InviteAdminOrganizationUsersOptions, InviteAdminOrganizationUsersResult, InviteUserToOrganizationOptions, JWTPayloadData, ListAdminApplicationMembersOptions, ListAdminApplicationMembersResult, ListAdminApplicationsOptions, ListAdminApplicationsResult, ListAdminOrganizationMembersOptions, ListAdminOrganizationMembersResult, ListAdminOrganizationTeamsOptions, ListAdminOrganizationTeamsResult, ListAdminOrganizationsOptions, ListAdminOrganizationsResult, ListAdminUsersOptions, ListAdminUsersResult, ListCandidateOrganizationsInclude, ListCandidateOrganizationsOptions, ListCandidateOrganizationsResponse, ListMembersOptions, ListOrganizationsOptions, ListOrganizationsWithRoleOptions, LoginMethod, LoginMethodsResponse, Member, NoncePayloadResponse, ExtendedOrganization as Organization, OrganizationSettings, OrganizationWithRole, RemoveAdminMemberOptions, RemoveUserFromOrganizationOptions, ResendAdminInviteOptions, Role, SendVerificationOTPOptions, Session, SessionAssuranceActions, SessionData, SetAdminEntitlementRulesOptions, SetAdminUserApplicationRoleOptions, SetAdminUserPasswordOptions, SetAdminUserTeamOptions, SignInWithEmailAndPasswordOptions, SignInWithSsoOptions, SocialSignInOptions, StartAuthorizationFlowResponse, Strict, Team, TeamMember, TeamMembersResponse, UpdateAdminApplicationRoleOptions, UpdateAdminEntitlementOptions, UpdateAdminMemberRoleOptions, UpdateAdminOrganizationOptions, UpdateAdminOrganizationTeamOptions, UpdateApiKeyPayload, UpdateMemberRoleOptions, UpdateOrganizationPayload, UpdateTeamPayload, User, UserProfile, WhoAmIInclude, WhoAmIOptions, WhoAmIOrganization, WhoAmIResponse };
|
package/dist/index.d.ts
CHANGED
|
@@ -621,10 +621,30 @@ type Application = {
|
|
|
621
621
|
/** Additional configuration for this application. */
|
|
622
622
|
config?: ApplicationConfig;
|
|
623
623
|
};
|
|
624
|
+
/**
|
|
625
|
+
* Fields that can be optionally included when listing candidate organizations.
|
|
626
|
+
*/
|
|
627
|
+
type ListCandidateOrganizationsInclude = 'lastUsed';
|
|
628
|
+
/**
|
|
629
|
+
* Options accepted by the candidate organizations client method.
|
|
630
|
+
*/
|
|
631
|
+
type ListCandidateOrganizationsOptions = {
|
|
632
|
+
/**
|
|
633
|
+
* Fields to include on each returned organization. When omitted or empty,
|
|
634
|
+
* only the base organization fields are returned.
|
|
635
|
+
*/
|
|
636
|
+
include?: ListCandidateOrganizationsInclude[];
|
|
637
|
+
};
|
|
624
638
|
/**
|
|
625
639
|
* Response returned when listing candidate organizations for an application.
|
|
626
640
|
*/
|
|
627
|
-
type ListCandidateOrganizationsResponse = FullOrganization
|
|
641
|
+
type ListCandidateOrganizationsResponse = Array<FullOrganization & {
|
|
642
|
+
/**
|
|
643
|
+
* Whether this is the organization the user last signed in to the
|
|
644
|
+
* application with. Only present when `lastUsed` is included.
|
|
645
|
+
*/
|
|
646
|
+
lastUsed?: boolean;
|
|
647
|
+
}>;
|
|
628
648
|
/**
|
|
629
649
|
* Public application context used to preserve continuity during auth redirects.
|
|
630
650
|
*/
|
|
@@ -888,10 +908,14 @@ declare class ApplicationService {
|
|
|
888
908
|
* entitlement is selected first; organization entitlements are considered only
|
|
889
909
|
* when no global entitlement is enabled.
|
|
890
910
|
*
|
|
911
|
+
* Pass `options.include` with `lastUsed` to flag the organization the user
|
|
912
|
+
* last signed in to the application with.
|
|
913
|
+
*
|
|
891
914
|
* @param applicationId - The application ID to get candidate organizations for
|
|
915
|
+
* @param options - Optional include list controlling which fields are returned
|
|
892
916
|
* @returns The list of candidate organizations
|
|
893
917
|
*/
|
|
894
|
-
listCandidateOrganizations(applicationId: string): Promise<ListCandidateOrganizationsResponse>;
|
|
918
|
+
listCandidateOrganizations(applicationId: string, options?: ListCandidateOrganizationsOptions): Promise<ListCandidateOrganizationsResponse>;
|
|
895
919
|
/**
|
|
896
920
|
* Starts an authorization flow for a specific application.
|
|
897
921
|
*
|
|
@@ -3408,7 +3432,7 @@ declare function createAPIClient(apiUrl: string, fetchOptions?: BetterFetchOptio
|
|
|
3408
3432
|
data: ApplicationAuthContextResponse;
|
|
3409
3433
|
error: null;
|
|
3410
3434
|
}>;
|
|
3411
|
-
listCandidateOrganizations: (applicationId: string) => Promise<{
|
|
3435
|
+
listCandidateOrganizations: (applicationId: string, options?: ListCandidateOrganizationsOptions) => Promise<{
|
|
3412
3436
|
data: ListCandidateOrganizationsResponse;
|
|
3413
3437
|
error?: unknown;
|
|
3414
3438
|
}>;
|
|
@@ -5123,14 +5147,14 @@ declare class AdminService {
|
|
|
5123
5147
|
* Requests an application management route.
|
|
5124
5148
|
*
|
|
5125
5149
|
* These routes are served by the API itself rather than by the Better Auth
|
|
5126
|
-
* handler, so they sit outside the `/api/auth` base path
|
|
5127
|
-
*
|
|
5128
|
-
*
|
|
5129
|
-
*
|
|
5130
|
-
*
|
|
5150
|
+
* handler, so they sit outside the `/api/auth` base path. The request is
|
|
5151
|
+
* sent to an absolute URL resolved against the API root, which better-fetch
|
|
5152
|
+
* uses as-is instead of prefixing the client's base URL, so it still goes
|
|
5153
|
+
* through {@link APIClient.$fetch} and picks up every fetch option the
|
|
5154
|
+
* client was created with (hooks, default headers, custom fetch, cookies).
|
|
5131
5155
|
*
|
|
5132
|
-
* @param path - Path relative to the API root, without a leading slash
|
|
5133
|
-
* @param request - Method, body, and
|
|
5156
|
+
* @param path - Path relative to the API root, without a leading slash; `:name` segments are filled from `request.params`
|
|
5157
|
+
* @param request - Method, body, query, and path parameters
|
|
5134
5158
|
* @returns The parsed JSON response
|
|
5135
5159
|
*/
|
|
5136
5160
|
private requestApplicationRoute;
|
|
@@ -6550,4 +6574,4 @@ declare function validateToken(token: string, apiUrl: string): Promise<boolean>;
|
|
|
6550
6574
|
declare function extractTokenPayload(token: string): DecodedJWTPayload;
|
|
6551
6575
|
|
|
6552
6576
|
export { AAL, AALBrand, AALs, ACR, ACRBrand, ACRs, AMR, AMRBrand, AMRs, ApiKeyMetadata, ApplicationConfig, ApplicationError, ApplicationSessionAssuranceConfig, ApplicationSessionAssuranceError, ApplicationTokenStorage, AuthClient, AuthMethod, AuthMethodBrand, AuthMethods, AuthorizationFlowError, DEFAULT_APPLICATION_CONFIG, DEFAULT_JWT_ASSURANCE, DEFAULT_SESSION_ASSURANCE_CONFIG, DeviceAccessDeniedError, DeviceAuthorizationPendingError, DeviceAuthorizationSlowDownError, DeviceCodeExpiredError, DeviceTransientServerError, EmailOTPService, EmailRequired, InvalidCallbackURL, InvalidSocialProvider, JWTPayload, JWTPayloadAssurance, JWTPayloadUser, JWTPayloadWorkspace, LOGIN_METHODS, OAuthBeginStepUpResponse, OAuthCompleteStepUpResponse, OAuthStepUpProvider, RefreshTokenExpiredError, Roles, SENSITIVE_ACTION_ASSURANCE_POLICY, STEP_UP_MAX_AGE_SECONDS, SendOtpResponse, SessionAssurancePolicy, SessionAssuranceRequiredError, SessionAssuranceRequiredPayload, SessionAssuranceResponse, SessionAssuranceService, StepUpOption, UserNotLoggedInError, ac, assuranceFields, canStepUpWithAmr, createAPIClient, extractTokenPayload, getAalRank, invitationAdditionalFields, isAssuranceSufficientForPolicy, isSessionAssuranceSufficient, isTokenExpired, memberAdditionalFields, mergeStepUpAssurance, normalizeAmr, organizationAdditionalFields, parseSessionAssuranceRequiredPayload, rolesAccessControl, sessionAssurancePluginClient, userAdditionalFields, validateToken };
|
|
6553
|
-
export type { APIClient, AcceptInvitationResult, AdminApplication, AdminApplicationEntitlement, AdminApplicationEntitlementRecord, AdminApplicationIdentity, AdminApplicationMember, AdminApplicationMemberOrganization, AdminApplicationMemberRecord, AdminApplicationOrganization, AdminApplicationRecord, AdminApplicationRole, AdminApplicationSecret, AdminEntitlementRule, AdminEntitlementRuleType, AdminEntitlementWithRules, AdminMember, AdminOrganization, AdminOrganizationApplication, AdminOrganizationMember, AdminOrganizationMemberApplication, AdminOrganizationMemberRecord, AdminOrganizationMemberTeam, AdminOrganizationSummary, AdminOrganizationTeam, AdminOrganizationTeamRecord, AdminUser, AdminUserAccess, AdminUserAccessApplication, AdminUserAccessOrganization, AdminUserAccessTeam, AdminUserInvitation, AdminUserOrganization, ApiKey, ApiKeyWithoutSecret, Application, ApplicationAuthContextResponse, ApplicationTokenStorageOptions, AssuranceFields, BaseOrganization, BeginOAuthStepUpParams, BillingMode, ClientCredentialsGrant, ClientCredentialsTokenResponse, CompleteAuthorizationFlowResponse, CreateAdminApplicationEntitlementOptions, CreateAdminApplicationOptions, CreateAdminApplicationRoleOptions, CreateAdminApplicationSecretOptions, CreateAdminOrganizationOptions, CreateAdminOrganizationTeamOptions, CreateApiKeyPayload, CreateTeamPayload, CreatedAdminApplicationSecret, DecodedJWTPayload, DeleteAdminOrganizationTeamOptions, DeviceAuthorizationActionResponse, DeviceAuthorizationContextResponse, DeviceAuthorizationResponse, DeviceContextApplication, EmailOTPSignInOptions, FullOrganization, GetAdminOrganizationOptions, GetAdminOrganizationsSummaryOptions, GetTokenOptions, Invitation, InvitationPasswordSetupResult, InvitationSignupStatus, InviteAdminOrganizationUsersOptions, InviteAdminOrganizationUsersResult, InviteUserToOrganizationOptions, JWTPayloadData, ListAdminApplicationMembersOptions, ListAdminApplicationMembersResult, ListAdminApplicationsOptions, ListAdminApplicationsResult, ListAdminOrganizationMembersOptions, ListAdminOrganizationMembersResult, ListAdminOrganizationTeamsOptions, ListAdminOrganizationTeamsResult, ListAdminOrganizationsOptions, ListAdminOrganizationsResult, ListAdminUsersOptions, ListAdminUsersResult, ListCandidateOrganizationsResponse, ListMembersOptions, ListOrganizationsOptions, ListOrganizationsWithRoleOptions, LoginMethod, LoginMethodsResponse, Member, NoncePayloadResponse, ExtendedOrganization as Organization, OrganizationSettings, OrganizationWithRole, RemoveAdminMemberOptions, RemoveUserFromOrganizationOptions, ResendAdminInviteOptions, Role, SendVerificationOTPOptions, Session, SessionAssuranceActions, SessionData, SetAdminEntitlementRulesOptions, SetAdminUserApplicationRoleOptions, SetAdminUserPasswordOptions, SetAdminUserTeamOptions, SignInWithEmailAndPasswordOptions, SignInWithSsoOptions, SocialSignInOptions, StartAuthorizationFlowResponse, Strict, Team, TeamMember, TeamMembersResponse, UpdateAdminApplicationRoleOptions, UpdateAdminEntitlementOptions, UpdateAdminMemberRoleOptions, UpdateAdminOrganizationOptions, UpdateAdminOrganizationTeamOptions, UpdateApiKeyPayload, UpdateMemberRoleOptions, UpdateOrganizationPayload, UpdateTeamPayload, User, UserProfile, WhoAmIInclude, WhoAmIOptions, WhoAmIOrganization, WhoAmIResponse };
|
|
6577
|
+
export type { APIClient, AcceptInvitationResult, AdminApplication, AdminApplicationEntitlement, AdminApplicationEntitlementRecord, AdminApplicationIdentity, AdminApplicationMember, AdminApplicationMemberOrganization, AdminApplicationMemberRecord, AdminApplicationOrganization, AdminApplicationRecord, AdminApplicationRole, AdminApplicationSecret, AdminEntitlementRule, AdminEntitlementRuleType, AdminEntitlementWithRules, AdminMember, AdminOrganization, AdminOrganizationApplication, AdminOrganizationMember, AdminOrganizationMemberApplication, AdminOrganizationMemberRecord, AdminOrganizationMemberTeam, AdminOrganizationSummary, AdminOrganizationTeam, AdminOrganizationTeamRecord, AdminUser, AdminUserAccess, AdminUserAccessApplication, AdminUserAccessOrganization, AdminUserAccessTeam, AdminUserInvitation, AdminUserOrganization, ApiKey, ApiKeyWithoutSecret, Application, ApplicationAuthContextResponse, ApplicationTokenStorageOptions, AssuranceFields, BaseOrganization, BeginOAuthStepUpParams, BillingMode, ClientCredentialsGrant, ClientCredentialsTokenResponse, CompleteAuthorizationFlowResponse, CreateAdminApplicationEntitlementOptions, CreateAdminApplicationOptions, CreateAdminApplicationRoleOptions, CreateAdminApplicationSecretOptions, CreateAdminOrganizationOptions, CreateAdminOrganizationTeamOptions, CreateApiKeyPayload, CreateTeamPayload, CreatedAdminApplicationSecret, DecodedJWTPayload, DeleteAdminOrganizationTeamOptions, DeviceAuthorizationActionResponse, DeviceAuthorizationContextResponse, DeviceAuthorizationResponse, DeviceContextApplication, EmailOTPSignInOptions, FullOrganization, GetAdminOrganizationOptions, GetAdminOrganizationsSummaryOptions, GetTokenOptions, Invitation, InvitationPasswordSetupResult, InvitationSignupStatus, InviteAdminOrganizationUsersOptions, InviteAdminOrganizationUsersResult, InviteUserToOrganizationOptions, JWTPayloadData, ListAdminApplicationMembersOptions, ListAdminApplicationMembersResult, ListAdminApplicationsOptions, ListAdminApplicationsResult, ListAdminOrganizationMembersOptions, ListAdminOrganizationMembersResult, ListAdminOrganizationTeamsOptions, ListAdminOrganizationTeamsResult, ListAdminOrganizationsOptions, ListAdminOrganizationsResult, ListAdminUsersOptions, ListAdminUsersResult, ListCandidateOrganizationsInclude, ListCandidateOrganizationsOptions, ListCandidateOrganizationsResponse, ListMembersOptions, ListOrganizationsOptions, ListOrganizationsWithRoleOptions, LoginMethod, LoginMethodsResponse, Member, NoncePayloadResponse, ExtendedOrganization as Organization, OrganizationSettings, OrganizationWithRole, RemoveAdminMemberOptions, RemoveUserFromOrganizationOptions, ResendAdminInviteOptions, Role, SendVerificationOTPOptions, Session, SessionAssuranceActions, SessionData, SetAdminEntitlementRulesOptions, SetAdminUserApplicationRoleOptions, SetAdminUserPasswordOptions, SetAdminUserTeamOptions, SignInWithEmailAndPasswordOptions, SignInWithSsoOptions, SocialSignInOptions, StartAuthorizationFlowResponse, Strict, Team, TeamMember, TeamMembersResponse, UpdateAdminApplicationRoleOptions, UpdateAdminEntitlementOptions, UpdateAdminMemberRoleOptions, UpdateAdminOrganizationOptions, UpdateAdminOrganizationTeamOptions, UpdateApiKeyPayload, UpdateMemberRoleOptions, UpdateOrganizationPayload, UpdateTeamPayload, User, UserProfile, WhoAmIInclude, WhoAmIOptions, WhoAmIOrganization, WhoAmIResponse };
|
package/dist/index.mjs
CHANGED
|
@@ -21,7 +21,7 @@ function isTokenExpired(token, expiresInMs) {
|
|
|
21
21
|
return nowInSeconds > expirationTime;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
const version = "2.
|
|
24
|
+
const version = "2.10.0";
|
|
25
25
|
|
|
26
26
|
function parsedEnumValues(schema) {
|
|
27
27
|
return Object.fromEntries(
|
|
@@ -239,11 +239,13 @@ function applicationsPluginClient() {
|
|
|
239
239
|
}
|
|
240
240
|
});
|
|
241
241
|
},
|
|
242
|
-
listCandidateOrganizations: async (applicationId) => {
|
|
242
|
+
listCandidateOrganizations: async (applicationId, options = {}) => {
|
|
243
|
+
const query = { applicationId };
|
|
244
|
+
if (options.include && options.include.length > 0) {
|
|
245
|
+
query.include = options.include.join(",");
|
|
246
|
+
}
|
|
243
247
|
const response = await $fetch("/organization/list", {
|
|
244
|
-
query
|
|
245
|
-
applicationId
|
|
246
|
-
}
|
|
248
|
+
query
|
|
247
249
|
});
|
|
248
250
|
return normalizeOrganizationsResponse(response);
|
|
249
251
|
},
|
|
@@ -512,19 +514,12 @@ class ApplicationRouteError extends Error {
|
|
|
512
514
|
code;
|
|
513
515
|
details;
|
|
514
516
|
status;
|
|
515
|
-
constructor(
|
|
516
|
-
super(body
|
|
517
|
+
constructor(body) {
|
|
518
|
+
super(body.error ?? body.message ?? body.statusText);
|
|
517
519
|
this.name = "ApplicationRouteError";
|
|
518
|
-
this.status =
|
|
519
|
-
this.code = body
|
|
520
|
-
this.details = body
|
|
521
|
-
}
|
|
522
|
-
}
|
|
523
|
-
async function readErrorBody(response) {
|
|
524
|
-
try {
|
|
525
|
-
return await response.json();
|
|
526
|
-
} catch {
|
|
527
|
-
return null;
|
|
520
|
+
this.status = body.status;
|
|
521
|
+
this.code = body.code;
|
|
522
|
+
this.details = body.details;
|
|
528
523
|
}
|
|
529
524
|
}
|
|
530
525
|
class AdminService {
|
|
@@ -545,35 +540,35 @@ class AdminService {
|
|
|
545
540
|
* Requests an application management route.
|
|
546
541
|
*
|
|
547
542
|
* These routes are served by the API itself rather than by the Better Auth
|
|
548
|
-
* handler, so they sit outside the `/api/auth` base path
|
|
549
|
-
*
|
|
550
|
-
*
|
|
551
|
-
*
|
|
552
|
-
*
|
|
553
|
-
*
|
|
554
|
-
* @param path - Path relative to the API root, without a leading slash
|
|
555
|
-
* @param request - Method, body, and
|
|
543
|
+
* handler, so they sit outside the `/api/auth` base path. The request is
|
|
544
|
+
* sent to an absolute URL resolved against the API root, which better-fetch
|
|
545
|
+
* uses as-is instead of prefixing the client's base URL, so it still goes
|
|
546
|
+
* through {@link APIClient.$fetch} and picks up every fetch option the
|
|
547
|
+
* client was created with (hooks, default headers, custom fetch, cookies).
|
|
548
|
+
*
|
|
549
|
+
* @param path - Path relative to the API root, without a leading slash; `:name` segments are filled from `request.params`
|
|
550
|
+
* @param request - Method, body, query, and path parameters
|
|
556
551
|
* @returns The parsed JSON response
|
|
557
552
|
*/
|
|
558
553
|
async requestApplicationRoute(path, request = {}) {
|
|
559
554
|
const base = this.apiUrl.endsWith("/") ? this.apiUrl : `${this.apiUrl}/`;
|
|
560
|
-
const
|
|
561
|
-
|
|
562
|
-
if (value !== void 0)
|
|
563
|
-
url.searchParams.set(key, String(value));
|
|
564
|
-
}
|
|
565
|
-
const headers = new Headers({ Accept: "application/json" });
|
|
566
|
-
if (request.body !== void 0)
|
|
567
|
-
headers.set("Content-Type", "application/json");
|
|
568
|
-
const response = await fetch(url, {
|
|
555
|
+
const hasBody = request.body !== void 0;
|
|
556
|
+
const { data, error } = await this.client.$fetch(`${base}${path}`, {
|
|
569
557
|
method: request.method ?? "GET",
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
558
|
+
params: request.params,
|
|
559
|
+
query: request.query,
|
|
560
|
+
headers: {
|
|
561
|
+
Accept: "application/json",
|
|
562
|
+
...hasBody ? { "Content-Type": "application/json" } : {}
|
|
563
|
+
},
|
|
564
|
+
...hasBody ? { body: JSON.stringify(request.body) } : {},
|
|
565
|
+
// The client's parser revives ISO strings into Dates; these routes are typed with plain strings
|
|
566
|
+
jsonParser: (text) => JSON.parse(text),
|
|
567
|
+
throw: false
|
|
573
568
|
});
|
|
574
|
-
if (
|
|
575
|
-
throw new ApplicationRouteError(
|
|
576
|
-
return
|
|
569
|
+
if (error)
|
|
570
|
+
throw new ApplicationRouteError(error);
|
|
571
|
+
return data;
|
|
577
572
|
}
|
|
578
573
|
/**
|
|
579
574
|
* Lists applications, optionally filtered by organization.
|
|
@@ -614,7 +609,8 @@ class AdminService {
|
|
|
614
609
|
* @returns The updated application
|
|
615
610
|
*/
|
|
616
611
|
async updateApplication(applicationId, options) {
|
|
617
|
-
return await this.requestApplicationRoute(
|
|
612
|
+
return await this.requestApplicationRoute("applications/:applicationId", {
|
|
613
|
+
params: { applicationId },
|
|
618
614
|
method: "PUT",
|
|
619
615
|
body: options
|
|
620
616
|
});
|
|
@@ -622,28 +618,29 @@ class AdminService {
|
|
|
622
618
|
/** Lists the role catalog for an application. */
|
|
623
619
|
async listApplicationRoles(applicationId) {
|
|
624
620
|
return await this.requestApplicationRoute(
|
|
625
|
-
|
|
621
|
+
"applications/:applicationId/roles",
|
|
622
|
+
{ params: { applicationId } }
|
|
626
623
|
);
|
|
627
624
|
}
|
|
628
625
|
/** Creates an application-scoped role definition. */
|
|
629
626
|
async createApplicationRole(applicationId, options) {
|
|
630
627
|
return await this.requestApplicationRoute(
|
|
631
|
-
|
|
632
|
-
{ method: "POST", body: options }
|
|
628
|
+
"applications/:applicationId/roles",
|
|
629
|
+
{ params: { applicationId }, method: "POST", body: options }
|
|
633
630
|
);
|
|
634
631
|
}
|
|
635
632
|
/** Updates an application-scoped role definition. */
|
|
636
633
|
async updateApplicationRole(applicationId, currentName, options) {
|
|
637
634
|
return await this.requestApplicationRoute(
|
|
638
|
-
|
|
639
|
-
{ method: "PUT", body: options }
|
|
635
|
+
"applications/:applicationId/roles/:currentName",
|
|
636
|
+
{ params: { applicationId, currentName }, method: "PUT", body: options }
|
|
640
637
|
);
|
|
641
638
|
}
|
|
642
639
|
/** Deletes an application-scoped role definition. */
|
|
643
640
|
async deleteApplicationRole(applicationId, name) {
|
|
644
641
|
return await this.requestApplicationRoute(
|
|
645
|
-
|
|
646
|
-
{ method: "DELETE" }
|
|
642
|
+
"applications/:applicationId/roles/:name",
|
|
643
|
+
{ params: { applicationId, name }, method: "DELETE" }
|
|
647
644
|
);
|
|
648
645
|
}
|
|
649
646
|
/**
|
|
@@ -654,7 +651,8 @@ class AdminService {
|
|
|
654
651
|
* @returns The created entitlement
|
|
655
652
|
*/
|
|
656
653
|
async createApplicationEntitlement(applicationId, options) {
|
|
657
|
-
return await this.requestApplicationRoute(
|
|
654
|
+
return await this.requestApplicationRoute("applications/:applicationId/entitlements", {
|
|
655
|
+
params: { applicationId },
|
|
658
656
|
method: "POST",
|
|
659
657
|
body: options
|
|
660
658
|
});
|
|
@@ -666,7 +664,7 @@ class AdminService {
|
|
|
666
664
|
* @returns Secret metadata without plaintext values
|
|
667
665
|
*/
|
|
668
666
|
async listApplicationSecrets(applicationId) {
|
|
669
|
-
return await this.requestApplicationRoute(
|
|
667
|
+
return await this.requestApplicationRoute("applications/:applicationId/secrets", { params: { applicationId } });
|
|
670
668
|
}
|
|
671
669
|
/**
|
|
672
670
|
* Creates a client secret for an application.
|
|
@@ -676,7 +674,8 @@ class AdminService {
|
|
|
676
674
|
* @returns The created secret, including the plaintext value shown only once
|
|
677
675
|
*/
|
|
678
676
|
async createApplicationSecret(applicationId, options = {}) {
|
|
679
|
-
return await this.requestApplicationRoute(
|
|
677
|
+
return await this.requestApplicationRoute("applications/:applicationId/secrets", {
|
|
678
|
+
params: { applicationId },
|
|
680
679
|
method: "POST",
|
|
681
680
|
body: options
|
|
682
681
|
});
|
|
@@ -690,8 +689,8 @@ class AdminService {
|
|
|
690
689
|
*/
|
|
691
690
|
async deleteApplicationSecret(applicationId, secretId) {
|
|
692
691
|
return await this.requestApplicationRoute(
|
|
693
|
-
|
|
694
|
-
{ method: "DELETE" }
|
|
692
|
+
"applications/:applicationId/secrets/:secretId",
|
|
693
|
+
{ params: { applicationId, secretId }, method: "DELETE" }
|
|
695
694
|
);
|
|
696
695
|
}
|
|
697
696
|
/**
|
|
@@ -702,8 +701,8 @@ class AdminService {
|
|
|
702
701
|
*/
|
|
703
702
|
async retireApplicationServiceAccount(applicationId) {
|
|
704
703
|
return await this.requestApplicationRoute(
|
|
705
|
-
|
|
706
|
-
{ method: "DELETE" }
|
|
704
|
+
"applications/:applicationId/service-account",
|
|
705
|
+
{ params: { applicationId }, method: "DELETE" }
|
|
707
706
|
);
|
|
708
707
|
}
|
|
709
708
|
/**
|
|
@@ -958,7 +957,8 @@ class AdminService {
|
|
|
958
957
|
*/
|
|
959
958
|
async getEntitlement(entitlementId) {
|
|
960
959
|
return await this.requestApplicationRoute(
|
|
961
|
-
|
|
960
|
+
"applications/entitlements/:entitlementId",
|
|
961
|
+
{ params: { entitlementId } }
|
|
962
962
|
);
|
|
963
963
|
}
|
|
964
964
|
/**
|
|
@@ -970,8 +970,8 @@ class AdminService {
|
|
|
970
970
|
*/
|
|
971
971
|
async setEntitlementRules(entitlementId, options) {
|
|
972
972
|
return await this.requestApplicationRoute(
|
|
973
|
-
|
|
974
|
-
{ method: "PUT", body: options }
|
|
973
|
+
"applications/entitlements/:entitlementId/rules",
|
|
974
|
+
{ params: { entitlementId }, method: "PUT", body: options }
|
|
975
975
|
);
|
|
976
976
|
}
|
|
977
977
|
/**
|
|
@@ -983,8 +983,8 @@ class AdminService {
|
|
|
983
983
|
*/
|
|
984
984
|
async updateEntitlement(entitlementId, options) {
|
|
985
985
|
return await this.requestApplicationRoute(
|
|
986
|
-
|
|
987
|
-
{ method: "PUT", body: options }
|
|
986
|
+
"applications/entitlements/:entitlementId",
|
|
987
|
+
{ params: { entitlementId }, method: "PUT", body: options }
|
|
988
988
|
);
|
|
989
989
|
}
|
|
990
990
|
/**
|
|
@@ -995,8 +995,8 @@ class AdminService {
|
|
|
995
995
|
*/
|
|
996
996
|
async deleteEntitlement(entitlementId) {
|
|
997
997
|
return await this.requestApplicationRoute(
|
|
998
|
-
|
|
999
|
-
{ method: "DELETE" }
|
|
998
|
+
"applications/entitlements/:entitlementId",
|
|
999
|
+
{ params: { entitlementId }, method: "DELETE" }
|
|
1000
1000
|
);
|
|
1001
1001
|
}
|
|
1002
1002
|
/**
|
|
@@ -1491,11 +1491,15 @@ class ApplicationService {
|
|
|
1491
1491
|
* entitlement is selected first; organization entitlements are considered only
|
|
1492
1492
|
* when no global entitlement is enabled.
|
|
1493
1493
|
*
|
|
1494
|
+
* Pass `options.include` with `lastUsed` to flag the organization the user
|
|
1495
|
+
* last signed in to the application with.
|
|
1496
|
+
*
|
|
1494
1497
|
* @param applicationId - The application ID to get candidate organizations for
|
|
1498
|
+
* @param options - Optional include list controlling which fields are returned
|
|
1495
1499
|
* @returns The list of candidate organizations
|
|
1496
1500
|
*/
|
|
1497
|
-
async listCandidateOrganizations(applicationId) {
|
|
1498
|
-
const response = await this.client.applications.listCandidateOrganizations(applicationId);
|
|
1501
|
+
async listCandidateOrganizations(applicationId, options = {}) {
|
|
1502
|
+
const response = await this.client.applications.listCandidateOrganizations(applicationId, options);
|
|
1499
1503
|
if (!response.data) {
|
|
1500
1504
|
throw new Error("No data returned from the API", { cause: response.error });
|
|
1501
1505
|
}
|