add powerdns,http request apply.

This commit is contained in:
Roy
2024-10-19 22:46:15 +08:00
parent 4382474449
commit d6d296b546
12 changed files with 88 additions and 330 deletions

View File

@@ -14,6 +14,8 @@ import AccessAwsForm from "./AccessAwsForm";
import AccessCloudflareForm from "./AccessCloudflareForm";
import AccessNamesiloForm from "./AccessNamesiloForm";
import AccessGodaddyForm from "./AccessGodaddyForm";
import AccessPdnsForm from "./AccessPdnsForm";
import AccessHttpreqForm from "./AccessHttpreqForm";
import AccessLocalForm from "./AccessLocalForm";
import AccessSSHForm from "./AccessSSHForm";
import AccessWebhookForm from "./AccessWebhookForm";
@@ -125,6 +127,28 @@ const AccessEdit = ({ trigger, op, data, className }: AccessEditProps) => {
/>
);
break;
case "pdns":
form = (
<AccessPdnsForm
data={data}
op={op}
onAfterReq={() => {
setOpen(false);
}}
/>
);
break;
case "httpreq":
form = (
<AccessHttpreqForm
data={data}
op={op}
onAfterReq={() => {
setOpen(false);
}}
/>
);
break;
case "local":
form = (
<AccessLocalForm

View File

@@ -9,6 +9,8 @@ export const accessTypeMap: Map<string, [string, string]> = new Map([
["cloudflare", ["common.provider.cloudflare", "/imgs/providers/cloudflare.svg"]],
["namesilo", ["common.provider.namesilo", "/imgs/providers/namesilo.svg"]],
["godaddy", ["common.provider.godaddy", "/imgs/providers/godaddy.svg"]],
["pdns", ["common.provider.pdns", "/imgs/providers/pdns.svg"]],
["httpreq", ["common.provider.httpreq", "/imgs/providers/httpreq.svg"]],
["local", ["common.provider.local", "/imgs/providers/local.svg"]],
["ssh", ["common.provider.ssh", "/imgs/providers/ssh.svg"]],
["webhook", ["common.provider.webhook", "/imgs/providers/webhook.svg"]],
@@ -29,6 +31,8 @@ export const accessFormType = z.union(
z.literal("cloudflare"),
z.literal("namesilo"),
z.literal("godaddy"),
z.literal("pdns"),
z.literal("httpreq"),
z.literal("local"),
z.literal("ssh"),
z.literal("webhook"),
@@ -54,6 +58,8 @@ export type Access = {
| CloudflareConfig
| NamesiloConfig
| GodaddyConfig
| PdnsConfig
| HttpreqConfig
| LocalConfig
| SSHConfig
| WebhookConfig
@@ -104,6 +110,18 @@ export type GodaddyConfig = {
apiSecret: string;
};
export type PdnsConfig = {
apiUrl: string;
apiKey: string;
};
export type HttpreqConfig = {
endpoint: string;
mode: string;
username: string;
password: string;
};
export type LocalConfig = Record<string, string>;
export type SSHConfig = {
@@ -142,6 +160,8 @@ export const getUsageByConfigType = (configType: string): AccessUsage => {
case "cloudflare":
case "namesilo":
case "godaddy":
case "pdns":
case "httpreq":
return "apply";
default:

View File

@@ -38,6 +38,14 @@
"access.authorization.form.godaddy_api_key.placeholder": "Please enter GO_DADDY_API_KEY",
"access.authorization.form.godaddy_api_secret.label": "GO_DADDY_API_SECRET",
"access.authorization.form.godaddy_api_secret.placeholder": "Please enter GO_DADDY_API_SECRET",
"access.authorization.form.pdns_api_url.label": "PDNS_API_URL",
"access.authorization.form.pdns_api_url.placeholder": "Please enter PDNS_API_URL",
"access.authorization.form.pdns_api_key.label": "PDNS_API_KEY",
"access.authorization.form.pdns_api_key.placeholder": "Please enter PDNS_API_KEY",
"access.authorization.form.httpreq_endpoint.label": "HTTPREQ_ENDPOINT",
"access.authorization.form.httpreq_endpoint.placeholder": "Please enter HTTPREQ_ENDPOINT",
"access.authorization.form.httpreq_mode.label": "HTTPREQ_MODE",
"access.authorization.form.httpreq_mode.placeholder": "Please enter HTTPREQ_MODE(RAW or '')",
"access.authorization.form.namesilo_api_key.label": "NAMESILO_API_KEY",
"access.authorization.form.namesilo_api_key.placeholder": "Please enter NAMESILO_API_KEY",
"access.authorization.form.username.label": "Username",

View File

@@ -65,6 +65,8 @@
"common.provider.cloudflare": "Cloudflare",
"common.provider.namesilo": "Namesilo",
"common.provider.godaddy": "GoDaddy",
"common.provider.pdns": "PowerDNS",
"common.provider.httpreq": "Http Request",
"common.provider.local": "Local Deployment",
"common.provider.ssh": "SSH Deployment",
"common.provider.webhook": "Webhook",

View File

@@ -39,6 +39,14 @@
"access.authorization.form.godaddy_api_secret.label": "GO_DADDY_API_SECRET",
"access.authorization.form.godaddy_api_secret.placeholder": "请输入 GO_DADDY_API_SECRET",
"access.authorization.form.namesilo_api_key.label": "NAMESILO_API_KEY",
"access.authorization.form.pdns_api_url.label": "PDNS_API_URL",
"access.authorization.form.pdns_api_url.placeholder": "请输入 PDNS_API_URL",
"access.authorization.form.pdns_api_key.label": "PDNS_API_KEY",
"access.authorization.form.pdns_api_key.placeholder": "请输入 PDNS_API_KEY",
"access.authorization.form.httpreq_endpoint.label": "HTTP 请求端点",
"access.authorization.form.httpreq_endpoint.placeholder": "请输入 请求端点",
"access.authorization.form.httpreq_mode.label": "模式",
"access.authorization.form.httpreq_mode.placeholder": "请输入模式( RAW or '')",
"access.authorization.form.namesilo_api_key.placeholder": "请输入 NAMESILO_API_KEY",
"access.authorization.form.username.label": "用户名",
"access.authorization.form.username.placeholder": "请输入用户名",

View File

@@ -65,6 +65,8 @@
"common.provider.cloudflare": "Cloudflare",
"common.provider.namesilo": "Namesilo",
"common.provider.godaddy": "GoDaddy",
"common.provider.pdns": "PowerDNS",
"common.provider.httpreq": "HTTP 请求",
"common.provider.local": "本地部署",
"common.provider.ssh": "SSH 部署",
"common.provider.webhook": "Webhook",