feat(app): wire dashboard administration flows

This commit is contained in:
2026-05-07 15:35:37 +00:00
parent e9eb9b4172
commit 91f06ccae1
91 changed files with 4087 additions and 5863 deletions
+1 -1
View File
@@ -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;
+30
View File
@@ -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
// ============================================
+2 -2
View File
@@ -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 };
+3
View File
@@ -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