feat(app): wire dashboard administration flows
This commit is contained in:
@@ -334,7 +334,7 @@ export class IdpClient {
|
||||
}
|
||||
}
|
||||
|
||||
public typedsocketDeferred = plugins.smartpromise.defer();
|
||||
public typedsocketDeferred = plugins.smartpromise.defer<plugins.typedsocket.TypedSocket>();
|
||||
public async enableTypedSocket() {
|
||||
if (this.typedsocketDeferred.claimed) {
|
||||
return this.typedsocketDeferred.promise;
|
||||
|
||||
@@ -172,6 +172,30 @@ export class IdpRequests {
|
||||
);
|
||||
}
|
||||
|
||||
public get deleteOrganization() {
|
||||
return this.idpClientArg.typedsocket.createTypedRequest<plugins.idpInterfaces.request.IReq_DeleteOrganization>(
|
||||
'deleteOrganization'
|
||||
);
|
||||
}
|
||||
|
||||
public get getOrgRoleDefinitions() {
|
||||
return this.idpClientArg.typedsocket.createTypedRequest<plugins.idpInterfaces.request.IReq_GetOrgRoleDefinitions>(
|
||||
'getOrgRoleDefinitions'
|
||||
);
|
||||
}
|
||||
|
||||
public get upsertOrgRoleDefinition() {
|
||||
return this.idpClientArg.typedsocket.createTypedRequest<plugins.idpInterfaces.request.IReq_UpsertOrgRoleDefinition>(
|
||||
'upsertOrgRoleDefinition'
|
||||
);
|
||||
}
|
||||
|
||||
public get deleteOrgRoleDefinition() {
|
||||
return this.idpClientArg.typedsocket.createTypedRequest<plugins.idpInterfaces.request.IReq_DeleteOrgRoleDefinition>(
|
||||
'deleteOrgRoleDefinition'
|
||||
);
|
||||
}
|
||||
|
||||
// ============================================
|
||||
// Member & Invitation Management
|
||||
// ============================================
|
||||
@@ -242,6 +266,12 @@ export class IdpRequests {
|
||||
);
|
||||
}
|
||||
|
||||
public get updateAppRoleMappings() {
|
||||
return this.idpClientArg.typedsocket.createTypedRequest<plugins.idpInterfaces.request.IReq_UpdateAppRoleMappings>(
|
||||
'updateAppRoleMappings'
|
||||
);
|
||||
}
|
||||
|
||||
// ============================================
|
||||
// Billing
|
||||
// ============================================
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// losslessone_private scope
|
||||
import * as idpInterfaces from '../dist_ts_interfaces/index.js';
|
||||
// idp.global scope
|
||||
import * as idpInterfaces from '@idp.global/interfaces';
|
||||
|
||||
export { idpInterfaces };
|
||||
|
||||
|
||||
@@ -125,6 +125,8 @@ await idpClient.getTransferTokenAndSwitchToLocation('https://app.example.com/');
|
||||
- billing requests
|
||||
- JWT validation key requests
|
||||
- admin requests
|
||||
- OIDC authorization preparation and completion
|
||||
- passport device enrollment, challenge approval, alert, and push-token requests
|
||||
|
||||
Use these when you want full control instead of the higher-level helper methods on `IdpClient`.
|
||||
|
||||
@@ -133,6 +135,7 @@ Use these when you want full control instead of the higher-level helper methods
|
||||
- The default fallback `appData` uses `window.location`, so this package is primarily browser-oriented.
|
||||
- The client expects the backend `typedrequest` websocket surface to be reachable.
|
||||
- Auth state is persisted in browser storage under the `idpglobalStore` store name.
|
||||
- Passport, alert, and OIDC helper flows are available through `idpClient.requests` even when there is no higher-level convenience method on `IdpClient` yet.
|
||||
|
||||
## License and Legal Information
|
||||
|
||||
|
||||
Reference in New Issue
Block a user