dcl-catalyst-client
Version:
A client to query and perform changes on Decentraland's catalyst servers
44 lines • 1.92 kB
TypeScript
/// <reference types="node" />
/// <reference types="node" />
import { Entity } from '@dcl/schemas';
import { IFetchComponent, RequestOptions } from '@well-known-components/interfaces';
import FormData from 'form-data';
import { ClientOptions, DeploymentData, ParallelConfig } from './types';
export type AvailableContentResult = {
cid: string;
available: boolean;
}[];
export type ContentClient = {
buildEntityFormDataForDeployment(deployData: DeploymentData, options?: RequestOptions): Promise<FormData>;
/** Retrieve / Download */
fetchEntitiesByPointers(pointers: string[], options?: RequestOptions): Promise<Entity[]>;
fetchEntitiesByIds(ids: string[], options?: RequestOptions & {
parallel?: ParallelConfig;
}): Promise<Entity[]>;
fetchEntityById(id: string, options?: RequestOptions & {
parallel?: ParallelConfig;
}): Promise<Entity>;
downloadContent(contentHash: string, options?: RequestOptions & {
avoidChecks?: boolean;
}): Promise<Buffer>;
isContentAvailable(cids: string[], options?: RequestOptions): Promise<AvailableContentResult>;
/**
* Deploys an entity to the content server.
*/
deploy(deployData: DeploymentData, options?: RequestOptions): Promise<unknown>;
/**
* Checks if a pointer is consistent across multiple content servers
*/
checkPointerConsistency(pointer: string, options?: RequestOptions & {
parallel?: ParallelConfig;
}): Promise<{
isConsistent: boolean;
upToDateEntities?: Entity[];
outdatedEntities?: Entity[];
}>;
};
export declare function downloadContent(fetcher: IFetchComponent, baseUrl: string, contentHash: string, options?: Partial<RequestOptions> & {
avoidChecks?: boolean;
}): Promise<Buffer>;
export declare function createContentClient(options: ClientOptions): ContentClient;
//# sourceMappingURL=ContentClient.d.ts.map