import { accessApi } from "@cognite/sdk-core"; import { CasingsAPI } from "./api/casingsApi"; import { ExperimentalAPI } from "./api/experimentalApi"; import { HoleSectionsAPI } from "./api/holeSectionsApi"; import { MeasurementsAPI } from "./api/measurementsApi"; import { MeasurementTypesApi } from "./api/measurementTypesApi"; import { NdsAPI } from "./api/ndsApi"; import { NptAPI } from "./api/nptApi"; import { RigOperationsAPI } from "./api/rigoperationApi"; import { SourcesAPI } from "./api/sourcesApi"; import { SummariesAPI } from "./api/summaries"; import { TimeMeasurementsAPI } from "./api/timeMeasurementsApi"; import { TrajectoriesAPI } from "./api/trajectoriesApi"; import { WellboreMergeRulesAPI } from "./api/wellboreMergeRulesApi"; import { WellboresAPI } from "./api/wellboresApi"; import { WellMergeRulesAPI } from "./api/wellMergeRulesApi"; import { WellsAPI } from "./api/wellsApi"; import { WellTopsAPI } from "./api/wellTopsApi"; import BaseWellsClient from "./baseWellsClient"; import { ClientOptions } from "./clientAuthUtils"; import { WellSourcesAPI } from "./api/wellSourcesApi"; import { WellboreSourcesAPI } from "./api/wellboreSourcesApi"; export default class CogniteWellsClient extends BaseWellsClient { public get wells() { return accessApi(this.wellsApi); } public get wellbores() { return accessApi(this.wellboresApi); } public get wellSources() { return accessApi(this.wellSourcesApi); } public get wellboreSources() { return accessApi(this.wellboreSourcesApi); } public get trajectories() { return accessApi(this.trajectoriesApi); } public get measurements() { return accessApi(this.measurementsApi); } public get measurementTypes() { return accessApi(this.measurementTypesApi); } public get timeMeasurements() { return accessApi(this.timeMeasurementsApi); } public get casings() { return accessApi(this.casingsApi); } public get npt() { return accessApi(this.nptApi); } public get nds() { return accessApi(this.ndsApi); } public get sources() { return accessApi(this.sourcesApi); } public get summaries() { return accessApi(this.summariesApi); } public get wellTops() { return accessApi(this.wellTopsApi); } public get holeSections() { return accessApi(this.holeSectionsApi); } public get rigOperations() { return accessApi(this.rigOperationsApi); } public get experimental() { return new ExperimentalAPI(this.httpClient); } private wellsApi?: WellsAPI; private wellboresApi?: WellboresAPI; private trajectoriesApi?: TrajectoriesAPI; private measurementsApi?: MeasurementsAPI; private measurementTypesApi?: MeasurementTypesApi; private timeMeasurementsApi?: TimeMeasurementsAPI; private casingsApi?: CasingsAPI; private nptApi?: NptAPI; private ndsApi?: NdsAPI; private sourcesApi?: SourcesAPI; private summariesApi?: SummariesAPI; private wellMergeRulesApi?: WellMergeRulesAPI; private wellboreMergeRulesApi?: WellboreMergeRulesAPI; private wellTopsApi?: WellTopsAPI; private holeSectionsApi?: HoleSectionsAPI; private rigOperationsApi?: RigOperationsAPI; private wellSourcesApi?: WellSourcesAPI; private wellboreSourcesApi?: WellboreSourcesAPI; constructor(options: ClientOptions) { super(options); } protected initAPIs() { // sources this.sourcesApi = this.apiFactory(SourcesAPI, "sources"); this.sourcesApi.setHttpClient = this.httpClient; this.sourcesApi.setProject = this.project; // trajectories this.trajectoriesApi = this.apiFactory(TrajectoriesAPI, "trajectories"); this.trajectoriesApi.setHttpClient = this.httpClient; this.trajectoriesApi.setProject = this.project; // depth measurements this.measurementsApi = this.apiFactory(MeasurementsAPI, "measurements"); this.measurementsApi.setHttpClient = this.httpClient; this.measurementsApi.setProject = this.project; // measurement types this.measurementTypesApi = this.apiFactory( MeasurementTypesApi, "measurementtypes" ); this.measurementTypesApi.setHttpClient = this.httpClient; this.measurementTypesApi.setProject = this.project; // time measurements this.timeMeasurementsApi = this.apiFactory( TimeMeasurementsAPI, "timeMeasurements" ); this.timeMeasurementsApi.setHttpClient = this.httpClient; this.timeMeasurementsApi.setProject = this.project; // casings this.casingsApi = this.apiFactory(CasingsAPI, "casings"); this.casingsApi.setHttpClient = this.httpClient; this.casings.setProject = this.project; // npt this.nptApi = this.apiFactory(NptAPI, "npt"); this.nptApi.setHttpClient = this.httpClient; this.nptApi.setProject = this.project; // nds this.ndsApi = this.apiFactory(NdsAPI, "nds"); this.ndsApi.setHttpClient = this.httpClient; this.ndsApi.setProject = this.project; // summaries this.summariesApi = this.apiFactory(SummariesAPI, "summaries"); this.summariesApi.setHttpClient = this.httpClient; this.summariesApi.setProject = this.project; // well merge rules this.wellboreMergeRulesApi = this.apiFactory( WellboreMergeRulesAPI, "wellboreMergeRules" ); this.wellboreMergeRulesApi.setHttpClient = this.httpClient; this.wellboreMergeRulesApi.setProject = this.project; // wellbores this.wellboresApi = this.apiFactory(WellboresAPI, "wellbores"); this.wellboresApi.setHttpClient = this.httpClient; this.wellboresApi.setProject = this.project; this.wellboresApi.setMergeRules = this.wellboreMergeRulesApi; // well merge rules this.wellMergeRulesApi = this.apiFactory( WellMergeRulesAPI, "wellMergeRules" ); this.wellMergeRulesApi.setHttpClient = this.httpClient; this.wellMergeRulesApi.setProject = this.project; // wells this.wellsApi = this.apiFactory(WellsAPI, "wells"); this.wellsApi.setHttpClient = this.httpClient; this.wellsApi.setProject = this.project; this.wellsApi.setMergeRules = this.wellMergeRulesApi; // well tops this.wellTopsApi = this.apiFactory(WellTopsAPI, "wellTops"); this.wellTopsApi.setHttpClient = this.httpClient; this.wellTopsApi.setProject = this.project; // hole sections this.holeSectionsApi = this.apiFactory(HoleSectionsAPI, "holesections"); this.holeSectionsApi.setHttpClient = this.httpClient; this.holeSectionsApi.setProject = this.project; // rig operations this.rigOperationsApi = this.apiFactory(RigOperationsAPI, "rigoperations"); this.rigOperationsApi.setHttpClient = this.httpClient; this.rigOperationsApi.setProject = this.project; // well sources this.wellSourcesApi = this.apiFactory(WellSourcesAPI, "well_sources"); this.wellSourcesApi.setHttpClient = this.httpClient; this.wellSourcesApi.setProject = this.project; // wellbore sources this.wellboreSourcesApi = this.apiFactory( WellboreSourcesAPI, "wellbore_sources" ); this.wellboreSourcesApi.setHttpClient = this.httpClient; this.wellboreSourcesApi.setProject = this.project; } }