You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dolphinscheduler.apache.org by zh...@apache.org on 2021/12/17 07:06:32 UTC
[dolphinscheduler] branch dev updated: [Feature][UI Next] Add apis. (#7463)
This is an automated email from the ASF dual-hosted git repository.
zhongjiajie pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git
The following commit(s) were added to refs/heads/dev by this push:
new b54482c [Feature][UI Next] Add apis. (#7463)
b54482c is described below
commit b54482cbb5ff51fc69df626767d807e033556c3f
Author: songjianet <17...@qq.com>
AuthorDate: Fri Dec 17 15:06:13 2021 +0800
[Feature][UI Next] Add apis. (#7463)
---
dolphinscheduler-ui-next/src/App.tsx | 2 +
.../src/locales/modules/en_US.ts | 2 +-
.../src/locales/modules/zh_CN.ts | 2 +-
dolphinscheduler-ui-next/src/router/index.ts | 12 +-
dolphinscheduler-ui-next/src/router/routes.ts | 8 +-
.../src/service/modules/alert-group/index.ts | 73 ++++++
.../modules/alert-group/types.ts} | 26 ++-
.../src/service/modules/alert-plugin/index.ts | 81 +++++++
.../modules/alert-plugin/types.ts} | 39 +++-
.../src/service/modules/data-source/index.ts | 118 ++++++++++
.../{service.ts => modules/data-source/types.ts} | 58 +++--
.../src/service/modules/environment/index.ts | 80 +++++++
.../modules/environment/types.ts} | 38 +++-
.../{service.ts => modules/executors/index.ts} | 49 +++--
.../src/service/modules/executors/types.ts | 75 +++++++
.../en_US.ts => service/modules/log/index.ts} | 24 +-
.../index.ts => service/modules/log/types.ts} | 11 +-
.../src/{utils => service/modules/login}/index.ts | 13 +-
.../index.ts => service/modules/login/types.ts} | 9 +-
.../en_US.ts => service/modules/monitor/index.ts} | 28 ++-
.../index.ts => service/modules/monitor/types.ts} | 8 -
.../service/modules/process-definition/index.ts | 244 +++++++++++++++++++++
.../service/modules/process-definition/types.ts | 82 +++++++
.../modules/process-instances}/index.ts | 8 -
.../src/service/modules/process-instances/types.ts | 71 ++++++
.../src/service/modules/projects-analysis/index.ts | 57 +++++
.../modules/projects-analysis/types.ts} | 11 +-
.../{utils => service/modules/sign-out}/index.ts | 11 +-
.../index.ts => service/modules/sign-out/types.ts} | 8 -
.../service/{service.ts => modules/token/index.ts} | 44 ++--
.../service/{service.ts => modules/token/types.ts} | 44 ++--
dolphinscheduler-ui-next/src/service/service.ts | 2 +-
dolphinscheduler-ui-next/src/utils/index.ts | 2 +-
dolphinscheduler-ui-next/src/views/home/index.tsx | 14 +-
dolphinscheduler-ui-next/src/views/login/index.tsx | 50 +++--
35 files changed, 1211 insertions(+), 193 deletions(-)
diff --git a/dolphinscheduler-ui-next/src/App.tsx b/dolphinscheduler-ui-next/src/App.tsx
index a23f144..62ceab3 100644
--- a/dolphinscheduler-ui-next/src/App.tsx
+++ b/dolphinscheduler-ui-next/src/App.tsx
@@ -36,6 +36,8 @@ const App = defineComponent({
const themeOverrides: GlobalThemeOverrides =
themeList[this.currentTheme ? 'dark' : 'light']
+ console.log(themeOverrides)
+
return (
<NConfigProvider
theme={this.currentTheme}
diff --git a/dolphinscheduler-ui-next/src/locales/modules/en_US.ts b/dolphinscheduler-ui-next/src/locales/modules/en_US.ts
index b80b09b..66c5d90 100644
--- a/dolphinscheduler-ui-next/src/locales/modules/en_US.ts
+++ b/dolphinscheduler-ui-next/src/locales/modules/en_US.ts
@@ -21,7 +21,7 @@ const login = {
username_tips: 'Please enter your username',
password: 'Password',
password_tips: 'Please enter your password',
- signin: 'Sign In'
+ signin: 'Sign In',
}
export default {
diff --git a/dolphinscheduler-ui-next/src/locales/modules/zh_CN.ts b/dolphinscheduler-ui-next/src/locales/modules/zh_CN.ts
index b7d3ccf..8e7cdd7 100644
--- a/dolphinscheduler-ui-next/src/locales/modules/zh_CN.ts
+++ b/dolphinscheduler-ui-next/src/locales/modules/zh_CN.ts
@@ -21,7 +21,7 @@ const login = {
username_tips: '请输入用户名',
password: '密码',
password_tips: '请输入密码',
- signin: '登录'
+ signin: '登录',
}
export default {
diff --git a/dolphinscheduler-ui-next/src/router/index.ts b/dolphinscheduler-ui-next/src/router/index.ts
index df0e37c..5aaae75 100644
--- a/dolphinscheduler-ui-next/src/router/index.ts
+++ b/dolphinscheduler-ui-next/src/router/index.ts
@@ -15,7 +15,13 @@
* limitations under the License.
*/
-import { createRouter, createWebHistory, RouteRecordRaw, NavigationGuardNext, RouteLocationNormalized } from 'vue-router'
+import {
+ createRouter,
+ createWebHistory,
+ RouteRecordRaw,
+ NavigationGuardNext,
+ RouteLocationNormalized,
+} from 'vue-router'
import routes from './routes'
// NProgress
@@ -24,7 +30,7 @@ import 'nprogress/nprogress.css'
const router = createRouter({
history: createWebHistory(),
- routes
+ routes,
})
/**
@@ -46,4 +52,4 @@ router.afterEach(() => {
NProgress.done()
})
-export default router
\ No newline at end of file
+export default router
diff --git a/dolphinscheduler-ui-next/src/router/routes.ts b/dolphinscheduler-ui-next/src/router/routes.ts
index bb92803..52b4f32 100644
--- a/dolphinscheduler-ui-next/src/router/routes.ts
+++ b/dolphinscheduler-ui-next/src/router/routes.ts
@@ -44,15 +44,15 @@ const basePage: RouteRecordRaw[] = [
/**
* Login page
*/
- const loginPage: RouteRecordRaw[] = [
+const loginPage: RouteRecordRaw[] = [
{
path: '/login',
name: 'login',
- component: components['login']
- }
+ component: components['login'],
+ },
]
const routes: RouteRecordRaw[] = [...basePage, ...loginPage]
// 重新组织后导出
-export default routes
\ No newline at end of file
+export default routes
diff --git a/dolphinscheduler-ui-next/src/service/modules/alert-group/index.ts b/dolphinscheduler-ui-next/src/service/modules/alert-group/index.ts
new file mode 100644
index 0000000..4a4e95c
--- /dev/null
+++ b/dolphinscheduler-ui-next/src/service/modules/alert-group/index.ts
@@ -0,0 +1,73 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { axios } from '@/service/service'
+import { ListReq, GroupNameReq, IdReq, GroupReq } from './types'
+
+export function queryAlertGroupListPaging(params: ListReq): any {
+ return axios({
+ url: '/alert-groups',
+ method: 'get',
+ params,
+ })
+}
+
+export function createAlertGroup(data: GroupReq): any {
+ return axios({
+ url: '/alert-groups',
+ method: 'post',
+ data,
+ })
+}
+
+export function listAlertGroupById(): any {
+ return axios({
+ url: '/alert-groups/list',
+ method: 'get',
+ })
+}
+
+export function queryAlertGroupById(data: IdReq): any {
+ return axios({
+ url: '/alert-groups/query',
+ method: 'post',
+ data,
+ })
+}
+
+export function verifyGroupName(params: GroupNameReq): any {
+ return axios({
+ url: '/alert-groups/verify-name',
+ method: 'get',
+ params,
+ })
+}
+
+export function updateAlertGroup(data: GroupReq, id: IdReq): any {
+ return axios({
+ url: `/alert-groups/${id}`,
+ method: 'put',
+ data,
+ })
+}
+
+export function delAlertGroupById(id: IdReq): any {
+ return axios({
+ url: `/alert-groups/${id}`,
+ method: 'delete',
+ })
+}
diff --git a/dolphinscheduler-ui-next/src/locales/modules/en_US.ts b/dolphinscheduler-ui-next/src/service/modules/alert-group/types.ts
similarity index 72%
copy from dolphinscheduler-ui-next/src/locales/modules/en_US.ts
copy to dolphinscheduler-ui-next/src/service/modules/alert-group/types.ts
index b80b09b..640ecd3 100644
--- a/dolphinscheduler-ui-next/src/locales/modules/en_US.ts
+++ b/dolphinscheduler-ui-next/src/service/modules/alert-group/types.ts
@@ -15,15 +15,23 @@
* limitations under the License.
*/
-const login = {
- test: 'Test',
- username: 'Username',
- username_tips: 'Please enter your username',
- password: 'Password',
- password_tips: 'Please enter your password',
- signin: 'Sign In'
+interface ListReq {
+ pageNo: number
+ pageSize: number
+ searchVal?: string
}
-export default {
- login,
+interface GroupNameReq {
+ groupName: string
}
+
+interface IdReq {
+ id: number
+}
+
+interface GroupReq extends GroupNameReq {
+ alertInstanceIds: string
+ description?: string
+}
+
+export { ListReq, GroupNameReq, IdReq, GroupReq }
diff --git a/dolphinscheduler-ui-next/src/service/modules/alert-plugin/index.ts b/dolphinscheduler-ui-next/src/service/modules/alert-plugin/index.ts
new file mode 100644
index 0000000..0205b28
--- /dev/null
+++ b/dolphinscheduler-ui-next/src/service/modules/alert-plugin/index.ts
@@ -0,0 +1,81 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { axios } from '@/service/service'
+import {
+ ListReq,
+ PluginInstanceReq,
+ InstanceNameReq,
+ IdReq,
+ UpdatePluginInstanceReq,
+} from './types'
+
+export function queryAlertPluginInstanceListPaging(params: ListReq): any {
+ return axios({
+ url: '/alert-plugin-instances',
+ method: 'get',
+ params,
+ })
+}
+
+export function createAlertPluginInstance(data: PluginInstanceReq): any {
+ return axios({
+ url: '/alert-plugin-instances',
+ method: 'post',
+ data,
+ })
+}
+
+export function queryAlertPluginInstanceList(): any {
+ return axios({
+ url: '/alert-plugin-instances/list',
+ method: 'get',
+ })
+}
+
+export function verifyAlertInstanceName(params: InstanceNameReq): any {
+ return axios({
+ url: '/alert-plugin-instances/verify-name',
+ method: 'get',
+ params,
+ })
+}
+
+export function getAlertPluginInstance(id: IdReq): any {
+ return axios({
+ url: `/alert-plugin-instances/${id}`,
+ method: 'get',
+ })
+}
+
+export function updateAlertPluginInstance(
+ data: UpdatePluginInstanceReq,
+ id: IdReq
+): any {
+ return axios({
+ url: `/alert-plugin-instances/${id}`,
+ method: 'put',
+ data,
+ })
+}
+
+export function deleteAlertPluginInstance(id: IdReq): any {
+ return axios({
+ url: `/alert-plugin-instances/${id}`,
+ method: 'delete',
+ })
+}
diff --git a/dolphinscheduler-ui-next/src/locales/modules/en_US.ts b/dolphinscheduler-ui-next/src/service/modules/alert-plugin/types.ts
similarity index 61%
copy from dolphinscheduler-ui-next/src/locales/modules/en_US.ts
copy to dolphinscheduler-ui-next/src/service/modules/alert-plugin/types.ts
index b80b09b..524cf33 100644
--- a/dolphinscheduler-ui-next/src/locales/modules/en_US.ts
+++ b/dolphinscheduler-ui-next/src/service/modules/alert-plugin/types.ts
@@ -15,15 +15,36 @@
* limitations under the License.
*/
-const login = {
- test: 'Test',
- username: 'Username',
- username_tips: 'Please enter your username',
- password: 'Password',
- password_tips: 'Please enter your password',
- signin: 'Sign In'
+interface ListReq {
+ pageNo: number
+ pageSize: number
+ searchVal?: string
}
-export default {
- login,
+interface PluginInstanceReq {
+ instanceName: string
+ pluginDefineId: number
+ pluginInstanceParams: string
+}
+
+interface InstanceNameReq {
+ alertInstanceName: string
+}
+
+interface IdReq {
+ id: number
+}
+
+interface UpdatePluginInstanceReq {
+ alertPluginInstanceId: number
+ instanceName: string
+ pluginInstanceParams: string
+}
+
+export {
+ ListReq,
+ PluginInstanceReq,
+ InstanceNameReq,
+ IdReq,
+ UpdatePluginInstanceReq,
}
diff --git a/dolphinscheduler-ui-next/src/service/modules/data-source/index.ts b/dolphinscheduler-ui-next/src/service/modules/data-source/index.ts
new file mode 100644
index 0000000..b2ebd86
--- /dev/null
+++ b/dolphinscheduler-ui-next/src/service/modules/data-source/index.ts
@@ -0,0 +1,118 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { axios } from '@/service/service'
+import {
+ ListReq,
+ DataSourceReq,
+ UserIdReq,
+ TypeReq,
+ NameReq,
+ IdReq,
+} from './types'
+
+export function queryDataSourceListPaging(params: ListReq): any {
+ return axios({
+ url: '/datasources',
+ method: 'get',
+ params,
+ })
+}
+
+export function createDataSource(data: DataSourceReq): any {
+ return axios({
+ url: '/datasources',
+ method: 'post',
+ data,
+ })
+}
+
+export function authedDatasource(params: UserIdReq): any {
+ return axios({
+ url: '/datasources/authed-datasource',
+ method: 'get',
+ params,
+ })
+}
+
+export function connectDataSource(data: DataSourceReq): any {
+ return axios({
+ url: '/datasources/connect',
+ method: 'post',
+ data,
+ })
+}
+
+export function getKerberosStartupState(): any {
+ return axios({
+ url: '/datasources/kerberos-startup-state',
+ method: 'get',
+ })
+}
+
+export function queryDataSourceList(params: TypeReq): any {
+ return axios({
+ url: '/datasources/list',
+ method: 'get',
+ params,
+ })
+}
+
+export function unAuthDatasource(params: UserIdReq): any {
+ return axios({
+ url: '/datasources/unauth-datasource',
+ method: 'get',
+ params,
+ })
+}
+
+export function verifyDataSourceName(params: NameReq): any {
+ return axios({
+ url: '/datasources/verify-name',
+ method: 'get',
+ params,
+ })
+}
+
+export function queryDataSource(id: IdReq): any {
+ return axios({
+ url: `/datasources/${id}`,
+ method: 'get',
+ })
+}
+
+export function updateDataSource(data: DataSourceReq, id: IdReq): any {
+ return axios({
+ url: `/datasources/${id}`,
+ method: 'put',
+ data,
+ })
+}
+
+export function deleteDataSource(id: IdReq): any {
+ return axios({
+ url: `/datasources/${id}`,
+ method: 'delete',
+ })
+}
+
+export function connectionTest(id: IdReq): any {
+ return axios({
+ url: `/datasources/${id}/connect-test`,
+ method: 'get',
+ })
+}
diff --git a/dolphinscheduler-ui-next/src/service/service.ts b/dolphinscheduler-ui-next/src/service/modules/data-source/types.ts
similarity index 53%
copy from dolphinscheduler-ui-next/src/service/service.ts
copy to dolphinscheduler-ui-next/src/service/modules/data-source/types.ts
index 72f58c5..212e965 100644
--- a/dolphinscheduler-ui-next/src/service/service.ts
+++ b/dolphinscheduler-ui-next/src/service/modules/data-source/types.ts
@@ -15,25 +15,55 @@
* limitations under the License.
*/
-import axios, { AxiosRequestConfig, AxiosResponse, AxiosError } from 'axios'
+type DataBase =
+ | 'MYSQL'
+ | 'POSTGRESQL'
+ | 'HIVE'
+ | 'SPARK'
+ | 'CLICKHOUSE'
+ | 'ORACLE'
+ | 'SQLSERVER'
+ | 'DB2'
+ | 'PRESTO'
+ | 'H2'
-const baseRequestConfig: AxiosRequestConfig = {
- baseURL: '/',
- timeout: 10000,
+interface DataSource {
+ database?: string
+ host?: string
+ id?: number
+ name?: string
+ note?: string
+ other?: object
+ password?: string
+ port?: number
+ type?: DataBase
+ userName?: string
}
-const service = axios.create(baseRequestConfig)
+interface ListReq {
+ pageNo: number
+ pageSize: number
+ searchVal?: string
+}
+
+interface DataSourceReq {
+ dataSourceParam: DataSource
+}
-const err = (error: AxiosError): Promise<AxiosError> => {
- return Promise.reject(error)
+interface UserIdReq {
+ userId: number
}
-service.interceptors.request.use((config: AxiosRequestConfig<any>) => {
- return config
-}, err)
+interface TypeReq {
+ type: DataBase
+}
-service.interceptors.response.use((res: AxiosResponse) => {
- return res.data
-}, err)
+interface NameReq {
+ name: string
+}
+
+interface IdReq {
+ id: number
+}
-export { service as axios }
+export { ListReq, DataSourceReq, UserIdReq, TypeReq, NameReq, IdReq }
diff --git a/dolphinscheduler-ui-next/src/service/modules/environment/index.ts b/dolphinscheduler-ui-next/src/service/modules/environment/index.ts
new file mode 100644
index 0000000..1f2a117
--- /dev/null
+++ b/dolphinscheduler-ui-next/src/service/modules/environment/index.ts
@@ -0,0 +1,80 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { axios } from '@/service/service'
+import {
+ EnvironmentReq,
+ EnvironmentCodeReq,
+ EnvironmentNameReq,
+ ListReq,
+ CodeReq,
+} from './types'
+
+export function createEnvironment(data: EnvironmentReq): any {
+ return axios({
+ url: '/environment/create',
+ method: 'post',
+ data,
+ })
+}
+
+export function deleteEnvironmentByCode(data: EnvironmentCodeReq): any {
+ return axios({
+ url: '/environment/delete',
+ method: 'post',
+ data,
+ })
+}
+
+export function queryEnvironmentListPaging(params: ListReq): any {
+ return axios({
+ url: '/environment/list-paging',
+ method: 'get',
+ params,
+ })
+}
+
+export function queryEnvironmentByCode(params: EnvironmentCodeReq): any {
+ return axios({
+ url: '/environment/query-by-code',
+ method: 'get',
+ params,
+ })
+}
+
+export function queryAllEnvironmentList(): any {
+ return axios({
+ url: '/environment/query-environment-list',
+ method: 'get',
+ })
+}
+
+export function updateEnvironment(data: EnvironmentReq & CodeReq): any {
+ return axios({
+ url: '/environment/update',
+ method: 'post',
+ data,
+ })
+}
+
+export function verifyEnvironment(data: EnvironmentNameReq): any {
+ return axios({
+ url: '/environment/verify-environment',
+ method: 'post',
+ data,
+ })
+}
diff --git a/dolphinscheduler-ui-next/src/locales/modules/en_US.ts b/dolphinscheduler-ui-next/src/service/modules/environment/types.ts
similarity index 64%
copy from dolphinscheduler-ui-next/src/locales/modules/en_US.ts
copy to dolphinscheduler-ui-next/src/service/modules/environment/types.ts
index b80b09b..515cdc1 100644
--- a/dolphinscheduler-ui-next/src/locales/modules/en_US.ts
+++ b/dolphinscheduler-ui-next/src/service/modules/environment/types.ts
@@ -15,15 +15,35 @@
* limitations under the License.
*/
-const login = {
- test: 'Test',
- username: 'Username',
- username_tips: 'Please enter your username',
- password: 'Password',
- password_tips: 'Please enter your password',
- signin: 'Sign In'
+interface EnvironmentReq {
+ config: string
+ name: string
+ description?: string
+ workerGroups?: string
}
-export default {
- login,
+interface EnvironmentCodeReq {
+ environmentCode: number
+}
+
+interface EnvironmentNameReq {
+ environmentName: string
+}
+
+interface ListReq {
+ pageNo: number
+ pageSize: number
+ searchVal?: string
+}
+
+interface CodeReq {
+ code: number
+}
+
+export {
+ EnvironmentReq,
+ EnvironmentCodeReq,
+ EnvironmentNameReq,
+ ListReq,
+ CodeReq,
}
diff --git a/dolphinscheduler-ui-next/src/service/service.ts b/dolphinscheduler-ui-next/src/service/modules/executors/index.ts
similarity index 51%
copy from dolphinscheduler-ui-next/src/service/service.ts
copy to dolphinscheduler-ui-next/src/service/modules/executors/index.ts
index 72f58c5..96b4704 100644
--- a/dolphinscheduler-ui-next/src/service/service.ts
+++ b/dolphinscheduler-ui-next/src/service/modules/executors/index.ts
@@ -15,25 +15,40 @@
* limitations under the License.
*/
-import axios, { AxiosRequestConfig, AxiosResponse, AxiosError } from 'axios'
+import { axios } from '@/service/service'
+import {
+ ExecuteReq,
+ ProjectCodeReq,
+ ProcessDefinitionCodeReq,
+ ProcessInstanceReq,
+} from './types'
-const baseRequestConfig: AxiosRequestConfig = {
- baseURL: '/',
- timeout: 10000,
+export function execute(data: ExecuteReq, code: ProjectCodeReq): any {
+ return axios({
+ url: `/projects/${code}/executors/execute`,
+ method: 'post',
+ data,
+ })
}
-const service = axios.create(baseRequestConfig)
-
-const err = (error: AxiosError): Promise<AxiosError> => {
- return Promise.reject(error)
+export function startCheckProcessDefinition(
+ data: ProcessDefinitionCodeReq,
+ code: ProjectCodeReq
+): any {
+ return axios({
+ url: `/projects/${code}/executors/start-check`,
+ method: 'post',
+ data,
+ })
}
-service.interceptors.request.use((config: AxiosRequestConfig<any>) => {
- return config
-}, err)
-
-service.interceptors.response.use((res: AxiosResponse) => {
- return res.data
-}, err)
-
-export { service as axios }
+export function startProcessInstance(
+ data: ProcessInstanceReq,
+ code: ProjectCodeReq
+): any {
+ return axios({
+ url: `/projects/${code}/executors/start-process-instance`,
+ method: 'post',
+ data,
+ })
+}
diff --git a/dolphinscheduler-ui-next/src/service/modules/executors/types.ts b/dolphinscheduler-ui-next/src/service/modules/executors/types.ts
new file mode 100644
index 0000000..812bf72
--- /dev/null
+++ b/dolphinscheduler-ui-next/src/service/modules/executors/types.ts
@@ -0,0 +1,75 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+type Execute =
+ | 'NONE'
+ | 'REPEAT_RUNNING'
+ | 'RECOVER_SUSPENDED_PROCESS'
+ | 'START_FAILURE_TASK_PROCESS'
+ | 'STOP'
+ | 'PAUSE'
+
+type Exec =
+ | 'START_PROCESS'
+ | 'START_CURRENT_TASK_PROCESS'
+ | 'RECOVER_TOLERANCE_FAULT_PROCESS'
+ | 'RECOVER_SUSPENDED_PROCESS'
+ | 'START_FAILURE_TASK_PROCESS'
+ | 'COMPLEMENT_DATA'
+ | 'SCHEDULER'
+ | 'REPEAT_RUNNING'
+ | 'PAUSE'
+ | 'STOP'
+ | 'RECOVER_WAITING_THREAD'
+
+interface ExecuteReq {
+ executeType: Execute
+ processInstanceId: number
+}
+
+interface ProjectCodeReq {
+ projectCode: number
+}
+
+interface ProcessDefinitionCodeReq {
+ processDefinitionCode: number
+}
+
+interface ProcessInstanceReq extends ProcessDefinitionCodeReq {
+ failureStrategy: 'END' | 'CONTINUE'
+ processInstancePriority: 'HIGHEST' | 'HIGH' | 'MEDIUM' | 'LOW' | 'LOWEST'
+ scheduleTime: string
+ warningGroupId: number
+ warningType: 'NONE' | 'SUCCESS' | 'FAILURE' | 'ALL'
+ dryRun?: number
+ environmentCode?: number
+ execType?: Exec
+ expectedParallelismNumber?: number
+ runMode?: 'RUN_MODE_SERIAL' | 'RUN_MODE_PARALLEL'
+ startNodeList?: string
+ startParams?: string
+ taskDependType?: 'TASK_ONLY' | 'TASK_PRE' | 'TASK_POST'
+ timeout?: number
+ workerGroup?: string
+}
+
+export {
+ ExecuteReq,
+ ProjectCodeReq,
+ ProcessDefinitionCodeReq,
+ ProcessInstanceReq,
+}
diff --git a/dolphinscheduler-ui-next/src/locales/modules/en_US.ts b/dolphinscheduler-ui-next/src/service/modules/log/index.ts
similarity index 70%
copy from dolphinscheduler-ui-next/src/locales/modules/en_US.ts
copy to dolphinscheduler-ui-next/src/service/modules/log/index.ts
index b80b09b..51ccf31 100644
--- a/dolphinscheduler-ui-next/src/locales/modules/en_US.ts
+++ b/dolphinscheduler-ui-next/src/service/modules/log/index.ts
@@ -15,15 +15,21 @@
* limitations under the License.
*/
-const login = {
- test: 'Test',
- username: 'Username',
- username_tips: 'Please enter your username',
- password: 'Password',
- password_tips: 'Please enter your password',
- signin: 'Sign In'
+import { axios } from '@/service/service'
+import { IdReq, LogReq } from './types'
+
+export function queryLog(params: LogReq): any {
+ return axios({
+ url: '/log/detail',
+ method: 'get',
+ params,
+ })
}
-export default {
- login,
+export function downloadTaskLog(params: IdReq): any {
+ return axios({
+ url: '/log/download-log',
+ method: 'get',
+ params,
+ })
}
diff --git a/dolphinscheduler-ui-next/src/utils/index.ts b/dolphinscheduler-ui-next/src/service/modules/log/types.ts
similarity index 85%
copy from dolphinscheduler-ui-next/src/utils/index.ts
copy to dolphinscheduler-ui-next/src/service/modules/log/types.ts
index c9f8c51..dc89444 100644
--- a/dolphinscheduler-ui-next/src/utils/index.ts
+++ b/dolphinscheduler-ui-next/src/service/modules/log/types.ts
@@ -15,10 +15,13 @@
* limitations under the License.
*/
-import classification from './classification'
+interface IdReq {
+ taskInstanceId: number
+}
-const utils = {
- classification
+interface LogReq extends IdReq {
+ limit: number
+ skipLineNum: number
}
-export default utils
+export { IdReq, LogReq }
diff --git a/dolphinscheduler-ui-next/src/utils/index.ts b/dolphinscheduler-ui-next/src/service/modules/login/index.ts
similarity index 80%
copy from dolphinscheduler-ui-next/src/utils/index.ts
copy to dolphinscheduler-ui-next/src/service/modules/login/index.ts
index c9f8c51..166e342 100644
--- a/dolphinscheduler-ui-next/src/utils/index.ts
+++ b/dolphinscheduler-ui-next/src/service/modules/login/index.ts
@@ -15,10 +15,13 @@
* limitations under the License.
*/
-import classification from './classification'
+import { axios } from '@/service/service'
+import { LoginReq } from './types'
-const utils = {
- classification
+export function queryLog(data: LoginReq): any {
+ return axios({
+ url: '/login',
+ method: 'post',
+ data,
+ })
}
-
-export default utils
diff --git a/dolphinscheduler-ui-next/src/utils/index.ts b/dolphinscheduler-ui-next/src/service/modules/login/types.ts
similarity index 88%
copy from dolphinscheduler-ui-next/src/utils/index.ts
copy to dolphinscheduler-ui-next/src/service/modules/login/types.ts
index c9f8c51..8ea7d72 100644
--- a/dolphinscheduler-ui-next/src/utils/index.ts
+++ b/dolphinscheduler-ui-next/src/service/modules/login/types.ts
@@ -15,10 +15,9 @@
* limitations under the License.
*/
-import classification from './classification'
-
-const utils = {
- classification
+interface LoginReq {
+ userName: string
+ userPassword: string
}
-export default utils
+export { LoginReq }
diff --git a/dolphinscheduler-ui-next/src/locales/modules/en_US.ts b/dolphinscheduler-ui-next/src/service/modules/monitor/index.ts
similarity index 68%
copy from dolphinscheduler-ui-next/src/locales/modules/en_US.ts
copy to dolphinscheduler-ui-next/src/service/modules/monitor/index.ts
index b80b09b..4defbd0 100644
--- a/dolphinscheduler-ui-next/src/locales/modules/en_US.ts
+++ b/dolphinscheduler-ui-next/src/service/modules/monitor/index.ts
@@ -15,15 +15,25 @@
* limitations under the License.
*/
-const login = {
- test: 'Test',
- username: 'Username',
- username_tips: 'Please enter your username',
- password: 'Password',
- password_tips: 'Please enter your password',
- signin: 'Sign In'
+import { axios } from '@/service/service'
+
+export function queryDatabaseState(): any {
+ return axios({
+ url: '/monitor/databases',
+ method: 'get',
+ })
+}
+
+export function listMaster(): any {
+ return axios({
+ url: '/monitor/masters',
+ method: 'get',
+ })
}
-export default {
- login,
+export function listWorker(): any {
+ return axios({
+ url: '/monitor/workers',
+ method: 'get',
+ })
}
diff --git a/dolphinscheduler-ui-next/src/utils/index.ts b/dolphinscheduler-ui-next/src/service/modules/monitor/types.ts
similarity index 88%
copy from dolphinscheduler-ui-next/src/utils/index.ts
copy to dolphinscheduler-ui-next/src/service/modules/monitor/types.ts
index c9f8c51..3e7c6c2 100644
--- a/dolphinscheduler-ui-next/src/utils/index.ts
+++ b/dolphinscheduler-ui-next/src/service/modules/monitor/types.ts
@@ -14,11 +14,3 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
-import classification from './classification'
-
-const utils = {
- classification
-}
-
-export default utils
diff --git a/dolphinscheduler-ui-next/src/service/modules/process-definition/index.ts b/dolphinscheduler-ui-next/src/service/modules/process-definition/index.ts
new file mode 100644
index 0000000..d6f9a24
--- /dev/null
+++ b/dolphinscheduler-ui-next/src/service/modules/process-definition/index.ts
@@ -0,0 +1,244 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { axios } from '@/service/service'
+import {
+ CodeReq,
+ CodesReq,
+ FileReq,
+ NameReq,
+ ReleaseStateReq,
+ VersionReq,
+ LimitReq,
+ PageReq,
+ ListReq,
+ ProcessDefinitionReq,
+ TargetCodeReq,
+} from './types'
+
+export function queryListPaging(params: PageReq & ListReq, code: CodeReq): any {
+ return axios({
+ url: `/projects/${code}/process-definition`,
+ method: 'get',
+ params,
+ })
+}
+
+export function createProcessDefinition(
+ data: ProcessDefinitionReq & NameReq,
+ code: CodeReq
+): any {
+ return axios({
+ url: `/projects/${code}/process-definition`,
+ method: 'post',
+ data,
+ })
+}
+
+export function queryAllByProjectCode(code: CodeReq): any {
+ return axios({
+ url: `/projects/${code}/process-definition/all`,
+ method: 'post',
+ })
+}
+
+export function batchCopyByCodes(
+ data: TargetCodeReq & CodesReq,
+ code: CodeReq
+): any {
+ return axios({
+ url: `/projects/${code}/process-definition/batch-copy`,
+ method: 'post',
+ data,
+ })
+}
+
+export function batchDeleteByCodes(data: CodesReq, code: CodeReq): any {
+ return axios({
+ url: `/projects/${code}/process-definition/batch-delete`,
+ method: 'post',
+ data,
+ })
+}
+
+export function batchExportByCodes(data: CodesReq, code: CodeReq): any {
+ return axios({
+ url: `/projects/${code}/process-definition/batch-export`,
+ method: 'post',
+ data,
+ })
+}
+
+export function batchMoveByCodes(
+ data: TargetCodeReq & CodesReq,
+ code: CodeReq
+): any {
+ return axios({
+ url: `/projects/${code}/process-definition/batch-move`,
+ method: 'post',
+ data,
+ })
+}
+
+export function getTaskListByDefinitionCodes(
+ params: CodesReq,
+ code: CodeReq
+): any {
+ return axios({
+ url: `/projects/${code}/process-definition/batch-query-tasks`,
+ method: 'get',
+ params,
+ })
+}
+
+export function importProcessDefinition(data: FileReq, code: CodeReq): any {
+ return axios({
+ url: `/projects/${code}/process-definition/import`,
+ method: 'post',
+ data,
+ })
+}
+
+export function queryList(code: CodeReq): any {
+ return axios({
+ url: `/projects/${code}/process-definition/list`,
+ method: 'get',
+ })
+}
+
+export function queryProcessDefinitionByName(
+ params: NameReq,
+ code: CodeReq
+): any {
+ return axios({
+ url: `/projects/${code}/process-definition/query-by-name`,
+ method: 'get',
+ params,
+ })
+}
+
+export function querySimpleList(code: CodeReq): any {
+ return axios({
+ url: `/projects/${code}/process-definition/simple-list`,
+ method: 'get',
+ })
+}
+
+export function verifyName(params: NameReq, code: CodeReq): any {
+ return axios({
+ url: `/projects/${code}/process-definition/verify-name`,
+ method: 'get',
+ params,
+ })
+}
+
+export function queryProcessDefinitionByCode(
+ code: CodeReq,
+ processCode: CodeReq
+): any {
+ return axios({
+ url: `/projects/${code}/process-definition/${processCode}`,
+ method: 'get',
+ })
+}
+
+export function update(
+ data: ProcessDefinitionReq & NameReq & ReleaseStateReq,
+ code: CodeReq,
+ processCode: CodeReq
+): any {
+ return axios({
+ url: `/projects/${code}/process-definition/${processCode}`,
+ method: 'put',
+ data,
+ })
+}
+
+export function deleteByCode(code: CodeReq, processCode: CodeReq): any {
+ return axios({
+ url: `/projects/${code}/process-definition/${processCode}`,
+ method: 'delete',
+ })
+}
+
+export function release(
+ data: NameReq & ReleaseStateReq,
+ code: CodeReq,
+ processCode: CodeReq
+): any {
+ return axios({
+ url: `/projects/${code}/process-definition/${processCode}/release`,
+ method: 'post',
+ data,
+ })
+}
+
+export function getTasksByDefinitionCode(
+ code: CodeReq,
+ processCode: CodeReq
+): any {
+ return axios({
+ url: `/projects/${code}/process-definition/${processCode}/tasks`,
+ method: 'get',
+ })
+}
+
+export function queryVersions(
+ params: PageReq,
+ code: CodeReq,
+ processCode: CodeReq
+): any {
+ return axios({
+ url: `/projects/${code}/process-definition/${processCode}/versions`,
+ method: 'get',
+ params,
+ })
+}
+
+export function switchVersion(
+ code: CodeReq,
+ processCode: CodeReq,
+ version: VersionReq
+): any {
+ return axios({
+ url: `/projects/${code}/process-definition/${processCode}/versions/${version}`,
+ method: 'get',
+ })
+}
+
+export function deleteVersion(
+ code: CodeReq,
+ processCode: CodeReq,
+ version: VersionReq
+): any {
+ return axios({
+ url: `/projects/${code}/process-definition/${processCode}/versions/${version}`,
+ method: 'delete',
+ })
+}
+
+export function viewTree(
+ code: CodeReq,
+ processCode: CodeReq,
+ params: LimitReq
+): any {
+ return axios({
+ url: `/projects/${code}/process-definition/${processCode}/view-tree`,
+ method: 'get',
+ params,
+ })
+}
diff --git a/dolphinscheduler-ui-next/src/service/modules/process-definition/types.ts b/dolphinscheduler-ui-next/src/service/modules/process-definition/types.ts
new file mode 100644
index 0000000..3a5ac24
--- /dev/null
+++ b/dolphinscheduler-ui-next/src/service/modules/process-definition/types.ts
@@ -0,0 +1,82 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+interface CodeReq {
+ projectCode: number
+}
+
+interface CodesReq {
+ codes: string
+}
+
+interface FileReq {
+ file: any
+}
+
+interface NameReq {
+ name: string
+}
+
+interface ReleaseStateReq {
+ releaseState: 'OFFLINE' | 'ONLINE'
+}
+
+interface VersionReq {
+ version: number
+}
+
+interface LimitReq {
+ limit: number
+}
+
+interface PageReq {
+ pageNo: number
+ pageSize: number
+}
+
+interface ListReq extends PageReq {
+ searchVal?: string
+ userId?: number
+}
+
+interface ProcessDefinitionReq extends NameReq {
+ locations: string
+ taskDefinitionJson: string
+ taskRelationJson: string
+ tenantCode: string
+ description?: string
+ globalParams?: string
+ timeout?: number
+}
+
+interface TargetCodeReq {
+ targetProjectCode: number
+}
+
+export {
+ CodeReq,
+ CodesReq,
+ FileReq,
+ NameReq,
+ ReleaseStateReq,
+ VersionReq,
+ LimitReq,
+ PageReq,
+ ListReq,
+ ProcessDefinitionReq,
+ TargetCodeReq,
+}
diff --git a/dolphinscheduler-ui-next/src/utils/index.ts b/dolphinscheduler-ui-next/src/service/modules/process-instances/index.ts
similarity index 88%
copy from dolphinscheduler-ui-next/src/utils/index.ts
copy to dolphinscheduler-ui-next/src/service/modules/process-instances/index.ts
index c9f8c51..3e7c6c2 100644
--- a/dolphinscheduler-ui-next/src/utils/index.ts
+++ b/dolphinscheduler-ui-next/src/service/modules/process-instances/index.ts
@@ -14,11 +14,3 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
-import classification from './classification'
-
-const utils = {
- classification
-}
-
-export default utils
diff --git a/dolphinscheduler-ui-next/src/service/modules/process-instances/types.ts b/dolphinscheduler-ui-next/src/service/modules/process-instances/types.ts
new file mode 100644
index 0000000..12bee2f
--- /dev/null
+++ b/dolphinscheduler-ui-next/src/service/modules/process-instances/types.ts
@@ -0,0 +1,71 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+interface CodeReq {
+ projectCode: number
+}
+
+interface ProcessInstanceListReq {
+ pageNo: number
+ pageSize: number
+ endDate?: string
+ executorName?: string
+ host?: string
+ processDefineCode?: number
+ processDefiniteCode?: string
+ searchVal?: string
+ startDate?: string
+ stateType?: string
+}
+
+interface BatchDeleteReq {
+ processInstanceIds: string
+ projectName: string
+ alertGroup?: string
+ createTime?: string
+ email?: string
+ id?: number
+ phone?: string
+ queue?: string
+ queueName?: string
+ state?: number
+ tenantCode?: string
+ tenantId?: number
+ updateTime?: string
+ userName?: string
+ userPassword?: string
+ userType?: string
+}
+
+interface SubIdReq {
+ subId: number
+}
+
+interface TaskReq {
+ taskCode: string
+ taskId: number
+}
+
+interface LongestReq {
+ endTime: string
+ size: number
+ startTime: string
+}
+
+interface IdReq {
+ id: number
+}
diff --git a/dolphinscheduler-ui-next/src/service/modules/projects-analysis/index.ts b/dolphinscheduler-ui-next/src/service/modules/projects-analysis/index.ts
new file mode 100644
index 0000000..b914d1f
--- /dev/null
+++ b/dolphinscheduler-ui-next/src/service/modules/projects-analysis/index.ts
@@ -0,0 +1,57 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { axios } from '@/service/service'
+import { CodeReq, StateReq } from './types'
+
+export function countCommandState(): any {
+ return axios({
+ url: '/projects/analysis/command-state-count',
+ method: 'get',
+ })
+}
+
+export function countDefinitionByUser(params: CodeReq): any {
+ return axios({
+ url: '/projects/analysis/define-user-count',
+ method: 'get',
+ params,
+ })
+}
+
+export function countProcessInstanceState(params: StateReq): any {
+ return axios({
+ url: '/projects/analysis/process-state-count',
+ method: 'get',
+ params,
+ })
+}
+
+export function countQueueState(): any {
+ return axios({
+ url: '/projects/analysis/queue-count',
+ method: 'get',
+ })
+}
+
+export function countTaskState(params: StateReq): any {
+ return axios({
+ url: '/projects/analysis/task-state-count',
+ method: 'get',
+ params,
+ })
+}
diff --git a/dolphinscheduler-ui-next/src/utils/index.ts b/dolphinscheduler-ui-next/src/service/modules/projects-analysis/types.ts
similarity index 84%
copy from dolphinscheduler-ui-next/src/utils/index.ts
copy to dolphinscheduler-ui-next/src/service/modules/projects-analysis/types.ts
index c9f8c51..30a21c5 100644
--- a/dolphinscheduler-ui-next/src/utils/index.ts
+++ b/dolphinscheduler-ui-next/src/service/modules/projects-analysis/types.ts
@@ -15,10 +15,13 @@
* limitations under the License.
*/
-import classification from './classification'
+interface CodeReq {
+ projectCode?: number
+}
-const utils = {
- classification
+interface StateReq extends CodeReq {
+ endDate?: string
+ startDate?: string
}
-export default utils
+export { CodeReq, StateReq }
diff --git a/dolphinscheduler-ui-next/src/utils/index.ts b/dolphinscheduler-ui-next/src/service/modules/sign-out/index.ts
similarity index 85%
copy from dolphinscheduler-ui-next/src/utils/index.ts
copy to dolphinscheduler-ui-next/src/service/modules/sign-out/index.ts
index c9f8c51..4b3ebe3 100644
--- a/dolphinscheduler-ui-next/src/utils/index.ts
+++ b/dolphinscheduler-ui-next/src/service/modules/sign-out/index.ts
@@ -15,10 +15,11 @@
* limitations under the License.
*/
-import classification from './classification'
+import { axios } from '@/service/service'
-const utils = {
- classification
+export function signOut(): any {
+ return axios({
+ url: '/signOut',
+ method: 'post',
+ })
}
-
-export default utils
diff --git a/dolphinscheduler-ui-next/src/utils/index.ts b/dolphinscheduler-ui-next/src/service/modules/sign-out/types.ts
similarity index 88%
copy from dolphinscheduler-ui-next/src/utils/index.ts
copy to dolphinscheduler-ui-next/src/service/modules/sign-out/types.ts
index c9f8c51..3e7c6c2 100644
--- a/dolphinscheduler-ui-next/src/utils/index.ts
+++ b/dolphinscheduler-ui-next/src/service/modules/sign-out/types.ts
@@ -14,11 +14,3 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
-import classification from './classification'
-
-const utils = {
- classification
-}
-
-export default utils
diff --git a/dolphinscheduler-ui-next/src/service/service.ts b/dolphinscheduler-ui-next/src/service/modules/token/index.ts
similarity index 54%
copy from dolphinscheduler-ui-next/src/service/service.ts
copy to dolphinscheduler-ui-next/src/service/modules/token/index.ts
index 72f58c5..0b5ab5a 100644
--- a/dolphinscheduler-ui-next/src/service/service.ts
+++ b/dolphinscheduler-ui-next/src/service/modules/token/index.ts
@@ -15,25 +15,37 @@
* limitations under the License.
*/
-import axios, { AxiosRequestConfig, AxiosResponse, AxiosError } from 'axios'
+import { axios } from '@/service/service'
+import { ListReq, TokenReq, UserReq, UpdateTokenReq } from './types'
-const baseRequestConfig: AxiosRequestConfig = {
- baseURL: '/',
- timeout: 10000,
+export function queryAccessTokenList(params: ListReq): any {
+ return axios({
+ url: '/access-tokens',
+ method: 'get',
+ params,
+ })
}
-const service = axios.create(baseRequestConfig)
-
-const err = (error: AxiosError): Promise<AxiosError> => {
- return Promise.reject(error)
+export function createToken(data: TokenReq): any {
+ return axios({
+ url: '/access-tokens',
+ method: 'post',
+ data,
+ })
}
-service.interceptors.request.use((config: AxiosRequestConfig<any>) => {
- return config
-}, err)
-
-service.interceptors.response.use((res: AxiosResponse) => {
- return res.data
-}, err)
+export function queryAccessTokenByUser(params: UserReq): any {
+ return axios({
+ url: '/access-tokens',
+ method: 'get',
+ params,
+ })
+}
-export { service as axios }
+export function updateToken(data: UpdateTokenReq): any {
+ return axios({
+ url: '/access-tokens',
+ method: 'put',
+ data,
+ })
+}
diff --git a/dolphinscheduler-ui-next/src/service/service.ts b/dolphinscheduler-ui-next/src/service/modules/token/types.ts
similarity index 58%
copy from dolphinscheduler-ui-next/src/service/service.ts
copy to dolphinscheduler-ui-next/src/service/modules/token/types.ts
index 72f58c5..98bc1f9 100644
--- a/dolphinscheduler-ui-next/src/service/service.ts
+++ b/dolphinscheduler-ui-next/src/service/modules/token/types.ts
@@ -15,25 +15,37 @@
* limitations under the License.
*/
-import axios, { AxiosRequestConfig, AxiosResponse, AxiosError } from 'axios'
-
-const baseRequestConfig: AxiosRequestConfig = {
- baseURL: '/',
- timeout: 10000,
+interface ListReq {
+ pageNo: number
+ pageSize: number
+ searchVal?: string
}
-const service = axios.create(baseRequestConfig)
-
-const err = (error: AxiosError): Promise<AxiosError> => {
- return Promise.reject(error)
+interface TokenReq {
+ expireTime: string
+ userId: number
+ token?: string
}
-service.interceptors.request.use((config: AxiosRequestConfig<any>) => {
- return config
-}, err)
+interface UserReq {
+ userId?: number
+}
-service.interceptors.response.use((res: AxiosResponse) => {
- return res.data
-}, err)
+interface UpdateTokenReq extends TokenReq {
+ id: number
+ alertGroup?: string
+ createTime?: string
+ email?: string
+ phone?: string
+ queue?: string
+ queueName?: string
+ state?: number
+ tenantCode?: string
+ tenantId?: number
+ updateTime?: string
+ userName?: string
+ userPassword?: string
+ userType?: string
+}
-export { service as axios }
+export { ListReq, TokenReq, UserReq, UpdateTokenReq }
diff --git a/dolphinscheduler-ui-next/src/service/service.ts b/dolphinscheduler-ui-next/src/service/service.ts
index 72f58c5..a8211dc 100644
--- a/dolphinscheduler-ui-next/src/service/service.ts
+++ b/dolphinscheduler-ui-next/src/service/service.ts
@@ -18,7 +18,7 @@
import axios, { AxiosRequestConfig, AxiosResponse, AxiosError } from 'axios'
const baseRequestConfig: AxiosRequestConfig = {
- baseURL: '/',
+ baseURL: '/dolphinscheduler',
timeout: 10000,
}
diff --git a/dolphinscheduler-ui-next/src/utils/index.ts b/dolphinscheduler-ui-next/src/utils/index.ts
index c9f8c51..6c1dbc5 100644
--- a/dolphinscheduler-ui-next/src/utils/index.ts
+++ b/dolphinscheduler-ui-next/src/utils/index.ts
@@ -18,7 +18,7 @@
import classification from './classification'
const utils = {
- classification
+ classification,
}
export default utils
diff --git a/dolphinscheduler-ui-next/src/views/home/index.tsx b/dolphinscheduler-ui-next/src/views/home/index.tsx
index 82f1038..77bcf76 100644
--- a/dolphinscheduler-ui-next/src/views/home/index.tsx
+++ b/dolphinscheduler-ui-next/src/views/home/index.tsx
@@ -19,11 +19,9 @@ import { defineComponent } from 'vue'
import styles from './index.module.scss'
export default defineComponent({
- name: 'home',
- setup() {},
- render() {
- return <div class={styles.container}>
- Home Test
- </div>
- }
-})
\ No newline at end of file
+ name: 'home',
+ setup() {},
+ render() {
+ return <div class={styles.container}>Home Test</div>
+ },
+})
diff --git a/dolphinscheduler-ui-next/src/views/login/index.tsx b/dolphinscheduler-ui-next/src/views/login/index.tsx
index 4079cf9..c052007 100644
--- a/dolphinscheduler-ui-next/src/views/login/index.tsx
+++ b/dolphinscheduler-ui-next/src/views/login/index.tsx
@@ -35,21 +35,21 @@ const Login = defineComponent({
rules: {
username: {
trigger: ['input', 'blur'],
- validator () {
+ validator() {
if (state.loginForm.username === '') {
return new Error(`${t('login.username_tips')}`)
}
- }
+ },
},
password: {
trigger: ['input', 'blur'],
- validator () {
+ validator() {
if (state.loginForm.password === '') {
return new Error(`${t('login.password_tips')}`)
}
- }
- }
- } as FormRules
+ },
+ },
+ } as FormRules,
})
const handleChange = (value: string) => {
@@ -67,16 +67,20 @@ const Login = defineComponent({
})
}
- return { t, locale, handleChange, handleLogin, ...toRefs(state)}
+ return { t, locale, handleChange, handleLogin, ...toRefs(state) }
},
render() {
return (
<div class={styles.container}>
<div class={styles['language-switch']}>
- <NSwitch onUpdateValue={this.handleChange} checked-value="en_US" unchecked-value="zh_CN">
+ <NSwitch
+ onUpdateValue={this.handleChange}
+ checked-value='en_US'
+ unchecked-value='zh_CN'
+ >
{{
- checked: () => 'en_US',
- unchecked: () =>'zh_CN'
+ checked: () => 'en_US',
+ unchecked: () => 'zh_CN',
}}
</NSwitch>
</div>
@@ -85,28 +89,36 @@ const Login = defineComponent({
<div class={styles['logo-img']}></div>
</div>
<div class={styles['form-model']}>
- <NForm rules={this.rules} ref="loginFormRef">
- <NFormItem label={this.t('login.username')} label-style={{color:'black'}} path="username">
+ <NForm rules={this.rules} ref='loginFormRef'>
+ <NFormItem
+ label={this.t('login.username')}
+ label-style={{ color: 'black' }}
+ path='username'
+ >
<NInput
- type="text"
- size="large"
+ type='text'
+ size='large'
v-model={[this.loginForm.username, 'value']}
placeholder={this.t('login.username_tips')}
autofocus
onKeydown={withKeys(this.handleLogin, ['enter'])}
/>
</NFormItem>
- <NFormItem label={this.t('login.password')} label-style={{color:'black'}} path="password">
+ <NFormItem
+ label={this.t('login.password')}
+ label-style={{ color: 'black' }}
+ path='password'
+ >
<NInput
- type="password"
- size="large"
+ type='password'
+ size='large'
v-model={[this.loginForm.password, 'value']}
placeholder={this.t('login.password_tips')}
onKeydown={withKeys(this.handleLogin, ['enter'])}
/>
</NFormItem>
</NForm>
- <NButton round type="primary" onClick={this.handleLogin}>
+ <NButton round type='primary' onClick={this.handleLogin}>
{this.t('login.signin')}
</NButton>
</div>
@@ -116,4 +128,4 @@ const Login = defineComponent({
},
})
-export default Login
\ No newline at end of file
+export default Login