UNPKG

@maestro-org/typescript-sdk

Version:

TypeScript SDK for the Maestro Dapp Platform

126 lines (114 loc) 5.54 kB
import { AxiosRequestConfig } from 'axios'; import { RequestArgs } from '../../base'; import { assertParamExists, DUMMY_BASE_URL, setApiKeyToObject, setSearchParams, toPathString, createRequestFunction, serializeDataIfNeeded, } from '../../common'; import { Configuration } from '../../configuration'; import { TimestampedDatum, TimestampedDatums } from '../type'; /** * DatumApi - axios parameter creator * @export */ export const DatumApiAxiosParamCreator = (configuration: Configuration) => ({ /** * Returns the datum corresponding to the specified datum hash, if the datum has been seen on-chain * @summary Datum by datum hash * @param {string} datumHash Hex encoded datum hash * @param {*} [options] Override http request option. * @throws {RequiredError} */ lookupDatum: (datumHash: string, options: AxiosRequestConfig = {}): RequestArgs => { // verify required parameter 'datumHash' is not null or undefined assertParamExists('lookupDatum', 'datumHash', datumHash); const localVarPath = `/datums/{datum_hash}`.replace(`{${'datum_hash'}}`, encodeURIComponent(String(datumHash))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); const { baseOptions } = configuration; const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options }; const localVarHeaderParameter = {} as Record<string, string>; const localVarQueryParameter = {} as Record<string, string>; // authentication api-key required setApiKeyToObject(localVarHeaderParameter, 'api-key', configuration); setSearchParams(localVarUrlObj, localVarQueryParameter); const headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers, }; return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, /** * Returns the datums corresponding to the specified datum hashes, for the datums which have been seen on-chain * @summary Datums by datum hashes * @param {Array<string>} requestBody Array of hex encoded datum hashes * @param {*} [options] Override http request option. * @throws {RequiredError} */ lookupDatums: (requestBody: Array<string>, options: AxiosRequestConfig = {}): RequestArgs => { // verify required parameter 'requestBody' is not null or undefined assertParamExists('lookupDatums', 'requestBody', requestBody); const localVarPath = `/datums`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); const { baseOptions } = configuration; const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options }; const localVarHeaderParameter = {} as Record<string, string>; const localVarQueryParameter = {} as Record<string, string>; // authentication api-key required setApiKeyToObject(localVarHeaderParameter, 'api-key', configuration); localVarHeaderParameter['Content-Type'] = 'application/json'; setSearchParams(localVarUrlObj, localVarQueryParameter); const headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers, }; localVarRequestOptions.data = serializeDataIfNeeded(requestBody, localVarRequestOptions, configuration); return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, }); /** * DatumApi - functional programming interface * @export */ export const DatumApiFp = (configuration: Configuration) => { const localVarAxiosParamCreator = DatumApiAxiosParamCreator(configuration); return { /** * Returns the datum corresponding to the specified datum hash, if the datum has been seen on-chain * @summary Datum by datum hash * @param {string} datumHash Hex encoded datum hash * @param {*} [options] Override http request option. * @throws {RequiredError} */ lookupDatum(datumHash: string, options?: AxiosRequestConfig): () => Promise<TimestampedDatum> { const localVarAxiosArgs = localVarAxiosParamCreator.lookupDatum(datumHash, options); return createRequestFunction(localVarAxiosArgs, configuration); }, /** * Returns the datums corresponding to the specified datum hashes, for the datums which have been seen on-chain * @summary Datums by datum hashes * @param {Array<string>} requestBody Array of hex encoded datum hashes * @param {*} [options] Override http request option. * @throws {RequiredError} */ lookupDatums(requestBody: Array<string>, options?: AxiosRequestConfig): () => Promise<TimestampedDatums> { const localVarAxiosArgs = localVarAxiosParamCreator.lookupDatums(requestBody, options); return createRequestFunction(localVarAxiosArgs, configuration); }, }; };