refactor: clean code

This commit is contained in:
Fu Diwei
2024-12-27 19:35:50 +08:00
parent 047479426a
commit 86133ba52b
41 changed files with 396 additions and 544 deletions

View File

@@ -6,7 +6,7 @@ import { createSchemaFieldRule } from "antd-zod";
import { z } from "zod";
import { useAntdForm } from "@/hooks";
import { ACCESS_PROVIDER_TYPES, type AccessModel } from "@/domain/access";
import { ACCESS_PROVIDERS, type AccessModel } from "@/domain/access";
import AccessTypeSelect from "./AccessTypeSelect";
import AccessEditFormACMEHttpReqConfig from "./AccessEditFormACMEHttpReqConfig";
import AccessEditFormAliyunConfig from "./AccessEditFormAliyunConfig";
@@ -55,7 +55,7 @@ const AccessEditForm = forwardRef<AccessEditFormInstance, AccessEditFormProps>((
.trim()
.min(1, t("access.form.name.placeholder"))
.max(64, t("common.errmsg.string_max", { max: 64 })),
configType: z.nativeEnum(ACCESS_PROVIDER_TYPES, { message: t("access.form.type.placeholder") }),
configType: z.nativeEnum(ACCESS_PROVIDERS, { message: t("access.form.type.placeholder") }),
config: z.any(),
});
const formRule = createSchemaFieldRule(formSchema);
@@ -77,43 +77,43 @@ const AccessEditForm = forwardRef<AccessEditFormInstance, AccessEditFormProps>((
*/
const configFormProps = { form: configFormInst, formName: configFormName, disabled: disabled, initialValues: initialValues?.config };
switch (configType) {
case ACCESS_PROVIDER_TYPES.ACMEHTTPREQ:
case ACCESS_PROVIDERS.ACMEHTTPREQ:
return <AccessEditFormACMEHttpReqConfig {...configFormProps} />;
case ACCESS_PROVIDER_TYPES.ALIYUN:
case ACCESS_PROVIDERS.ALIYUN:
return <AccessEditFormAliyunConfig {...configFormProps} />;
case ACCESS_PROVIDER_TYPES.AWS:
case ACCESS_PROVIDERS.AWS:
return <AccessEditFormAWSConfig {...configFormProps} />;
case ACCESS_PROVIDER_TYPES.BAIDUCLOUD:
case ACCESS_PROVIDERS.BAIDUCLOUD:
return <AccessEditFormBaiduCloudConfig {...configFormProps} />;
case ACCESS_PROVIDER_TYPES.BYTEPLUS:
case ACCESS_PROVIDERS.BYTEPLUS:
return <AccessEditFormBytePlusConfig {...configFormProps} />;
case ACCESS_PROVIDER_TYPES.CLOUDFLARE:
case ACCESS_PROVIDERS.CLOUDFLARE:
return <AccessEditFormCloudflareConfig {...configFormProps} />;
case ACCESS_PROVIDER_TYPES.DOGECLOUD:
case ACCESS_PROVIDERS.DOGECLOUD:
return <AccessEditFormDogeCloudConfig {...configFormProps} />;
case ACCESS_PROVIDER_TYPES.GODADDY:
case ACCESS_PROVIDERS.GODADDY:
return <AccessEditFormGoDaddyConfig {...configFormProps} />;
case ACCESS_PROVIDER_TYPES.HUAWEICLOUD:
case ACCESS_PROVIDERS.HUAWEICLOUD:
return <AccessEditFormHuaweiCloudConfig {...configFormProps} />;
case ACCESS_PROVIDER_TYPES.KUBERNETES:
case ACCESS_PROVIDERS.KUBERNETES:
return <AccessEditFormKubernetesConfig {...configFormProps} />;
case ACCESS_PROVIDER_TYPES.LOCAL:
case ACCESS_PROVIDERS.LOCAL:
return <AccessEditFormLocalConfig {...configFormProps} />;
case ACCESS_PROVIDER_TYPES.NAMEDOTCOM:
case ACCESS_PROVIDERS.NAMEDOTCOM:
return <AccessEditFormNameDotComConfig {...configFormProps} />;
case ACCESS_PROVIDER_TYPES.NAMESILO:
case ACCESS_PROVIDERS.NAMESILO:
return <AccessEditFormNameSiloConfig {...configFormProps} />;
case ACCESS_PROVIDER_TYPES.POWERDNS:
case ACCESS_PROVIDERS.POWERDNS:
return <AccessEditFormPowerDNSConfig {...configFormProps} />;
case ACCESS_PROVIDER_TYPES.QINIU:
case ACCESS_PROVIDERS.QINIU:
return <AccessEditFormQiniuConfig {...configFormProps} />;
case ACCESS_PROVIDER_TYPES.SSH:
case ACCESS_PROVIDERS.SSH:
return <AccessEditFormSSHConfig {...configFormProps} />;
case ACCESS_PROVIDER_TYPES.TENCENTCLOUD:
case ACCESS_PROVIDERS.TENCENTCLOUD:
return <AccessEditFormTencentCloudConfig {...configFormProps} />;
case ACCESS_PROVIDER_TYPES.VOLCENGINE:
case ACCESS_PROVIDERS.VOLCENGINE:
return <AccessEditFormVolcEngineConfig {...configFormProps} />;
case ACCESS_PROVIDER_TYPES.WEBHOOK:
case ACCESS_PROVIDERS.WEBHOOK:
return <AccessEditFormWebhookConfig {...configFormProps} />;
}
}, [disabled, initialValues, configType, configFormInst, configFormName]);

View File

@@ -2,7 +2,7 @@ import { memo } from "react";
import { useTranslation } from "react-i18next";
import { Avatar, Select, Space, Tag, Typography, type SelectProps } from "antd";
import { ACCESS_PROVIDER_USAGES, accessProvidersMap } from "@/domain/access";
import { ACCESS_USAGES, accessProvidersMap } from "@/domain/access";
export type AccessTypeSelectProps = Omit<
SelectProps,
@@ -29,17 +29,17 @@ const AccessTypeSelect = (props: AccessTypeSelectProps) => {
</Typography.Text>
</Space>
<div>
{provider?.usage === ACCESS_PROVIDER_USAGES.APPLY && (
{provider?.usage === ACCESS_USAGES.APPLY && (
<>
<Tag color="orange">{t("access.props.provider.usage.dns")}</Tag>
</>
)}
{provider?.usage === ACCESS_PROVIDER_USAGES.DEPLOY && (
{provider?.usage === ACCESS_USAGES.DEPLOY && (
<>
<Tag color="blue">{t("access.props.provider.usage.host")}</Tag>
</>
)}
{provider?.usage === ACCESS_PROVIDER_USAGES.ALL && (
{provider?.usage === ACCESS_USAGES.ALL && (
<>
<Tag color="orange">{t("access.props.provider.usage.dns")}</Tag>
<Tag color="blue">{t("access.props.provider.usage.host")}</Tag>

View File

@@ -67,9 +67,9 @@ const Node = ({ data }: NodeProps) => {
case WorkflowNodeType.Notify: {
const channelLabel = notifyChannelsMap.get(data.config?.channel as string);
return (
<div className="flex space-x-2 items-baseline">
<div className="text-stone-700 w-12 truncate">{t(channelLabel?.name ?? "")}</div>
<div className="text-muted-foreground truncate">{(data.config?.title as string) ?? ""}</div>
<div className="flex space-x-2 items-center justify-between">
<div className="text-stone-700 truncate">{t(channelLabel?.name ?? "")}</div>
<div className="text-muted-foreground truncate">{(data.config?.subject as string) ?? ""}</div>
</div>
);
}

View File

@@ -12,7 +12,7 @@ import ModalForm from "@/components/core/ModalForm";
import MultipleInput from "@/components/core/MultipleInput";
import { usePanel } from "../PanelProvider";
import { useAntdForm, useZustandShallowSelector } from "@/hooks";
import { ACCESS_PROVIDER_USAGES, accessProvidersMap } from "@/domain/access";
import { ACCESS_USAGES, accessProvidersMap } from "@/domain/access";
import { type WorkflowNode, type WorkflowNodeConfig } from "@/domain/workflow";
import { useContactStore } from "@/stores/contact";
import { useWorkflowStore } from "@/stores/workflow";
@@ -163,7 +163,7 @@ const ApplyNodeForm = ({ data }: ApplyNodeFormProps) => {
}
onSubmit={(record) => {
const provider = accessProvidersMap.get(record.configType);
if (ACCESS_PROVIDER_USAGES.ALL === provider?.usage || ACCESS_PROVIDER_USAGES.APPLY === provider?.usage) {
if (ACCESS_USAGES.ALL === provider?.usage || ACCESS_USAGES.APPLY === provider?.usage) {
formInst.setFieldValue("access", record.id);
}
}}
@@ -176,7 +176,7 @@ const ApplyNodeForm = ({ data }: ApplyNodeFormProps) => {
placeholder={t("workflow.nodes.apply.form.access.placeholder")}
filter={(record) => {
const provider = accessProvidersMap.get(record.configType);
return ACCESS_PROVIDER_USAGES.ALL === provider?.usage || ACCESS_PROVIDER_USAGES.APPLY === provider?.usage;
return ACCESS_USAGES.ALL === provider?.usage || ACCESS_USAGES.APPLY === provider?.usage;
}}
/>
</Form.Item>