Skip to content
Last updated

PERS SDK - v2.3.26 / Exports / TenantManager

Class: 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.

Table of contents

Constructors

Methods

Constructors

constructor

new TenantManager(apiClient): TenantManager

Parameters

NameType
apiClientPersApiClient

Returns

TenantManager

Defined in

managers/tenant-manager.ts:29

Methods

getTenantPublicInfo

getTenantPublicInfo(): Promise<TenantPublicDTO>

Get current tenant public information (API key only)

Returns

Promise<TenantPublicDTO>

Promise resolving to public tenant data

Defined in

managers/tenant-manager.ts:39


getTenantInfo

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.

Returns

Promise<TenantDTO>

Promise resolving to full tenant data

Defined in

managers/tenant-manager.ts:51


getLoginToken

getLoginToken(): Promise<string>

Get tenant login token

Returns

Promise<string>

Promise resolving to login token

Defined in

managers/tenant-manager.ts:60


getClientConfig

getClientConfig(): Promise<TenantClientConfigDTO>

Get tenant client configuration (cached)

Returns

Promise<TenantClientConfigDTO>

Promise resolving to client config

Defined in

managers/tenant-manager.ts:69


getGoogleApiKey

getGoogleApiKey(): Promise<undefined | string>

Get Google API key from tenant configuration (cached).

Returns

Promise<undefined | string>

Google API key or undefined if not configured

Defined in

managers/tenant-manager.ts:82


getCurrentAdmin

getCurrentAdmin(): Promise<AdminDTO>

Admin: Get current admin info

Retrieves the authenticated admin's profile information. Requires tenant admin authentication.

Returns

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);

Defined in

managers/tenant-manager.ts:106


updateTenant

updateTenant(tenantData): Promise<TenantDTO>

Admin: Update tenant data

Parameters

NameTypeDescription
tenantDataTenantUpdateRequestDTOUpdated tenant data

Returns

Promise<TenantDTO>

Promise resolving to full updated tenant (includes sensitive config)

Defined in

managers/tenant-manager.ts:116


getAdmins

getAdmins(options?): Promise<PaginatedResponseDTO<AdminDTO>>

Admin: Get all admins

Parameters

NameTypeDescription
options?PaginationOptionsPagination options

Returns

Promise<PaginatedResponseDTO<AdminDTO>>

Promise resolving to paginated admins

Defined in

managers/tenant-manager.ts:126


createAdmin

createAdmin(adminData): Promise<AdminDTO>

Admin: Create new admin

Parameters

NameTypeDescription
adminDataAdminCreateRequestDTOAdmin data

Returns

Promise<AdminDTO>

Promise resolving to created admin

Defined in

managers/tenant-manager.ts:136


updateAdmin

updateAdmin(adminId, adminData): Promise<AdminDTO>

Admin: Update existing admin

Parameters

NameTypeDescription
adminIdstringID of the admin to update
adminDataAdminCreateRequestDTOUpdated admin data

Returns

Promise<AdminDTO>

Promise resolving to updated admin

Defined in

managers/tenant-manager.ts:147


getTenantService

getTenantService(): TenantService

Get the tenant service for advanced operations

Returns

TenantService

TenantService instance

Defined in

managers/tenant-manager.ts:156


clearCache

clearCache(): void

Clear tenant cache (useful after config changes)

Returns

void

Defined in

managers/tenant-manager.ts:163


getIpfsGatewayDomain

getIpfsGatewayDomain(): Promise<string>

Get the IPFS gateway domain from tenant config (cached)

Returns

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 gateway

Defined in

managers/tenant-manager.ts:181


resolveIpfsUrl

resolveIpfsUrl(url): Promise<string>

Resolve an IPFS URL to an HTTP gateway URL

Parameters

NameTypeDescription
urlstringThe URL to resolve (ipfs://, ar://, or HTTP URL)

Returns

Promise<string>

Promise resolving to HTTP gateway URL

Example

const httpUrl = await sdk.tenants.resolveIpfsUrl('ipfs://QmXxx...');
// Returns 'https://gateway.pinata.cloud/ipfs/QmXxx...'

Defined in

managers/tenant-manager.ts:204


fetchAndProcessMetadata

fetchAndProcessMetadata(tokenUri): Promise<null | TokenMetadata>

Fetch and process token metadata from IPFS/HTTP URI

Parameters

NameTypeDescription
tokenUristringThe token URI (ipfs://, ar://, or HTTP)

Returns

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);
}

Defined in

managers/tenant-manager.ts:243