From 5da36190d92f26129470b02eeb1f486907a624c6 Mon Sep 17 00:00:00 2001 From: Brandon Farmer Date: Tue, 5 Feb 2019 11:19:30 -0800 Subject: [PATCH] Switch sources api calls to client --- ui/package-lock.json | 6 +-- ui/package.json | 2 +- ui/src/logs/actions/index.ts | 4 +- ui/src/onboarding/actions/index.ts | 8 ++-- ui/src/onboarding/apis/index.ts | 22 ---------- ui/src/onboarding/components/AdminStep.tsx | 4 +- .../components/OnboardingStepSwitcher.tsx | 4 +- .../containers/OnboardingWizard.tsx | 8 ++-- ui/src/onboarding/reducers/index.ts | 4 +- ui/src/shared/containers/GetSources.test.tsx | 2 - ui/src/sources/actions/index.ts | 19 +++------ ui/src/sources/apis/index.ts | 40 ------------------- ui/src/utils/api.ts | 10 +---- 13 files changed, 27 insertions(+), 106 deletions(-) delete mode 100644 ui/src/onboarding/apis/index.ts delete mode 100644 ui/src/sources/apis/index.ts diff --git a/ui/package-lock.json b/ui/package-lock.json index 116bbccf6f..15bad63a4f 100644 --- a/ui/package-lock.json +++ b/ui/package-lock.json @@ -829,9 +829,9 @@ "dev": true }, "@influxdata/influx": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/@influxdata/influx/-/influx-0.1.7.tgz", - "integrity": "sha512-n7YuYSj/lr2KCpTs6HysJfCT9yFDrFsxz7JVKtAdGr1m1QEUtEBLP016MRXEc+VQSYbPb3zZ4C8zbtu7RpbicA==", + "version": "0.1.9", + "resolved": "https://registry.npmjs.org/@influxdata/influx/-/influx-0.1.9.tgz", + "integrity": "sha512-AoOK71N/jUqAJxGVFZ2quPe79eeDvtZuzF0ITzg4HXeVDZJrdWL2c1HeF/gbS1OOQcMj4UGFMXUzzeSpRaXY4g==", "requires": { "axios": "^0.18.0" } diff --git a/ui/package.json b/ui/package.json index 4941631c29..e9adc46416 100644 --- a/ui/package.json +++ b/ui/package.json @@ -117,7 +117,7 @@ }, "dependencies": { "@influxdata/react-custom-scrollbars": "4.3.8", - "@influxdata/influx": "^0.1.7", + "@influxdata/influx": "^0.1.9", "axios": "^0.18.0", "babel-polyfill": "^6.26.0", "bignumber.js": "^4.0.2", diff --git a/ui/src/logs/actions/index.ts b/ui/src/logs/actions/index.ts index cd6f80caa6..dcc8d14281 100644 --- a/ui/src/logs/actions/index.ts +++ b/ui/src/logs/actions/index.ts @@ -11,7 +11,7 @@ import { } from 'src/logs/utils/logQuery' // APIs -import {readSource} from 'src/sources/apis' +import {client} from 'src/utils/api' import {executeQueryAsync} from 'src/logs/api/v2' // Data @@ -301,7 +301,7 @@ export const populateBucketsAsync = () => async (): Promise => {} export const getSourceAndPopulateBucketsAsync = (id: string) => async ( dispatch ): Promise => { - const source = await readSource(id) + const source = await client.sources.get(id) dispatch(setSource(source)) diff --git a/ui/src/onboarding/actions/index.ts b/ui/src/onboarding/actions/index.ts index 6b072c4427..3c1a94ee61 100644 --- a/ui/src/onboarding/actions/index.ts +++ b/ui/src/onboarding/actions/index.ts @@ -8,7 +8,7 @@ import {notify} from 'src/shared/actions/notifications' import {client} from 'src/utils/api' // Types -import {SetupParams} from 'src/onboarding/apis' +import {ISetupParams} from '@influxdata/influx' export type Action = | SetSetupParams @@ -18,10 +18,10 @@ export type Action = interface SetSetupParams { type: 'SET_SETUP_PARAMS' - payload: {setupParams: SetupParams} + payload: {setupParams: ISetupParams} } -export const setSetupParams = (setupParams: SetupParams): SetSetupParams => ({ +export const setSetupParams = (setupParams: ISetupParams): SetSetupParams => ({ type: 'SET_SETUP_PARAMS', payload: {setupParams}, }) @@ -62,7 +62,7 @@ export const setBucketID = (bucketID: string): SetBucketID => ({ payload: {bucketID}, }) -export const setupAdmin = (params: SetupParams) => async dispatch => { +export const setupAdmin = (params: ISetupParams) => async dispatch => { try { dispatch(setSetupParams(params)) const response = await client.setup.create(params) diff --git a/ui/src/onboarding/apis/index.ts b/ui/src/onboarding/apis/index.ts deleted file mode 100644 index ef08fde867..0000000000 --- a/ui/src/onboarding/apis/index.ts +++ /dev/null @@ -1,22 +0,0 @@ -// Libraries -import _ from 'lodash' - -// Utils -import {sourcesAPI} from 'src/utils/api' - -export interface SetupParams { - username: string - password: string - org: string - bucket: string -} - -export const trySources = async (): Promise => { - try { - await sourcesAPI.sourcesGet('') - return true - } catch (error) { - console.error('Sign in has failed', error) - return false - } -} diff --git a/ui/src/onboarding/components/AdminStep.tsx b/ui/src/onboarding/components/AdminStep.tsx index 70990a92f4..fe27d36a99 100644 --- a/ui/src/onboarding/components/AdminStep.tsx +++ b/ui/src/onboarding/components/AdminStep.tsx @@ -27,9 +27,9 @@ import * as copy from 'src/shared/copy/notifications' // Types import {StepStatus} from 'src/clockface/constants/wizard' import {OnboardingStepProps} from 'src/onboarding/containers/OnboardingWizard' -import {SetupParams} from 'src/onboarding/apis' +import {ISetupParams} from '@influxdata/influx' -interface State extends SetupParams { +interface State extends ISetupParams { confirmPassword: string isAlreadySet: boolean isPassMismatched: boolean diff --git a/ui/src/onboarding/components/OnboardingStepSwitcher.tsx b/ui/src/onboarding/components/OnboardingStepSwitcher.tsx index fb9b63b33e..9085378ed7 100644 --- a/ui/src/onboarding/components/OnboardingStepSwitcher.tsx +++ b/ui/src/onboarding/components/OnboardingStepSwitcher.tsx @@ -9,13 +9,13 @@ import CompletionStep from 'src/onboarding/components/CompletionStep' import {ErrorHandling} from 'src/shared/decorators/errors' // Types -import {SetupParams} from 'src/onboarding/apis' +import {ISetupParams} from '@influxdata/influx' import {OnboardingStepProps} from 'src/onboarding/containers/OnboardingWizard' import {setupAdmin} from 'src/onboarding/actions' interface Props { onboardingStepProps: OnboardingStepProps - setupParams: SetupParams + setupParams: ISetupParams currentStepIndex: number onSetupAdmin: typeof setupAdmin orgID: string diff --git a/ui/src/onboarding/containers/OnboardingWizard.tsx b/ui/src/onboarding/containers/OnboardingWizard.tsx index 81bc2e2acd..ef2a7333f2 100644 --- a/ui/src/onboarding/containers/OnboardingWizard.tsx +++ b/ui/src/onboarding/containers/OnboardingWizard.tsx @@ -22,7 +22,7 @@ import {StepStatus} from 'src/clockface/constants/wizard' // Types import {Links} from 'src/types/v2/links' -import {SetupParams} from 'src/onboarding/apis' +import {ISetupParams} from '@influxdata/influx' import {Notification, NotificationFunc} from 'src/types' import {AppState} from 'src/types/v2' @@ -36,8 +36,8 @@ export interface OnboardingStepProps { onSetSubstepIndex: (index: number, subStep: number | 'streaming') => void stepStatuses: StepStatus[] stepTitles: string[] - setupParams: SetupParams - handleSetSetupParams: (setupParams: SetupParams) => void + setupParams: ISetupParams + handleSetSetupParams: (setupParams: ISetupParams) => void notify: (message: Notification | NotificationFunc) => void onCompleteSetup: () => void onExit: () => void @@ -64,7 +64,7 @@ interface DispatchProps { interface StateProps { links: Links stepStatuses: StepStatus[] - setupParams: SetupParams + setupParams: ISetupParams orgID: string bucketID: string } diff --git a/ui/src/onboarding/reducers/index.ts b/ui/src/onboarding/reducers/index.ts index ba97ae714c..edf008cecb 100644 --- a/ui/src/onboarding/reducers/index.ts +++ b/ui/src/onboarding/reducers/index.ts @@ -3,11 +3,11 @@ import {StepStatus} from 'src/clockface/constants/wizard' // Types import {Action} from 'src/onboarding/actions' -import {SetupParams} from 'src/onboarding/apis' +import {ISetupParams} from '@influxdata/influx' export interface OnboardingState { stepStatuses: StepStatus[] - setupParams: SetupParams + setupParams: ISetupParams orgID: string bucketID: string } diff --git a/ui/src/shared/containers/GetSources.test.tsx b/ui/src/shared/containers/GetSources.test.tsx index 401130ccb0..643b0451cf 100644 --- a/ui/src/shared/containers/GetSources.test.tsx +++ b/ui/src/shared/containers/GetSources.test.tsx @@ -5,8 +5,6 @@ import MockChild from 'mocks/MockChild' import {source} from 'mocks/dummyData' -jest.mock('src/sources/apis', () => require('mocks/sources/apis')) - const onReadSources = jest.fn(() => Promise.resolve()) const setup = (override?) => { diff --git a/ui/src/sources/actions/index.ts b/ui/src/sources/actions/index.ts index c5b3420c65..d7875a8add 100644 --- a/ui/src/sources/actions/index.ts +++ b/ui/src/sources/actions/index.ts @@ -2,12 +2,7 @@ import {Dispatch} from 'redux' // APIs -import { - readSources as readSourcesAJAX, - createSource as createSourceAJAX, - updateSource as updateSourceAJAX, - deleteSource as deleteSourceAJAX, -} from 'src/sources/apis' +import {client} from 'src/utils/api' // Types import {GetState} from 'src/types/v2' @@ -70,17 +65,15 @@ export const removeSource = (sourceID: string): RemoveSourceAction => ({ }) export const readSources = () => async (dispatch: Dispatch) => { - const sources = await readSourcesAJAX() + const sources = await client.sources.getAll() dispatch(setSources(sources)) } export const createSource = (attrs: Partial) => async ( - dispatch: Dispatch, - getState: GetState + dispatch: Dispatch ) => { - const sourcesLink = getState().links.sources - const source = await createSourceAJAX(sourcesLink, attrs) + const source = await client.sources.create('', attrs) dispatch(setSource(source)) } @@ -88,7 +81,7 @@ export const createSource = (attrs: Partial) => async ( export const updateSource = (source: Source) => async ( dispatch: Dispatch ) => { - const updatedSource = await updateSourceAJAX(source.id, source) + const updatedSource = await client.sources.update(source.id, source) dispatch(setSource(updatedSource)) } @@ -103,7 +96,7 @@ export const deleteSource = (sourceID: string) => async ( throw new Error(`no source with ID "${sourceID}" exists`) } - await deleteSourceAJAX(source) + await client.sources.delete(source.id) dispatch(removeSource(sourceID)) } diff --git a/ui/src/sources/apis/index.ts b/ui/src/sources/apis/index.ts deleted file mode 100644 index eb7d6d4f30..0000000000 --- a/ui/src/sources/apis/index.ts +++ /dev/null @@ -1,40 +0,0 @@ -import {Source} from 'src/api' -import {sourcesAPI} from 'src/utils/api' - -export const readSources = async (): Promise => { - const {data} = await sourcesAPI.sourcesGet('') - - return data.sources -} - -export const readSource = async (id: string): Promise => { - const {data} = await sourcesAPI.sourcesSourceIDGet(id) - - return data -} - -export const createSource = async ( - org: string, - attributes: Partial -): Promise => { - const {data} = await sourcesAPI.sourcesPost(org, attributes) - - return data -} - -export const updateSource = async ( - id: string, - source: Partial -): Promise => { - const {data} = await sourcesAPI.sourcesSourceIDPatch(id, source) - - return data -} - -export async function deleteSource(source: Source): Promise { - await sourcesAPI.sourcesSourceIDDelete(source.id) -} - -export const getSourceHealth = async (id: string): Promise => { - await sourcesAPI.sourcesSourceIDHealthGet(id) -} diff --git a/ui/src/utils/api.ts b/ui/src/utils/api.ts index 5d5435d1a3..e7a2614ca0 100644 --- a/ui/src/utils/api.ts +++ b/ui/src/utils/api.ts @@ -1,11 +1,4 @@ -import { - DashboardsApi, - CellsApi, - ViewsApi, - SourcesApi, - QueryApi, - ProtosApi, -} from 'src/api' +import {DashboardsApi, CellsApi, ViewsApi, QueryApi, ProtosApi} from 'src/api' import Client from '@influxdata/influx' @@ -16,6 +9,5 @@ export const client = new Client(basePath) export const viewsAPI = new ViewsApi({basePath}) export const dashboardsAPI = new DashboardsApi({basePath}) export const cellsAPI = new CellsApi({basePath}) -export const sourcesAPI = new SourcesApi({basePath}) export const queryAPI = new QueryApi({basePath}) export const protosAPI = new ProtosApi({basePath})