UNPKG

filecoin-pin

Version:

Bridge IPFS content to Filecoin Onchain Cloud using familiar tools

44 lines (36 loc) 1.22 kB
import type { Synapse } from '@filoz/synapse-sdk' import { getDataSetPieces } from './get-data-set-pieces.js' import { listDataSets } from './list-data-sets.js' import type { DataSetSummary, ListDataSetsOptions } from './types.js' export async function getDetailedDataSet( synapse: Synapse, dataSetId: number, options?: ListDataSetsOptions ): Promise<DataSetSummary> { const logger = options?.logger const dataSets = await listDataSets(synapse, { ...options, withProviderDetails: true, filter: (dataSet) => dataSet.pdpVerifierDataSetId === dataSetId, }) const dataSet = dataSets[0] if (dataSets.length === 0 || dataSet == null) { logger?.error({ dataSetId }, `Data set ${dataSetId} not found`) throw new Error(`Data set ${dataSetId} not found`) } const storageContext = await synapse.storage.createContext({ dataSetId: dataSet.dataSetId, }) const piecesResult = await getDataSetPieces(synapse, storageContext, { includeMetadata: true, logger, }) const result: DataSetSummary = { ...dataSet, pieces: piecesResult.pieces, } if (piecesResult.totalSizeBytes != null) { result.totalSizeBytes = piecesResult.totalSizeBytes } return result }