import { accessApi } from "@cognite/sdk-core"; import { ConfigureAPI } from "../baseWellsClient"; import { WellboreSource } from "src/model/wellboreSource"; import { WellboreItems } from "src/model/wellboreItems"; import { WellboreSourceItems } from "src/model/wellboreSourceItems"; import { WellboreMergeRulesAPI } from "./wellboreMergeRulesApi"; import { IdentifierItems } from "src/model/identifierItems"; import { WellItems } from "src"; import { rethrowAsHttpError } from "../errorHandlingUtils"; export class WellboresAPI extends ConfigureAPI { public get mergeRules() { return accessApi(this.mergeRulesApi); } public set setMergeRules(api: WellboreMergeRulesAPI) { this.mergeRulesApi = api; } private mergeRulesApi?: WellboreMergeRulesAPI; public ingest = async ( ingestions: WellboreSource[] ): Promise => { const path = this.getPath("/wellbores"); const ingestionItems: WellboreSourceItems = { items: ingestions }; return await this.client .asyncPost(path, { data: ingestionItems }) .then((response) => response.data) .catch((err) => { throw rethrowAsHttpError(err); }); }; public retrieveMultiple = async ( ids: IdentifierItems ): Promise => { const path = this.getPath("/wellbores/byids"); if (ids.items.length == 0) { return { items: [] }; } return await this.client .asyncPost(path, { data: ids }) .then((response) => response.data) .catch((err) => { throw rethrowAsHttpError(err); }); }; public retrieveMultipleByWells = async ( ids: IdentifierItems ): Promise => { const path = this.getPath("/wells/byids"); return await this.client .asyncPost(path, { data: ids }) .then((response) => response.data) .catch((err) => { throw rethrowAsHttpError(err); }); }; }