import { HttpError } from "@cognite/sdk-core"; import { DepthMeasurementItems } from "src/model/depthMeasurementItems"; import { ConfigureAPI } from "../baseWellsClient"; import { DepthMeasurementFilterRequest } from "src/model/depthMeasurementFilterRequest"; import { rethrowAsHttpError } from "../errorHandlingUtils"; import { DepthMeasurementIngestion, DepthMeasurementIngestionItems } from "src"; import { DepthMeasurementDataRequest } from "src/model/depthMeasurementDataRequest"; import { DepthMeasurementData } from "src/model/depthMeasurementData"; import { SequenceExternalIdItems } from "src/model/sequenceExternalIdItems"; export class MeasurementsAPI extends ConfigureAPI { public ingest = async ( ingestions: DepthMeasurementIngestion[] ): Promise => { const path = this.getPath("/measurements/depth"); const ingestionItems: DepthMeasurementIngestionItems = { items: ingestions, }; return await this.client .asyncPost(path, { data: ingestionItems }) .then((response) => response.data) .catch((err) => { throw rethrowAsHttpError(err); }); }; public list = async ( filter: DepthMeasurementFilterRequest ): Promise => { const path = this.getPath(`/measurements/depth/list`); return await this.client .asyncPost(path, { data: filter }) .then((response) => response.data) .catch((err) => { throw new HttpError(err.status, err.data.error.message, {}); }); }; public listData = async ( requestItems: DepthMeasurementDataRequest ): Promise => { const path = this.getPath(`/measurements/depth/data`); return await this.client .asyncPost(path, { data: requestItems }) .then((response) => response.data) .catch((err) => { throw new HttpError(err.status, err.data.error.message, {}); }); }; public retrieveMultiple = async ( ids: SequenceExternalIdItems ): Promise => { const path: string = this.getPath(`/measurements/depth/byids`); return await this.client .asyncPost(path, { data: ids }) .then((response) => response.data) .catch((err) => { throw rethrowAsHttpError(err); }); }; }