Interface used to explore Media Shuttle Share portals

Example

import { MediaShuttleResourceFactory, AccountListResponse, PortalListRequest, Portal, PortalBasicRequest, PortalPermissions, PortalFile } from '@signiant/media-shuttle-sdk';
//...

//This is a simplified example typically there is no need to look up account details more than once per session.
async fetchFirstPortalFiles (resourceFactory: MediaShuttleResourceFactory): Promise<PortalFile[]> {
* //See MediaShuttleResourceFactory for instantiation details.
const explorer: Explorer = resourceFactory.getExplorer();

const showExpiredAccounts: boolean = false;
const accountsResponse: AccountListResponse = await explorer.listAccounts(showExpiredAccounts);
const { serviceId, accountId }: { serviceId: string; accountId: string } = accountsResponse.mediaShuttleAccounts[0];

const portalListRequest: PortalListRequest = {
serviceId,
accountId
};
const portals: Portal[] = await explorer.listPortals(portalListRequest);
const { portalId }: { portalId: string } = portals[0];

const portalBasicRequest: PortalBasicRequest = {
serviceId,
accountId,
portalId
};
const portalPermissions: PortalPermissions = await explorer.getPortalMemberPermissions(portalBasicRequest);
if (portalPermissions.folders.length > 0) {
const getFolderContentRequest: GetFolderContentRequest = {
serviceId,
accountId,
portalId,
folderId: portalPermissions.folders[0].folderId,
}

//Results are not recursive so if folders are found the request must be repeated per sub folder.
const files: PortalFile[] = await explorer.getFolderContent(getFolderContentRequest);
return files;
}
throw new Error(`No folder permissions set for portal [${portalId}]`);
}

Hierarchy

  • Explorer

Methods

  • List the accounts the user has access to.

    Returns

    Promise to resolve a list of accounts

    Parameters

    • showExpired: boolean

      flag to also include expired accounts

    Returns Promise<AccountListResponse>

  • Lists portals where user is a member under a Media Shuttle accountId.

    Returns

    Promise to resolve a list of portals

    Parameters

    Returns Promise<Portal[]>

Generated using TypeDoc