You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@devlake.apache.org by mi...@apache.org on 2024/03/28 22:06:50 UTC
(incubator-devlake) 01/01: fix: missed project name check
This is an automated email from the ASF dual-hosted git repository.
mintsweet pushed a commit to branch fix-project-name-check
in repository https://gitbox.apache.org/repos/asf/incubator-devlake.git
commit a63f9ad44b6e031f613533794e1cc82aa636c307
Author: mintsweet <0x...@gmail.com>
AuthorDate: Fri Mar 29 11:06:38 2024 +1300
fix: missed project name check
---
config-ui/src/api/project/index.ts | 2 ++
config-ui/src/routes/onboard/step-1.tsx | 10 ++++++++++
2 files changed, 12 insertions(+)
diff --git a/config-ui/src/api/project/index.ts b/config-ui/src/api/project/index.ts
index dd6f786a0..fb8efe5e5 100644
--- a/config-ui/src/api/project/index.ts
+++ b/config-ui/src/api/project/index.ts
@@ -24,6 +24,8 @@ export const list = (data: Pagination): Promise<{ count: number; projects: IProj
export const get = (name: string): Promise<IProject> => request(`/projects/${name}`);
+export const checkName = (name: string) => request(`/projects/${name}/check`);
+
export const create = (data: Pick<IProject, 'name' | 'description' | 'metrics'>) =>
request('/projects', {
method: 'post',
diff --git a/config-ui/src/routes/onboard/step-1.tsx b/config-ui/src/routes/onboard/step-1.tsx
index 707285d9a..6d97abcc5 100644
--- a/config-ui/src/routes/onboard/step-1.tsx
+++ b/config-ui/src/routes/onboard/step-1.tsx
@@ -55,6 +55,16 @@ export const Step1 = () => {
return;
}
+ const [, res] = await operator(() => API.project.checkName(projectName), {
+ setOperating,
+ hideToast: true,
+ });
+
+ if (res.exist) {
+ message.error(`Project name "${projectName}" already exists, please try another name.`);
+ return;
+ }
+
const [success] = await operator(() => API.store.set('onboard', { step: 2, records, done, projectName, plugin }), {
setOperating,
hideToast: true,