import { TrajectoryDataRequest } from "src/model/trajectoryDataRequest"; import { TrajectoryIngestion } from "src/model/trajectoryIngestion"; import { TrajectoryIngestionItems } from "src/model/trajectoryIngestionItems"; import { TrajectoryInterpolationItems } from "src/model/trajectoryInterpolationItems"; import { TrajectoryInterpolationRequestItems } from "src/model/trajectoryInterpolationRequestItems"; import { TrajectoryItems } from "src/model/trajectoryItems"; import { ConfigureAPI } from "../baseWellsClient"; import { TrajectoryFilterRequest } from "src/model/trajectoryFilterRequest"; import { rethrowAsHttpError } from "../errorHandlingUtils"; import { TrajectoryData } from "src/model/trajectoryData"; export class TrajectoriesAPI extends ConfigureAPI { public ingest = async ( ingestions: TrajectoryIngestion[] ): Promise => { const path = this.getPath("/trajectories"); const ingestionItems: TrajectoryIngestionItems = { items: ingestions }; return await this.client .asyncPost(path, { data: ingestionItems }) .then((response) => response.data) .catch((err) => { throw rethrowAsHttpError(err); }); }; public list = async ( filter: TrajectoryFilterRequest ): Promise => { const path = this.getPath(`/trajectories/list`); return await this.client .asyncPost(path, { data: filter }) .then((response) => response.data) .catch((err) => { throw rethrowAsHttpError(err); }); }; public listData = async ( request: TrajectoryDataRequest ): Promise => { const path = this.getPath(`/trajectories/data`); return await this.client .asyncPost(path, { data: request }) .then((response) => response.data) .catch((err) => { throw rethrowAsHttpError(err); }); }; public interpolate = async ( request: TrajectoryInterpolationRequestItems ): Promise => { const path = this.getPath(`/trajectories/interpolate`); if (request.items.length == 0) { return { items: [] }; } return await this.client .asyncPost(path, { data: request }) .then((response) => response.data) .catch((err) => { throw rethrowAsHttpError(err); }); }; }