import * as plugins from './plugins.js'; import type { IdpClient } from "./classes.idpclient.js"; /** * this class bundles all the typed requests that are used by the idp * All requests use TypedSocket (WebSocket) transport */ export class IdpRequests { idpClientArg: IdpClient; constructor(idpClientArg: IdpClient) { this.idpClientArg = idpClientArg; } public get afterRegistrationEmailClicked () { return this.idpClientArg.typedsocket.createTypedRequest( 'afterRegistrationEmailClicked' ); } public get setData() { return this.idpClientArg.typedsocket.createTypedRequest( 'setDataForRegistration' ); } public get mobileNumberVerification () { return this.idpClientArg.typedsocket.createTypedRequest( 'mobileVerificationForRegistration' ); } public get finishRegistration() { return this.idpClientArg.typedsocket.createTypedRequest( 'finishRegistration' ); } public get loginWithUserNameAndPassword () { return this.idpClientArg.typedsocket.createTypedRequest( 'loginWithEmailOrUsernameAndPassword' ); } public get obtainJwt () { return this.idpClientArg.typedsocket.createTypedRequest( 'refreshJwt' ); } public get obtainOneTimeToken () { return this.idpClientArg.typedsocket.createTypedRequest( 'exchangeRefreshTokenAndTransferToken' ); } // ============================================ // Login & Authentication // ============================================ public get loginWithEmail() { return this.idpClientArg.typedsocket.createTypedRequest( 'loginWithEmail' ); } public get loginWithEmailAfterToken() { return this.idpClientArg.typedsocket.createTypedRequest( 'loginWithEmailAfterEmailTokenAquired' ); } public get loginWithApiToken() { return this.idpClientArg.typedsocket.createTypedRequest( 'loginWithApiToken' ); } public get completeOidcAuthorization() { return this.idpClientArg.typedsocket.createTypedRequest( 'completeOidcAuthorization' ); } public get prepareOidcAuthorization() { return this.idpClientArg.typedsocket.createTypedRequest( 'prepareOidcAuthorization' ); } public get resetPassword() { return this.idpClientArg.typedsocket.createTypedRequest( 'resetPassword' ); } public get setNewPassword() { return this.idpClientArg.typedsocket.createTypedRequest( 'setNewPassword' ); } public get obtainDeviceId() { return this.idpClientArg.typedsocket.createTypedRequest( 'obtainDeviceId' ); } public get attachDeviceId() { return this.idpClientArg.typedsocket.createTypedRequest( 'attachDeviceId' ); } // ============================================ // Registration // ============================================ public get firstRegistration() { return this.idpClientArg.typedsocket.createTypedRequest( 'firstRegistrationRequest' ); } // ============================================ // User Management // ============================================ public get getUserData() { return this.idpClientArg.typedsocket.createTypedRequest( 'getUserData' ); } public get setUserData() { return this.idpClientArg.typedsocket.createTypedRequest( 'setUserData' ); } public get getUserSessions() { return this.idpClientArg.typedsocket.createTypedRequest( 'getUserSessions' ); } public get revokeSession() { return this.idpClientArg.typedsocket.createTypedRequest( 'revokeSession' ); } public get getUserActivity() { return this.idpClientArg.typedsocket.createTypedRequest( 'getUserActivity' ); } // ============================================ // Organization Management // ============================================ public get getOrganizationById() { return this.idpClientArg.typedsocket.createTypedRequest( 'getOrganizationById' ); } public get updateOrganization() { return this.idpClientArg.typedsocket.createTypedRequest( 'updateOrganization' ); } // ============================================ // Member & Invitation Management // ============================================ public get createInvitation() { return this.idpClientArg.typedsocket.createTypedRequest( 'createInvitation' ); } public get getOrgInvitations() { return this.idpClientArg.typedsocket.createTypedRequest( 'getOrgInvitations' ); } public get getOrgMembers() { return this.idpClientArg.typedsocket.createTypedRequest( 'getOrgMembers' ); } public get cancelInvitation() { return this.idpClientArg.typedsocket.createTypedRequest( 'cancelInvitation' ); } public get resendInvitation() { return this.idpClientArg.typedsocket.createTypedRequest( 'resendInvitation' ); } public get removeMember() { return this.idpClientArg.typedsocket.createTypedRequest( 'removeMember' ); } public get updateMemberRoles() { return this.idpClientArg.typedsocket.createTypedRequest( 'updateMemberRoles' ); } public get transferOwnership() { return this.idpClientArg.typedsocket.createTypedRequest( 'transferOwnership' ); } public get getInvitationByToken() { return this.idpClientArg.typedsocket.createTypedRequest( 'getInvitationByToken' ); } public get acceptInvitation() { return this.idpClientArg.typedsocket.createTypedRequest( 'acceptInvitation' ); } public get bulkCreateInvitations() { return this.idpClientArg.typedsocket.createTypedRequest( 'bulkCreateInvitations' ); } // ============================================ // Billing // ============================================ public get getBillingPlan() { return this.idpClientArg.typedsocket.createTypedRequest( 'getBillingPlan' ); } public get getPaddleConfig() { return this.idpClientArg.typedsocket.createTypedRequest( 'getPaddleConfig' ); } // ============================================ // JWT Verification & Management // ============================================ public get getPublicKeyForValidation() { return this.idpClientArg.typedsocket.createTypedRequest( 'getPublicKeyForValidation' ); } public get pushPublicKeyForValidation() { return this.idpClientArg.typedsocket.createTypedRequest( 'pushPublicKeyForValidation' ); } public get pushOrGetJwtIdBlocklist() { return this.idpClientArg.typedsocket.createTypedRequest( 'pushOrGetJwtIdBlocklist' ); } // ============================================ // User Suspension (Admin) // ============================================ public get suspendUser() { return this.idpClientArg.typedsocket.createTypedRequest( 'suspendUser' ); } public get deleteSuspendedUser() { return this.idpClientArg.typedsocket.createTypedRequest( 'deleteSuspendedUser' ); } // ============================================ // Admin (Global Admin Only) // ============================================ public get checkGlobalAdmin() { return this.idpClientArg.typedsocket.createTypedRequest( 'checkGlobalAdmin' ); } public get getGlobalAppStats() { return this.idpClientArg.typedsocket.createTypedRequest( 'getGlobalAppStats' ); } public get createGlobalApp() { return this.idpClientArg.typedsocket.createTypedRequest( 'createGlobalApp' ); } public get updateGlobalApp() { return this.idpClientArg.typedsocket.createTypedRequest( 'updateGlobalApp' ); } public get deleteGlobalApp() { return this.idpClientArg.typedsocket.createTypedRequest( 'deleteGlobalApp' ); } public get regenerateAppCredentials() { return this.idpClientArg.typedsocket.createTypedRequest( 'regenerateAppCredentials' ); } }