Skip to content

Commit 14da7b6

Browse files
committed
refactor(config-ui): unified type definition and output
1 parent 743d122 commit 14da7b6

35 files changed

+263
-381
lines changed

config-ui/src/api/api-key/index.ts

+16-4
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,22 @@
1616
*
1717
*/
1818

19+
import type { IApiKey } from '@/types';
1920
import { request } from '@/utils';
20-
import * as T from './types';
2121

22-
export const list = (data?: Pagination): Promise<{ count: number; apikeys: T.Key[] }> =>
22+
type ListRes = {
23+
count: number;
24+
apikeys: IApiKey[];
25+
};
26+
27+
export const list = (data?: Pagination): Promise<ListRes> =>
2328
request('/api-keys', {
2429
data,
2530
});
2631

27-
export const create = (data: Pick<T.Key, 'name' | 'expiredAt' | 'allowedPath'>): Promise<T.Key> =>
32+
type CreateForm = Pick<IApiKey, 'name' | 'expiredAt' | 'allowedPath'>;
33+
34+
export const create = (data: CreateForm): Promise<IApiKey> =>
2835
request('/api-keys', {
2936
method: 'POST',
3037
data: {
@@ -33,7 +40,12 @@ export const create = (data: Pick<T.Key, 'name' | 'expiredAt' | 'allowedPath'>):
3340
},
3441
});
3542

36-
export const remove = (id: string): Promise<void> =>
43+
type RemoveRes = {
44+
message: string;
45+
success: boolean;
46+
};
47+
48+
export const remove = (id: string): Promise<RemoveRes> =>
3749
request(`/api-keys/${id}`, {
3850
method: 'DELETE',
3951
});

config-ui/src/api/blueprint/index.ts

+10-6
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,13 @@
1616
*
1717
*/
1818

19+
import type { IBlueprint } from '@/types';
1920
import { request } from '@/utils';
2021

21-
import * as T from './types';
22-
23-
export const list = (data: Pagination & { type: string }): Promise<{ count: number; blueprints: T.Blueprint[] }> =>
22+
export const list = (data: Pagination & { type: string }): Promise<{ count: number; blueprints: IBlueprint[] }> =>
2423
request('/blueprints', { data });
2524

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

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

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

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

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

40-
export const trigger = (id: ID, data: T.TriggerQuery) => request(`/blueprints/${id}/trigger`, { method: 'post', data });
39+
type TriggerQuery = {
40+
skipCollectors: boolean;
41+
fullSync: boolean;
42+
};
43+
44+
export const trigger = (id: ID, data: TriggerQuery) => request(`/blueprints/${id}/trigger`, { method: 'post', data });

config-ui/src/api/connection/index.ts

+8-9
Original file line numberDiff line numberDiff line change
@@ -16,22 +16,21 @@
1616
*
1717
*/
1818

19+
import { IConnectionAPI, IConnectionTestResult } from '@/types';
1920
import { request } from '@/utils';
2021

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

23-
export const list = (plugin: string): Promise<T.Connection[]> => request(`/plugins/${plugin}/connections`);
24-
25-
export const get = (plugin: string, connectionId: ID): Promise<T.Connection> =>
24+
export const get = (plugin: string, connectionId: ID): Promise<IConnectionAPI> =>
2625
request(`/plugins/${plugin}/connections/${connectionId}`);
2726

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

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

34-
export const update = (plugin: string, id: ID, payload: T.ConnectionForm): Promise<T.Connection> =>
33+
export const update = (plugin: string, id: ID, payload: Omit<IConnectionAPI, 'id'>): Promise<IConnectionAPI> =>
3534
request(`/plugins/${plugin}/connections/${id}`, {
3635
method: 'patch',
3736
data: payload,
@@ -40,7 +39,7 @@ export const update = (plugin: string, id: ID, payload: T.ConnectionForm): Promi
4039
export const test = (
4140
plugin: string,
4241
payload: Pick<
43-
T.ConnectionForm,
42+
IConnectionAPI,
4443
'endpoint' | 'authMethod' | 'username' | 'password' | 'token' | 'appId' | 'secretKey' | 'proxy' | 'dbUrl'
4544
>,
46-
): Promise<T.ConnectionTest> => request(`/plugins/${plugin}/test`, { method: 'post', data: payload });
45+
): Promise<IConnectionTestResult> => request(`/plugins/${plugin}/test`, { method: 'post', data: payload });

config-ui/src/api/connection/types.ts

-60
This file was deleted.

config-ui/src/api/pipeline/index.ts

+2-3
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,10 @@
1616
*
1717
*/
1818

19+
import { IPipeline } from '@/types';
1920
import { request } from '@/utils';
2021

21-
import * as T from './types';
22-
23-
export const list = (): Promise<{ count: number; pipelines: T.Pipeline[] }> => request('/pipelines');
22+
export const list = (): Promise<{ count: number; pipelines: IPipeline[] }> => request('/pipelines');
2423

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

config-ui/src/api/project/index.ts

+5-6
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,15 @@
1616
*
1717
*/
1818

19+
import type { IProject } from '@/types';
1920
import { request } from '@/utils';
2021

21-
import * as T from './types';
22-
23-
export const list = (data: Pagination): Promise<{ count: number; projects: T.Project[] }> =>
22+
export const list = (data: Pagination): Promise<{ count: number; projects: IProject[] }> =>
2423
request('/projects', { data });
2524

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

28-
export const create = (data: Pick<T.Project, 'name' | 'description' | 'metrics'>) =>
27+
export const create = (data: Pick<IProject, 'name' | 'description' | 'metrics'>) =>
2928
request('/projects', {
3029
method: 'post',
3130
data,
@@ -36,7 +35,7 @@ export const remove = (name: string) =>
3635
method: 'delete',
3736
});
3837

39-
export const update = (name: string, data: Pick<T.Project, 'name' | 'description' | 'metrics'>) =>
38+
export const update = (name: string, data: Pick<IProject, 'name' | 'description' | 'metrics'>) =>
4039
request(`/projects/${name}`, {
4140
method: 'patch',
4241
data,

config-ui/src/api/scope/index.ts

+34-8
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,23 @@
1616
*
1717
*/
1818

19+
import { IDataScope, IScopeConfig } from '@/types';
1920
import { request } from '@/utils';
2021

21-
import * as T from './types';
22-
2322
export const list = (
2423
plugin: string,
2524
connectionId: ID,
26-
data?: T.ListQuery,
27-
): Promise<{ count: number; scopes: T.List }> =>
25+
data?: Pagination & {
26+
blueprint?: boolean;
27+
searchTerm?: string;
28+
},
29+
): Promise<{
30+
count: number;
31+
scopes: Array<{
32+
scope: IDataScope;
33+
scopeConfig?: IScopeConfig;
34+
}>;
35+
}> =>
2836
request(`/plugins/${plugin}/connections/${connectionId}/scopes`, {
2937
data,
3038
});
@@ -49,21 +57,39 @@ export const batch = (plugin: string, connectionId: ID, payload: any) =>
4957
data: payload,
5058
});
5159

60+
type RemoteQuery = {
61+
groupId: ID | null;
62+
pageToken?: string;
63+
};
64+
65+
type RemoteScope = {
66+
type: 'group' | 'scope';
67+
parentId: ID | null;
68+
id: ID;
69+
name: string;
70+
fullName: string;
71+
data: any;
72+
};
73+
5274
export const remote = (
5375
plugin: string,
5476
connectionId: ID,
55-
data: T.RemoteQuery,
56-
): Promise<{ children: T.RemoteScope[]; nextPageToken: string }> =>
77+
data: RemoteQuery,
78+
): Promise<{ children: RemoteScope[]; nextPageToken: string }> =>
5779
request(`/plugins/${plugin}/connections/${connectionId}/remote-scopes`, {
5880
method: 'get',
5981
data,
6082
});
6183

84+
type SearchRemoteQuery = {
85+
search?: string;
86+
} & Pagination;
87+
6288
export const searchRemote = (
6389
plugin: string,
6490
connectionId: ID,
65-
data: T.SearchRemoteQuery,
66-
): Promise<{ children: T.RemoteScope[]; count: number }> =>
91+
data: SearchRemoteQuery,
92+
): Promise<{ children: RemoteScope[]; count: number }> =>
6793
request(`/plugins/${plugin}/connections/${connectionId}/search-remote-scopes`, {
6894
method: 'get',
6995
data,

config-ui/src/api/scope/types.ts

-50
This file was deleted.

config-ui/src/pages/blueprint/detail/components/update-policy-dialog/index.tsx

+3-5
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,12 @@
1919
import { useState, useEffect } from 'react';
2020

2121
import { Dialog } from '@/components';
22-
23-
import type { BlueprintType } from '../../../types';
24-
import { ModeEnum } from '../../../types';
22+
import { IBlueprint, IBPMode } from '@/types';
2523

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

2826
interface Props {
29-
blueprint: BlueprintType;
27+
blueprint: IBlueprint;
3028
isManual: boolean;
3129
cronConfig: string;
3230
skipOnFail: boolean;
@@ -74,7 +72,7 @@ export const UpdatePolicyDialog = ({ blueprint, operating, onCancel, onSubmit, .
7472
isManual={isManual}
7573
cronConfig={cronConfig}
7674
skipOnFail={skipOnFail}
77-
showTimeFilter={blueprint.mode === ModeEnum.normal}
75+
showTimeFilter={blueprint.mode === IBPMode.NORMAL}
7876
timeAfter={timeAfter}
7977
onChangeIsManual={setIsManual}
8078
onChangeCronConfig={setCronConfig}

0 commit comments

Comments
 (0)