Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor(config-ui): unified type definition and output #6370

Merged
merged 1 commit into from
Nov 1, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 16 additions & 4 deletions config-ui/src/api/api-key/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,22 @@
*
*/

import type { IApiKey } from '@/types';
import { request } from '@/utils';
import * as T from './types';

export const list = (data?: Pagination): Promise<{ count: number; apikeys: T.Key[] }> =>
type ListRes = {
count: number;
apikeys: IApiKey[];
};

export const list = (data?: Pagination): Promise<ListRes> =>
request('/api-keys', {
data,
});

export const create = (data: Pick<T.Key, 'name' | 'expiredAt' | 'allowedPath'>): Promise<T.Key> =>
type CreateForm = Pick<IApiKey, 'name' | 'expiredAt' | 'allowedPath'>;

export const create = (data: CreateForm): Promise<IApiKey> =>
request('/api-keys', {
method: 'POST',
data: {
Expand All @@ -33,7 +40,12 @@ export const create = (data: Pick<T.Key, 'name' | 'expiredAt' | 'allowedPath'>):
},
});

export const remove = (id: string): Promise<void> =>
type RemoveRes = {
message: string;
success: boolean;
};

export const remove = (id: string): Promise<RemoveRes> =>
request(`/api-keys/${id}`, {
method: 'DELETE',
});
Expand Down
16 changes: 10 additions & 6 deletions config-ui/src/api/blueprint/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,13 @@
*
*/

import type { IBlueprint } from '@/types';
import { request } from '@/utils';

import * as T from './types';

export const list = (data: Pagination & { type: string }): Promise<{ count: number; blueprints: T.Blueprint[] }> =>
export const list = (data: Pagination & { type: string }): Promise<{ count: number; blueprints: IBlueprint[] }> =>
request('/blueprints', { data });

export const get = (id: ID): Promise<T.Blueprint> => request(`/blueprints/${id}`);
export const get = (id: ID): Promise<IBlueprint> => request(`/blueprints/${id}`);

export const create = (data: any) =>
request('/blueprints', {
Expand All @@ -33,8 +32,13 @@ export const create = (data: any) =>

export const remove = (id: ID) => request(`/blueprints/${id}`, { method: 'delete' });

export const update = (id: ID, data: T.Blueprint) => request(`/blueprints/${id}`, { method: 'patch', data });
export const update = (id: ID, data: IBlueprint) => request(`/blueprints/${id}`, { method: 'patch', data });

export const pipelines = (id: ID) => request(`/blueprints/${id}/pipelines`);

export const trigger = (id: ID, data: T.TriggerQuery) => request(`/blueprints/${id}/trigger`, { method: 'post', data });
type TriggerQuery = {
skipCollectors: boolean;
fullSync: boolean;
};

export const trigger = (id: ID, data: TriggerQuery) => request(`/blueprints/${id}/trigger`, { method: 'post', data });
17 changes: 8 additions & 9 deletions config-ui/src/api/connection/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,22 +16,21 @@
*
*/

import { IConnectionAPI, IConnectionTestResult } from '@/types';
import { request } from '@/utils';

import * as T from './types';
export const list = (plugin: string): Promise<IConnectionAPI[]> => request(`/plugins/${plugin}/connections`);

export const list = (plugin: string): Promise<T.Connection[]> => request(`/plugins/${plugin}/connections`);

export const get = (plugin: string, connectionId: ID): Promise<T.Connection> =>
export const get = (plugin: string, connectionId: ID): Promise<IConnectionAPI> =>
request(`/plugins/${plugin}/connections/${connectionId}`);

export const create = (plugin: string, payload: T.ConnectionForm): Promise<T.Connection> =>
export const create = (plugin: string, payload: Omit<IConnectionAPI, 'id'>): Promise<IConnectionAPI> =>
request(`/plugins/${plugin}/connections`, { method: 'post', data: payload });

export const remove = (plugin: string, id: ID): Promise<T.Connection> =>
export const remove = (plugin: string, id: ID): Promise<IConnectionAPI> =>
request(`/plugins/${plugin}/connections/${id}`, { method: 'delete' });

export const update = (plugin: string, id: ID, payload: T.ConnectionForm): Promise<T.Connection> =>
export const update = (plugin: string, id: ID, payload: Omit<IConnectionAPI, 'id'>): Promise<IConnectionAPI> =>
request(`/plugins/${plugin}/connections/${id}`, {
method: 'patch',
data: payload,
Expand All @@ -40,7 +39,7 @@ export const update = (plugin: string, id: ID, payload: T.ConnectionForm): Promi
export const test = (
plugin: string,
payload: Pick<
T.ConnectionForm,
IConnectionAPI,
'endpoint' | 'authMethod' | 'username' | 'password' | 'token' | 'appId' | 'secretKey' | 'proxy' | 'dbUrl'
>,
): Promise<T.ConnectionTest> => request(`/plugins/${plugin}/test`, { method: 'post', data: payload });
): Promise<IConnectionTestResult> => request(`/plugins/${plugin}/test`, { method: 'post', data: payload });
60 changes: 0 additions & 60 deletions config-ui/src/api/connection/types.ts

This file was deleted.

5 changes: 2 additions & 3 deletions config-ui/src/api/pipeline/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,10 @@
*
*/

import { IPipeline } from '@/types';
import { request } from '@/utils';

import * as T from './types';

export const list = (): Promise<{ count: number; pipelines: T.Pipeline[] }> => request('/pipelines');
export const list = (): Promise<{ count: number; pipelines: IPipeline[] }> => request('/pipelines');

export const get = (id: ID) => request(`/pipelines/${id}`);

Expand Down
11 changes: 5 additions & 6 deletions config-ui/src/api/project/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,16 +16,15 @@
*
*/

import type { IProject } from '@/types';
import { request } from '@/utils';

import * as T from './types';

export const list = (data: Pagination): Promise<{ count: number; projects: T.Project[] }> =>
export const list = (data: Pagination): Promise<{ count: number; projects: IProject[] }> =>
request('/projects', { data });

export const get = (name: string): Promise<T.Project> => request(`/projects/${name}`);
export const get = (name: string): Promise<IProject> => request(`/projects/${name}`);

export const create = (data: Pick<T.Project, 'name' | 'description' | 'metrics'>) =>
export const create = (data: Pick<IProject, 'name' | 'description' | 'metrics'>) =>
request('/projects', {
method: 'post',
data,
Expand All @@ -36,7 +35,7 @@ export const remove = (name: string) =>
method: 'delete',
});

export const update = (name: string, data: Pick<T.Project, 'name' | 'description' | 'metrics'>) =>
export const update = (name: string, data: Pick<IProject, 'name' | 'description' | 'metrics'>) =>
request(`/projects/${name}`, {
method: 'patch',
data,
Expand Down
42 changes: 34 additions & 8 deletions config-ui/src/api/scope/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,23 @@
*
*/

import { IDataScope, IScopeConfig } from '@/types';
import { request } from '@/utils';

import * as T from './types';

export const list = (
plugin: string,
connectionId: ID,
data?: T.ListQuery,
): Promise<{ count: number; scopes: T.List }> =>
data?: Pagination & {
blueprints?: boolean;
searchTerm?: string;
},
): Promise<{
count: number;
scopes: Array<{
scope: IDataScope;
scopeConfig?: IScopeConfig;
}>;
}> =>
request(`/plugins/${plugin}/connections/${connectionId}/scopes`, {
data,
});
Expand All @@ -49,21 +57,39 @@ export const batch = (plugin: string, connectionId: ID, payload: any) =>
data: payload,
});

type RemoteQuery = {
groupId: ID | null;
pageToken?: string;
};

type RemoteScope = {
type: 'group' | 'scope';
parentId: ID | null;
id: ID;
name: string;
fullName: string;
data: any;
};

export const remote = (
plugin: string,
connectionId: ID,
data: T.RemoteQuery,
): Promise<{ children: T.RemoteScope[]; nextPageToken: string }> =>
data: RemoteQuery,
): Promise<{ children: RemoteScope[]; nextPageToken: string }> =>
request(`/plugins/${plugin}/connections/${connectionId}/remote-scopes`, {
method: 'get',
data,
});

type SearchRemoteQuery = {
search?: string;
} & Pagination;

export const searchRemote = (
plugin: string,
connectionId: ID,
data: T.SearchRemoteQuery,
): Promise<{ children: T.RemoteScope[]; count: number }> =>
data: SearchRemoteQuery,
): Promise<{ children: RemoteScope[]; count: number }> =>
request(`/plugins/${plugin}/connections/${connectionId}/search-remote-scopes`, {
method: 'get',
data,
Expand Down
50 changes: 0 additions & 50 deletions config-ui/src/api/scope/types.ts

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,12 @@
import { useState, useEffect } from 'react';

import { Dialog } from '@/components';

import type { BlueprintType } from '../../../types';
import { ModeEnum } from '../../../types';
import { IBlueprint, IBPMode } from '@/types';

import { SyncPolicy } from '../sync-policy';

interface Props {
blueprint: BlueprintType;
blueprint: IBlueprint;
isManual: boolean;
cronConfig: string;
skipOnFail: boolean;
Expand Down Expand Up @@ -74,7 +72,7 @@ export const UpdatePolicyDialog = ({ blueprint, operating, onCancel, onSubmit, .
isManual={isManual}
cronConfig={cronConfig}
skipOnFail={skipOnFail}
showTimeFilter={blueprint.mode === ModeEnum.normal}
showTimeFilter={blueprint.mode === IBPMode.NORMAL}
timeAfter={timeAfter}
onChangeIsManual={setIsManual}
onChangeCronConfig={setCronConfig}
Expand Down
Loading