PERS SDK - v2.3.26 / Exports / TenantManager
Tenant Manager - Clean, high-level interface for tenant operations
Provides a simplified API for common tenant management tasks while maintaining access to the full tenant SDK for advanced use cases.
- getTenantPublicInfo
- getTenantInfo
- getLoginToken
- getClientConfig
- getGoogleApiKey
- getCurrentAdmin
- updateTenant
- getAdmins
- createAdmin
- updateAdmin
- getTenantService
- clearCache
- getIpfsGatewayDomain
- resolveIpfsUrl
- fetchAndProcessMetadata
• new TenantManager(apiClient): TenantManager
| Name | Type |
|---|---|
apiClient | PersApiClient |
▸ getTenantPublicInfo(): Promise<TenantPublicDTO>
Get current tenant public information (API key only)
Promise<TenantPublicDTO>
Promise resolving to public tenant data
▸ getTenantInfo(): Promise<TenantDTO>
Get full tenant information including sensitive config (Admin JWT required)
Returns additional fields like allowedTokenIssuers that are only available to authenticated tenant admins.
Promise<TenantDTO>
Promise resolving to full tenant data
▸ getLoginToken(): Promise<string>
Get tenant login token
Promise<string>
Promise resolving to login token
▸ getClientConfig(): Promise<TenantClientConfigDTO>
Get tenant client configuration (cached)
Promise<TenantClientConfigDTO>
Promise resolving to client config
▸ getGoogleApiKey(): Promise<undefined | string>
Get Google API key from tenant configuration (cached).
Promise<undefined | string>
Google API key or undefined if not configured
▸ getCurrentAdmin(): Promise<AdminDTO>
Admin: Get current admin info
Retrieves the authenticated admin's profile information. Requires tenant admin authentication.
Promise<AdminDTO>
Promise resolving to current admin data
Throws
When not authenticated as tenant admin
Example
const admin = await sdk.tenants.getCurrentAdmin();
console.log('Current admin:', admin.email);managers/tenant-manager.ts:106
▸ updateTenant(tenantData): Promise<TenantDTO>
Admin: Update tenant data
| Name | Type | Description |
|---|---|---|
tenantData | TenantUpdateRequestDTO | Updated tenant data |
Promise<TenantDTO>
Promise resolving to full updated tenant (includes sensitive config)
managers/tenant-manager.ts:116
▸ getAdmins(options?): Promise<PaginatedResponseDTO<AdminDTO>>
Admin: Get all admins
| Name | Type | Description |
|---|---|---|
options? | PaginationOptions | Pagination options |
Promise<PaginatedResponseDTO<AdminDTO>>
Promise resolving to paginated admins
managers/tenant-manager.ts:126
▸ createAdmin(adminData): Promise<AdminDTO>
Admin: Create new admin
| Name | Type | Description |
|---|---|---|
adminData | AdminCreateRequestDTO | Admin data |
Promise<AdminDTO>
Promise resolving to created admin
managers/tenant-manager.ts:136
▸ updateAdmin(adminId, adminData): Promise<AdminDTO>
Admin: Update existing admin
| Name | Type | Description |
|---|---|---|
adminId | string | ID of the admin to update |
adminData | AdminCreateRequestDTO | Updated admin data |
Promise<AdminDTO>
Promise resolving to updated admin
managers/tenant-manager.ts:147
▸ getTenantService(): TenantService
Get the tenant service for advanced operations
TenantService instance
managers/tenant-manager.ts:156
▸ clearCache(): void
Clear tenant cache (useful after config changes)
void
managers/tenant-manager.ts:163
▸ getIpfsGatewayDomain(): Promise<string>
Get the IPFS gateway domain from tenant config (cached)
Promise<string>
Promise resolving to IPFS gateway domain (e.g., 'gateway.pinata.cloud')
Example
const gateway = await sdk.tenants.getIpfsGatewayDomain();
// Returns 'gateway.pinata.cloud' or tenant-specific gatewaymanagers/tenant-manager.ts:181
▸ resolveIpfsUrl(url): Promise<string>
Resolve an IPFS URL to an HTTP gateway URL
| Name | Type | Description |
|---|---|---|
url | string | The URL to resolve (ipfs://, ar://, or HTTP URL) |
Promise<string>
Promise resolving to HTTP gateway URL
Example
const httpUrl = await sdk.tenants.resolveIpfsUrl('ipfs://QmXxx...');
// Returns 'https://gateway.pinata.cloud/ipfs/QmXxx...'managers/tenant-manager.ts:204
▸ fetchAndProcessMetadata(tokenUri): Promise<null | TokenMetadata>
Fetch and process token metadata from IPFS/HTTP URI
| Name | Type | Description |
|---|---|---|
tokenUri | string | The token URI (ipfs://, ar://, or HTTP) |
Promise<null | TokenMetadata>
Promise resolving to processed metadata or null on error
Example
const metadata = await sdk.tenants.fetchAndProcessMetadata('ipfs://QmXxx.../metadata.json');
if (metadata) {
console.log(metadata.name, metadata.imageUrl);
}