Fix serverless save when name empty (#6720)
- fix serverless function error on save when name empty - remove useless unique constraint on serverless function names
This commit is contained in:
@ -42,7 +42,7 @@ describe('useServerlessFunctionUpdateFormState', () => {
|
||||
},
|
||||
);
|
||||
|
||||
const [formValues] = result.current;
|
||||
const { formValues } = result.current;
|
||||
|
||||
expect(formValues).toEqual({ name: '', description: '', code: '' });
|
||||
});
|
||||
|
||||
@ -18,7 +18,11 @@ type SetServerlessFunctionFormValues = Dispatch<
|
||||
|
||||
export const useServerlessFunctionUpdateFormState = (
|
||||
serverlessFunctionId: string,
|
||||
): [ServerlessFunctionFormValues, SetServerlessFunctionFormValues] => {
|
||||
): {
|
||||
formValues: ServerlessFunctionFormValues;
|
||||
setFormValues: SetServerlessFunctionFormValues;
|
||||
loading: boolean;
|
||||
} => {
|
||||
const [formValues, setFormValues] = useState<ServerlessFunctionFormValues>({
|
||||
name: '',
|
||||
description: '',
|
||||
@ -28,7 +32,7 @@ export const useServerlessFunctionUpdateFormState = (
|
||||
const { serverlessFunction } =
|
||||
useGetOneServerlessFunction(serverlessFunctionId);
|
||||
|
||||
useGetOneServerlessFunctionSourceCode({
|
||||
const { loading } = useGetOneServerlessFunctionSourceCode({
|
||||
id: serverlessFunctionId,
|
||||
version: 'draft',
|
||||
onCompleted: (data: FindOneServerlessFunctionSourceCodeQuery) => {
|
||||
@ -44,5 +48,5 @@ export const useServerlessFunctionUpdateFormState = (
|
||||
},
|
||||
});
|
||||
|
||||
return [formValues, setFormValues];
|
||||
return { formValues, setFormValues, loading };
|
||||
};
|
||||
|
||||
@ -23,6 +23,7 @@ import { isDefined } from '~/utils/isDefined';
|
||||
import { useDebouncedCallback } from 'use-debounce';
|
||||
import { useGetOneServerlessFunctionSourceCode } from '@/settings/serverless-functions/hooks/useGetOneServerlessFunctionSourceCode';
|
||||
import { useState } from 'react';
|
||||
import isEmpty from 'lodash.isempty';
|
||||
|
||||
const TAB_LIST_COMPONENT_ID = 'serverless-function-detail';
|
||||
|
||||
@ -37,7 +38,7 @@ export const SettingsServerlessFunctionDetail = () => {
|
||||
const { executeOneServerlessFunction } = useExecuteOneServerlessFunction();
|
||||
const { updateOneServerlessFunction } = useUpdateOneServerlessFunction();
|
||||
const { publishOneServerlessFunction } = usePublishOneServerlessFunction();
|
||||
const [formValues, setFormValues] =
|
||||
const { formValues, setFormValues, loading } =
|
||||
useServerlessFunctionUpdateFormState(serverlessFunctionId);
|
||||
const { code: latestVersionCode } = useGetOneServerlessFunctionSourceCode({
|
||||
id: serverlessFunctionId,
|
||||
@ -52,6 +53,9 @@ export const SettingsServerlessFunctionDetail = () => {
|
||||
|
||||
const save = async () => {
|
||||
try {
|
||||
if (isEmpty(formValues.name)) {
|
||||
return;
|
||||
}
|
||||
await updateOneServerlessFunction({
|
||||
id: serverlessFunctionId,
|
||||
name: formValues.name,
|
||||
@ -201,7 +205,7 @@ export const SettingsServerlessFunctionDetail = () => {
|
||||
};
|
||||
|
||||
return (
|
||||
formValues.name && (
|
||||
!loading && (
|
||||
<SubMenuTopBarContainer
|
||||
Icon={IconFunction}
|
||||
title={
|
||||
|
||||
Reference in New Issue
Block a user