From b359c7d9909c65f33d8de26d46dccacc84959b43 Mon Sep 17 00:00:00 2001
From: zhengkunwang <31820853+zhengkunwang223@users.noreply.github.com>
Date: Wed, 7 Aug 2024 13:52:34 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E5=88=9B=E5=BB=BA=20PHP=20=E8=BF=90?=
=?UTF-8?q?=E8=A1=8C=E7=8E=AF=E5=A2=83=E7=BD=91=E7=AB=99=E6=94=AF=E6=8C=81?=
=?UTF-8?q?=E5=90=8C=E6=AD=A5=E5=88=9B=E5=BB=BA=E6=95=B0=E6=8D=AE=E5=BA=93?=
=?UTF-8?q?=20(#6051)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
agent/app/api/{v1 => v2}/app.go | 4 +-
agent/app/api/{v1 => v2}/app_install.go | 4 +-
agent/app/api/{v1 => v2}/backup.go | 4 +-
agent/app/api/{v1 => v2}/clam.go | 4 +-
agent/app/api/{v1 => v2}/command.go | 4 +-
agent/app/api/{v1 => v2}/compose_template.go | 4 +-
agent/app/api/{v1 => v2}/container.go | 4 +-
agent/app/api/{v1 => v2}/cronjob.go | 4 +-
agent/app/api/{v1 => v2}/dashboard.go | 4 +-
agent/app/api/{v1 => v2}/database.go | 4 +-
agent/app/api/{v1 => v2}/database_common.go | 4 +-
agent/app/api/{v1 => v2}/database_mysql.go | 4 +-
.../app/api/{v1 => v2}/database_postgresql.go | 4 +-
agent/app/api/{v1 => v2}/database_redis.go | 4 +-
agent/app/api/{v1 => v2}/device.go | 4 +-
agent/app/api/{v1 => v2}/docker.go | 4 +-
agent/app/api/{v1 => v2}/entry.go | 2 +-
agent/app/api/{v1 => v2}/fail2ban.go | 4 +-
agent/app/api/{v1 => v2}/favorite.go | 4 +-
agent/app/api/{v1 => v2}/file.go | 4 +-
agent/app/api/{v1 => v2}/firewall.go | 4 +-
agent/app/api/{v1 => v2}/ftp.go | 4 +-
agent/app/api/{v1 => v2}/group.go | 4 +-
agent/app/api/{v1 => v2}/helper/helper.go | 0
agent/app/api/{v1 => v2}/host.go | 4 +-
agent/app/api/{v1 => v2}/host_tool.go | 4 +-
agent/app/api/{v1 => v2}/image.go | 4 +-
agent/app/api/{v1 => v2}/image_repo.go | 4 +-
agent/app/api/{v1 => v2}/logs.go | 4 +-
agent/app/api/{v1 => v2}/monitor.go | 4 +-
agent/app/api/{v1 => v2}/nginx.go | 4 +-
agent/app/api/{v1 => v2}/php_extensions.go | 4 +-
agent/app/api/{v1 => v2}/process.go | 4 +-
agent/app/api/{v1 => v2}/recycle_bin.go | 4 +-
agent/app/api/{v1 => v2}/runtime.go | 4 +-
agent/app/api/{v1 => v2}/setting.go | 4 +-
agent/app/api/{v1 => v2}/snapshot.go | 4 +-
agent/app/api/{v1 => v2}/ssh.go | 4 +-
agent/app/api/{v1 => v2}/task.go | 4 +-
agent/app/api/{v1 => v2}/terminal.go | 2 +-
agent/app/api/{v1 => v2}/website.go | 4 +-
.../api/{v1 => v2}/website_acme_account.go | 4 +-
agent/app/api/{v1 => v2}/website_ca.go | 4 +-
.../app/api/{v1 => v2}/website_dns_account.go | 4 +-
agent/app/api/{v1 => v2}/website_domain.go | 4 +-
agent/app/api/{v1 => v2}/website_ssl.go | 4 +-
agent/app/dto/request/website.go | 20 ++-
agent/app/dto/response/website.go | 1 +
agent/app/model/website.go | 3 +
agent/app/service/app_utils.go | 2 +-
agent/app/service/website.go | 69 ++++++++-
agent/init/migration/migrate.go | 1 +
agent/init/migration/migrations/init.go | 8 +
agent/middleware/certificate.go | 2 +-
agent/middleware/loading.go | 2 +-
agent/router/ro_app.go | 4 +-
agent/router/ro_container.go | 4 +-
agent/router/ro_cronjob.go | 5 +-
agent/router/ro_dashboard.go | 5 +-
agent/router/ro_database.go | 5 +-
agent/router/ro_file.go | 4 +-
agent/router/ro_group.go | 4 +-
agent/router/ro_host.go | 5 +-
agent/router/ro_log.go | 5 +-
agent/router/ro_nginx.go | 4 +-
agent/router/ro_process.go | 4 +-
agent/router/ro_runtime.go | 4 +-
agent/router/ro_setting.go | 4 +-
agent/router/ro_terminal.go | 5 +-
agent/router/ro_toolbox.go | 5 +-
agent/router/ro_website.go | 4 +-
agent/router/ro_website_acme_account.go | 4 +-
agent/router/ro_website_ca.go | 4 +-
agent/router/ro_website_dns_account.go | 4 +-
agent/router/ro_website_ssl.go | 4 +-
cmd/server/docs/docs.go | 140 ++++++++++++++----
cmd/server/docs/x-log.json | 10 ++
core/app/api/{v1 => v2}/auth.go | 4 +-
core/app/api/{v1 => v2}/entry.go | 2 +-
core/app/api/{v1 => v2}/helper/helper.go | 0
core/app/api/{v1 => v2}/logs.go | 4 +-
core/app/api/{v1 => v2}/setting.go | 4 +-
core/app/api/{v1 => v2}/upgrade.go | 4 +-
core/middleware/bind_domain.go | 2 +-
core/middleware/ip_limit.go | 2 +-
core/middleware/jwt.go | 2 +-
core/middleware/loading.go | 2 +-
core/middleware/password_expired.go | 2 +-
core/middleware/proxy.go | 2 +-
core/middleware/session.go | 2 +-
core/router/ro_base.go | 4 +-
core/router/ro_log.go | 4 +-
core/router/ro_setting.go | 4 +-
frontend/src/lang/modules/en.ts | 1 +
frontend/src/lang/modules/tw.ts | 1 +
frontend/src/lang/modules/zh.ts | 1 +
.../views/website/website/create/index.vue | 89 +++++++++++
97 files changed, 462 insertions(+), 195 deletions(-)
rename agent/app/api/{v1 => v2}/app.go (98%)
rename agent/app/api/{v1 => v2}/app_install.go (99%)
rename agent/app/api/{v1 => v2}/backup.go (99%)
rename agent/app/api/{v1 => v2}/clam.go (99%)
rename agent/app/api/{v1 => v2}/command.go (99%)
rename agent/app/api/{v1 => v2}/compose_template.go (98%)
rename agent/app/api/{v1 => v2}/container.go (99%)
rename agent/app/api/{v1 => v2}/cronjob.go (99%)
rename agent/app/api/{v1 => v2}/dashboard.go (97%)
rename agent/app/api/{v1 => v2}/database.go (99%)
rename agent/app/api/{v1 => v2}/database_common.go (97%)
rename agent/app/api/{v1 => v2}/database_mysql.go (99%)
rename agent/app/api/{v1 => v2}/database_postgresql.go (99%)
rename agent/app/api/{v1 => v2}/database_redis.go (98%)
rename agent/app/api/{v1 => v2}/device.go (99%)
rename agent/app/api/{v1 => v2}/docker.go (98%)
rename agent/app/api/{v1 => v2}/entry.go (99%)
rename agent/app/api/{v1 => v2}/fail2ban.go (98%)
rename agent/app/api/{v1 => v2}/favorite.go (97%)
rename agent/app/api/{v1 => v2}/file.go (99%)
rename agent/app/api/{v1 => v2}/firewall.go (99%)
rename agent/app/api/{v1 => v2}/ftp.go (98%)
rename agent/app/api/{v1 => v2}/group.go (97%)
rename agent/app/api/{v1 => v2}/helper/helper.go (100%)
rename agent/app/api/{v1 => v2}/host.go (99%)
rename agent/app/api/{v1 => v2}/host_tool.go (98%)
rename agent/app/api/{v1 => v2}/image.go (99%)
rename agent/app/api/{v1 => v2}/image_repo.go (98%)
rename agent/app/api/{v1 => v2}/logs.go (94%)
rename agent/app/api/{v1 => v2}/monitor.go (97%)
rename agent/app/api/{v1 => v2}/nginx.go (98%)
rename agent/app/api/{v1 => v2}/php_extensions.go (97%)
rename agent/app/api/{v1 => v2}/process.go (94%)
rename agent/app/api/{v1 => v2}/recycle_bin.go (97%)
rename agent/app/api/{v1 => v2}/runtime.go (99%)
rename agent/app/api/{v1 => v2}/setting.go (96%)
rename agent/app/api/{v1 => v2}/snapshot.go (99%)
rename agent/app/api/{v1 => v2}/ssh.go (98%)
rename agent/app/api/{v1 => v2}/task.go (92%)
rename agent/app/api/{v1 => v2}/terminal.go (99%)
rename agent/app/api/{v1 => v2}/website.go (99%)
rename agent/app/api/{v1 => v2}/website_acme_account.go (97%)
rename agent/app/api/{v1 => v2}/website_ca.go (98%)
rename agent/app/api/{v1 => v2}/website_dns_account.go (98%)
rename agent/app/api/{v1 => v2}/website_domain.go (97%)
rename agent/app/api/{v1 => v2}/website_ssl.go (99%)
rename core/app/api/{v1 => v2}/auth.go (98%)
rename core/app/api/{v1 => v2}/entry.go (96%)
rename core/app/api/{v1 => v2}/helper/helper.go (100%)
rename core/app/api/{v1 => v2}/logs.go (97%)
rename core/app/api/{v1 => v2}/setting.go (99%)
rename core/app/api/{v1 => v2}/upgrade.go (96%)
diff --git a/agent/app/api/v1/app.go b/agent/app/api/v2/app.go
similarity index 98%
rename from agent/app/api/v1/app.go
rename to agent/app/api/v2/app.go
index cbeb07c5f..0ac6396e2 100644
--- a/agent/app/api/v1/app.go
+++ b/agent/app/api/v2/app.go
@@ -1,7 +1,7 @@
-package v1
+package v2
import (
- "github.com/1Panel-dev/1Panel/agent/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/agent/app/dto/request"
"github.com/1Panel-dev/1Panel/agent/constant"
"github.com/1Panel-dev/1Panel/agent/global"
diff --git a/agent/app/api/v1/app_install.go b/agent/app/api/v2/app_install.go
similarity index 99%
rename from agent/app/api/v1/app_install.go
rename to agent/app/api/v2/app_install.go
index 4429c5d72..4d6bc8c98 100644
--- a/agent/app/api/v1/app_install.go
+++ b/agent/app/api/v2/app_install.go
@@ -1,9 +1,9 @@
-package v1
+package v2
import (
"github.com/1Panel-dev/1Panel/agent/app/dto/request"
- "github.com/1Panel-dev/1Panel/agent/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/agent/app/dto"
"github.com/1Panel-dev/1Panel/agent/constant"
"github.com/gin-gonic/gin"
diff --git a/agent/app/api/v1/backup.go b/agent/app/api/v2/backup.go
similarity index 99%
rename from agent/app/api/v1/backup.go
rename to agent/app/api/v2/backup.go
index bb42563da..42b96acc7 100644
--- a/agent/app/api/v1/backup.go
+++ b/agent/app/api/v2/backup.go
@@ -1,11 +1,11 @@
-package v1
+package v2
import (
"encoding/base64"
"fmt"
"path"
- "github.com/1Panel-dev/1Panel/agent/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/agent/app/dto"
"github.com/1Panel-dev/1Panel/agent/constant"
"github.com/gin-gonic/gin"
diff --git a/agent/app/api/v1/clam.go b/agent/app/api/v2/clam.go
similarity index 99%
rename from agent/app/api/v1/clam.go
rename to agent/app/api/v2/clam.go
index 936894868..4823628f9 100644
--- a/agent/app/api/v1/clam.go
+++ b/agent/app/api/v2/clam.go
@@ -1,7 +1,7 @@
-package v1
+package v2
import (
- "github.com/1Panel-dev/1Panel/agent/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/agent/app/dto"
"github.com/1Panel-dev/1Panel/agent/constant"
"github.com/gin-gonic/gin"
diff --git a/agent/app/api/v1/command.go b/agent/app/api/v2/command.go
similarity index 99%
rename from agent/app/api/v1/command.go
rename to agent/app/api/v2/command.go
index bebcb7e10..b9cb437b1 100644
--- a/agent/app/api/v1/command.go
+++ b/agent/app/api/v2/command.go
@@ -1,7 +1,7 @@
-package v1
+package v2
import (
- "github.com/1Panel-dev/1Panel/agent/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/agent/app/dto"
"github.com/1Panel-dev/1Panel/agent/constant"
"github.com/gin-gonic/gin"
diff --git a/agent/app/api/v1/compose_template.go b/agent/app/api/v2/compose_template.go
similarity index 98%
rename from agent/app/api/v1/compose_template.go
rename to agent/app/api/v2/compose_template.go
index c2058def8..553faa7df 100644
--- a/agent/app/api/v1/compose_template.go
+++ b/agent/app/api/v2/compose_template.go
@@ -1,7 +1,7 @@
-package v1
+package v2
import (
- "github.com/1Panel-dev/1Panel/agent/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/agent/app/dto"
"github.com/1Panel-dev/1Panel/agent/constant"
"github.com/gin-gonic/gin"
diff --git a/agent/app/api/v1/container.go b/agent/app/api/v2/container.go
similarity index 99%
rename from agent/app/api/v1/container.go
rename to agent/app/api/v2/container.go
index c4f095b64..ed7f9d3b3 100644
--- a/agent/app/api/v1/container.go
+++ b/agent/app/api/v2/container.go
@@ -1,9 +1,9 @@
-package v1
+package v2
import (
"strconv"
- "github.com/1Panel-dev/1Panel/agent/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/agent/app/dto"
"github.com/1Panel-dev/1Panel/agent/constant"
"github.com/1Panel-dev/1Panel/agent/global"
diff --git a/agent/app/api/v1/cronjob.go b/agent/app/api/v2/cronjob.go
similarity index 99%
rename from agent/app/api/v1/cronjob.go
rename to agent/app/api/v2/cronjob.go
index 869d18bcf..8724bc220 100644
--- a/agent/app/api/v1/cronjob.go
+++ b/agent/app/api/v2/cronjob.go
@@ -1,9 +1,9 @@
-package v1
+package v2
import (
"time"
- "github.com/1Panel-dev/1Panel/agent/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/agent/app/dto"
"github.com/1Panel-dev/1Panel/agent/constant"
"github.com/1Panel-dev/1Panel/agent/utils/common"
diff --git a/agent/app/api/v1/dashboard.go b/agent/app/api/v2/dashboard.go
similarity index 97%
rename from agent/app/api/v1/dashboard.go
rename to agent/app/api/v2/dashboard.go
index 42e0d0360..1febbbb5f 100644
--- a/agent/app/api/v1/dashboard.go
+++ b/agent/app/api/v2/dashboard.go
@@ -1,9 +1,9 @@
-package v1
+package v2
import (
"errors"
- "github.com/1Panel-dev/1Panel/agent/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/agent/constant"
"github.com/gin-gonic/gin"
)
diff --git a/agent/app/api/v1/database.go b/agent/app/api/v2/database.go
similarity index 99%
rename from agent/app/api/v1/database.go
rename to agent/app/api/v2/database.go
index 492a4801d..b1cf78379 100644
--- a/agent/app/api/v1/database.go
+++ b/agent/app/api/v2/database.go
@@ -1,9 +1,9 @@
-package v1
+package v2
import (
"encoding/base64"
- "github.com/1Panel-dev/1Panel/agent/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/agent/app/dto"
"github.com/1Panel-dev/1Panel/agent/constant"
"github.com/gin-gonic/gin"
diff --git a/agent/app/api/v1/database_common.go b/agent/app/api/v2/database_common.go
similarity index 97%
rename from agent/app/api/v1/database_common.go
rename to agent/app/api/v2/database_common.go
index 0ed2adc94..df7d1b285 100644
--- a/agent/app/api/v1/database_common.go
+++ b/agent/app/api/v2/database_common.go
@@ -1,7 +1,7 @@
-package v1
+package v2
import (
- "github.com/1Panel-dev/1Panel/agent/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/agent/app/dto"
"github.com/1Panel-dev/1Panel/agent/constant"
"github.com/gin-gonic/gin"
diff --git a/agent/app/api/v1/database_mysql.go b/agent/app/api/v2/database_mysql.go
similarity index 99%
rename from agent/app/api/v1/database_mysql.go
rename to agent/app/api/v2/database_mysql.go
index db3feda7d..5214203f0 100644
--- a/agent/app/api/v1/database_mysql.go
+++ b/agent/app/api/v2/database_mysql.go
@@ -1,10 +1,10 @@
-package v1
+package v2
import (
"context"
"encoding/base64"
- "github.com/1Panel-dev/1Panel/agent/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/agent/app/dto"
"github.com/1Panel-dev/1Panel/agent/constant"
"github.com/gin-gonic/gin"
diff --git a/agent/app/api/v1/database_postgresql.go b/agent/app/api/v2/database_postgresql.go
similarity index 99%
rename from agent/app/api/v1/database_postgresql.go
rename to agent/app/api/v2/database_postgresql.go
index 53f45e267..ff6deed3d 100644
--- a/agent/app/api/v1/database_postgresql.go
+++ b/agent/app/api/v2/database_postgresql.go
@@ -1,10 +1,10 @@
-package v1
+package v2
import (
"context"
"encoding/base64"
- "github.com/1Panel-dev/1Panel/agent/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/agent/app/dto"
"github.com/1Panel-dev/1Panel/agent/constant"
"github.com/gin-gonic/gin"
diff --git a/agent/app/api/v1/database_redis.go b/agent/app/api/v2/database_redis.go
similarity index 98%
rename from agent/app/api/v1/database_redis.go
rename to agent/app/api/v2/database_redis.go
index 8483b89ed..357d4e3b6 100644
--- a/agent/app/api/v1/database_redis.go
+++ b/agent/app/api/v2/database_redis.go
@@ -1,9 +1,9 @@
-package v1
+package v2
import (
"encoding/base64"
- "github.com/1Panel-dev/1Panel/agent/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/agent/app/dto"
"github.com/1Panel-dev/1Panel/agent/constant"
"github.com/gin-gonic/gin"
diff --git a/agent/app/api/v1/device.go b/agent/app/api/v2/device.go
similarity index 99%
rename from agent/app/api/v1/device.go
rename to agent/app/api/v2/device.go
index 0216465a4..455e3b20a 100644
--- a/agent/app/api/v1/device.go
+++ b/agent/app/api/v2/device.go
@@ -1,9 +1,9 @@
-package v1
+package v2
import (
"encoding/base64"
- "github.com/1Panel-dev/1Panel/agent/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/agent/app/dto"
"github.com/1Panel-dev/1Panel/agent/constant"
"github.com/gin-gonic/gin"
diff --git a/agent/app/api/v1/docker.go b/agent/app/api/v2/docker.go
similarity index 98%
rename from agent/app/api/v1/docker.go
rename to agent/app/api/v2/docker.go
index 1434521e4..935930741 100644
--- a/agent/app/api/v1/docker.go
+++ b/agent/app/api/v2/docker.go
@@ -1,9 +1,9 @@
-package v1
+package v2
import (
"os"
- "github.com/1Panel-dev/1Panel/agent/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/agent/app/dto"
"github.com/1Panel-dev/1Panel/agent/constant"
"github.com/gin-gonic/gin"
diff --git a/agent/app/api/v1/entry.go b/agent/app/api/v2/entry.go
similarity index 99%
rename from agent/app/api/v1/entry.go
rename to agent/app/api/v2/entry.go
index 11736d137..294f46cf0 100644
--- a/agent/app/api/v1/entry.go
+++ b/agent/app/api/v2/entry.go
@@ -1,4 +1,4 @@
-package v1
+package v2
import "github.com/1Panel-dev/1Panel/agent/app/service"
diff --git a/agent/app/api/v1/fail2ban.go b/agent/app/api/v2/fail2ban.go
similarity index 98%
rename from agent/app/api/v1/fail2ban.go
rename to agent/app/api/v2/fail2ban.go
index d0b18b320..2171a9915 100644
--- a/agent/app/api/v1/fail2ban.go
+++ b/agent/app/api/v2/fail2ban.go
@@ -1,9 +1,9 @@
-package v1
+package v2
import (
"os"
- "github.com/1Panel-dev/1Panel/agent/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/agent/app/dto"
"github.com/1Panel-dev/1Panel/agent/constant"
"github.com/gin-gonic/gin"
diff --git a/agent/app/api/v1/favorite.go b/agent/app/api/v2/favorite.go
similarity index 97%
rename from agent/app/api/v1/favorite.go
rename to agent/app/api/v2/favorite.go
index 656fd0e8a..98a0e6724 100644
--- a/agent/app/api/v1/favorite.go
+++ b/agent/app/api/v2/favorite.go
@@ -1,7 +1,7 @@
-package v1
+package v2
import (
- "github.com/1Panel-dev/1Panel/agent/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/agent/app/dto"
"github.com/1Panel-dev/1Panel/agent/app/dto/request"
"github.com/1Panel-dev/1Panel/agent/constant"
diff --git a/agent/app/api/v1/file.go b/agent/app/api/v2/file.go
similarity index 99%
rename from agent/app/api/v1/file.go
rename to agent/app/api/v2/file.go
index fa1be19c3..fbc73a666 100644
--- a/agent/app/api/v1/file.go
+++ b/agent/app/api/v2/file.go
@@ -1,4 +1,4 @@
-package v1
+package v2
import (
"errors"
@@ -12,7 +12,7 @@ import (
"strconv"
"strings"
- "github.com/1Panel-dev/1Panel/agent/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/agent/app/dto"
"github.com/1Panel-dev/1Panel/agent/app/dto/request"
"github.com/1Panel-dev/1Panel/agent/app/dto/response"
diff --git a/agent/app/api/v1/firewall.go b/agent/app/api/v2/firewall.go
similarity index 99%
rename from agent/app/api/v1/firewall.go
rename to agent/app/api/v2/firewall.go
index d2f68b711..761016507 100644
--- a/agent/app/api/v1/firewall.go
+++ b/agent/app/api/v2/firewall.go
@@ -1,7 +1,7 @@
-package v1
+package v2
import (
- "github.com/1Panel-dev/1Panel/agent/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/agent/app/dto"
"github.com/1Panel-dev/1Panel/agent/constant"
"github.com/gin-gonic/gin"
diff --git a/agent/app/api/v1/ftp.go b/agent/app/api/v2/ftp.go
similarity index 98%
rename from agent/app/api/v1/ftp.go
rename to agent/app/api/v2/ftp.go
index e95423acb..c3073ac64 100644
--- a/agent/app/api/v1/ftp.go
+++ b/agent/app/api/v2/ftp.go
@@ -1,9 +1,9 @@
-package v1
+package v2
import (
"encoding/base64"
- "github.com/1Panel-dev/1Panel/agent/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/agent/app/dto"
"github.com/1Panel-dev/1Panel/agent/constant"
"github.com/gin-gonic/gin"
diff --git a/agent/app/api/v1/group.go b/agent/app/api/v2/group.go
similarity index 97%
rename from agent/app/api/v1/group.go
rename to agent/app/api/v2/group.go
index 6a93cb451..233a814fa 100644
--- a/agent/app/api/v1/group.go
+++ b/agent/app/api/v2/group.go
@@ -1,7 +1,7 @@
-package v1
+package v2
import (
- "github.com/1Panel-dev/1Panel/agent/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/agent/app/dto"
"github.com/1Panel-dev/1Panel/agent/constant"
"github.com/gin-gonic/gin"
diff --git a/agent/app/api/v1/helper/helper.go b/agent/app/api/v2/helper/helper.go
similarity index 100%
rename from agent/app/api/v1/helper/helper.go
rename to agent/app/api/v2/helper/helper.go
diff --git a/agent/app/api/v1/host.go b/agent/app/api/v2/host.go
similarity index 99%
rename from agent/app/api/v1/host.go
rename to agent/app/api/v2/host.go
index 43ff9ec17..957fb7fc4 100644
--- a/agent/app/api/v1/host.go
+++ b/agent/app/api/v2/host.go
@@ -1,7 +1,7 @@
-package v1
+package v2
import (
- "github.com/1Panel-dev/1Panel/agent/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/agent/app/dto"
"github.com/1Panel-dev/1Panel/agent/constant"
"github.com/1Panel-dev/1Panel/agent/utils/encrypt"
diff --git a/agent/app/api/v1/host_tool.go b/agent/app/api/v2/host_tool.go
similarity index 98%
rename from agent/app/api/v1/host_tool.go
rename to agent/app/api/v2/host_tool.go
index 6f9a2e84e..9c6c214a4 100644
--- a/agent/app/api/v1/host_tool.go
+++ b/agent/app/api/v2/host_tool.go
@@ -1,7 +1,7 @@
-package v1
+package v2
import (
- "github.com/1Panel-dev/1Panel/agent/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/agent/app/dto/request"
"github.com/1Panel-dev/1Panel/agent/constant"
"github.com/gin-gonic/gin"
diff --git a/agent/app/api/v1/image.go b/agent/app/api/v2/image.go
similarity index 99%
rename from agent/app/api/v1/image.go
rename to agent/app/api/v2/image.go
index 3b24ba6a7..84ed17cdc 100644
--- a/agent/app/api/v1/image.go
+++ b/agent/app/api/v2/image.go
@@ -1,7 +1,7 @@
-package v1
+package v2
import (
- "github.com/1Panel-dev/1Panel/agent/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/agent/app/dto"
"github.com/1Panel-dev/1Panel/agent/constant"
"github.com/gin-gonic/gin"
diff --git a/agent/app/api/v1/image_repo.go b/agent/app/api/v2/image_repo.go
similarity index 98%
rename from agent/app/api/v1/image_repo.go
rename to agent/app/api/v2/image_repo.go
index bd1377c1b..683d5bb70 100644
--- a/agent/app/api/v1/image_repo.go
+++ b/agent/app/api/v2/image_repo.go
@@ -1,7 +1,7 @@
-package v1
+package v2
import (
- "github.com/1Panel-dev/1Panel/agent/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/agent/app/dto"
"github.com/1Panel-dev/1Panel/agent/constant"
"github.com/gin-gonic/gin"
diff --git a/agent/app/api/v1/logs.go b/agent/app/api/v2/logs.go
similarity index 94%
rename from agent/app/api/v1/logs.go
rename to agent/app/api/v2/logs.go
index dc8873105..7c5f91291 100644
--- a/agent/app/api/v1/logs.go
+++ b/agent/app/api/v2/logs.go
@@ -1,7 +1,7 @@
-package v1
+package v2
import (
- "github.com/1Panel-dev/1Panel/agent/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/agent/app/dto"
"github.com/1Panel-dev/1Panel/agent/constant"
"github.com/gin-gonic/gin"
diff --git a/agent/app/api/v1/monitor.go b/agent/app/api/v2/monitor.go
similarity index 97%
rename from agent/app/api/v1/monitor.go
rename to agent/app/api/v2/monitor.go
index e5b480990..66fc50b38 100644
--- a/agent/app/api/v1/monitor.go
+++ b/agent/app/api/v2/monitor.go
@@ -1,9 +1,9 @@
-package v1
+package v2
import (
"sort"
- "github.com/1Panel-dev/1Panel/agent/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/agent/app/dto"
"github.com/1Panel-dev/1Panel/agent/constant"
"github.com/gin-gonic/gin"
diff --git a/agent/app/api/v1/nginx.go b/agent/app/api/v2/nginx.go
similarity index 98%
rename from agent/app/api/v1/nginx.go
rename to agent/app/api/v2/nginx.go
index 2d36a3841..7244becec 100644
--- a/agent/app/api/v1/nginx.go
+++ b/agent/app/api/v2/nginx.go
@@ -1,7 +1,7 @@
-package v1
+package v2
import (
- "github.com/1Panel-dev/1Panel/agent/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/agent/app/dto/request"
"github.com/1Panel-dev/1Panel/agent/constant"
"github.com/gin-gonic/gin"
diff --git a/agent/app/api/v1/php_extensions.go b/agent/app/api/v2/php_extensions.go
similarity index 97%
rename from agent/app/api/v1/php_extensions.go
rename to agent/app/api/v2/php_extensions.go
index 9103af2a6..a031aa97b 100644
--- a/agent/app/api/v1/php_extensions.go
+++ b/agent/app/api/v2/php_extensions.go
@@ -1,7 +1,7 @@
-package v1
+package v2
import (
- "github.com/1Panel-dev/1Panel/agent/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/agent/app/dto"
"github.com/1Panel-dev/1Panel/agent/app/dto/request"
"github.com/1Panel-dev/1Panel/agent/constant"
diff --git a/agent/app/api/v1/process.go b/agent/app/api/v2/process.go
similarity index 94%
rename from agent/app/api/v1/process.go
rename to agent/app/api/v2/process.go
index 8b2e57c96..8aa2284c1 100644
--- a/agent/app/api/v1/process.go
+++ b/agent/app/api/v2/process.go
@@ -1,7 +1,7 @@
-package v1
+package v2
import (
- "github.com/1Panel-dev/1Panel/agent/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/agent/app/dto/request"
"github.com/1Panel-dev/1Panel/agent/constant"
websocket2 "github.com/1Panel-dev/1Panel/agent/utils/websocket"
diff --git a/agent/app/api/v1/recycle_bin.go b/agent/app/api/v2/recycle_bin.go
similarity index 97%
rename from agent/app/api/v1/recycle_bin.go
rename to agent/app/api/v2/recycle_bin.go
index eed594386..b4af1483a 100644
--- a/agent/app/api/v1/recycle_bin.go
+++ b/agent/app/api/v2/recycle_bin.go
@@ -1,7 +1,7 @@
-package v1
+package v2
import (
- "github.com/1Panel-dev/1Panel/agent/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/agent/app/dto"
"github.com/1Panel-dev/1Panel/agent/app/dto/request"
"github.com/1Panel-dev/1Panel/agent/constant"
diff --git a/agent/app/api/v1/runtime.go b/agent/app/api/v2/runtime.go
similarity index 99%
rename from agent/app/api/v1/runtime.go
rename to agent/app/api/v2/runtime.go
index dd8522130..cb6f885cb 100644
--- a/agent/app/api/v1/runtime.go
+++ b/agent/app/api/v2/runtime.go
@@ -1,7 +1,7 @@
-package v1
+package v2
import (
- "github.com/1Panel-dev/1Panel/agent/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/agent/app/dto"
"github.com/1Panel-dev/1Panel/agent/app/dto/request"
"github.com/1Panel-dev/1Panel/agent/constant"
diff --git a/agent/app/api/v1/setting.go b/agent/app/api/v2/setting.go
similarity index 96%
rename from agent/app/api/v1/setting.go
rename to agent/app/api/v2/setting.go
index a6425cb2e..21859336e 100644
--- a/agent/app/api/v1/setting.go
+++ b/agent/app/api/v2/setting.go
@@ -1,7 +1,7 @@
-package v1
+package v2
import (
- "github.com/1Panel-dev/1Panel/agent/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/agent/app/dto"
"github.com/1Panel-dev/1Panel/agent/constant"
"github.com/1Panel-dev/1Panel/agent/global"
diff --git a/agent/app/api/v1/snapshot.go b/agent/app/api/v2/snapshot.go
similarity index 99%
rename from agent/app/api/v1/snapshot.go
rename to agent/app/api/v2/snapshot.go
index 7f4adfb1f..fffff3e13 100644
--- a/agent/app/api/v1/snapshot.go
+++ b/agent/app/api/v2/snapshot.go
@@ -1,7 +1,7 @@
-package v1
+package v2
import (
- "github.com/1Panel-dev/1Panel/agent/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/agent/app/dto"
"github.com/1Panel-dev/1Panel/agent/constant"
"github.com/gin-gonic/gin"
diff --git a/agent/app/api/v1/ssh.go b/agent/app/api/v2/ssh.go
similarity index 98%
rename from agent/app/api/v1/ssh.go
rename to agent/app/api/v2/ssh.go
index 7f6ae6458..60f69f996 100644
--- a/agent/app/api/v1/ssh.go
+++ b/agent/app/api/v2/ssh.go
@@ -1,7 +1,7 @@
-package v1
+package v2
import (
- "github.com/1Panel-dev/1Panel/agent/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/agent/app/dto"
"github.com/1Panel-dev/1Panel/agent/constant"
"github.com/gin-gonic/gin"
diff --git a/agent/app/api/v1/task.go b/agent/app/api/v2/task.go
similarity index 92%
rename from agent/app/api/v1/task.go
rename to agent/app/api/v2/task.go
index 741d01a3c..310cc0e51 100644
--- a/agent/app/api/v1/task.go
+++ b/agent/app/api/v2/task.go
@@ -1,7 +1,7 @@
-package v1
+package v2
import (
- "github.com/1Panel-dev/1Panel/agent/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/agent/app/dto"
"github.com/1Panel-dev/1Panel/agent/constant"
"github.com/gin-gonic/gin"
diff --git a/agent/app/api/v1/terminal.go b/agent/app/api/v2/terminal.go
similarity index 99%
rename from agent/app/api/v1/terminal.go
rename to agent/app/api/v2/terminal.go
index cedac00a0..5a461e1fe 100644
--- a/agent/app/api/v1/terminal.go
+++ b/agent/app/api/v2/terminal.go
@@ -1,4 +1,4 @@
-package v1
+package v2
import (
"encoding/base64"
diff --git a/agent/app/api/v1/website.go b/agent/app/api/v2/website.go
similarity index 99%
rename from agent/app/api/v1/website.go
rename to agent/app/api/v2/website.go
index 4e0372ab0..7241a6811 100644
--- a/agent/app/api/v1/website.go
+++ b/agent/app/api/v2/website.go
@@ -1,7 +1,7 @@
-package v1
+package v2
import (
- "github.com/1Panel-dev/1Panel/agent/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/agent/app/dto"
"github.com/1Panel-dev/1Panel/agent/app/dto/request"
"github.com/1Panel-dev/1Panel/agent/constant"
diff --git a/agent/app/api/v1/website_acme_account.go b/agent/app/api/v2/website_acme_account.go
similarity index 97%
rename from agent/app/api/v1/website_acme_account.go
rename to agent/app/api/v2/website_acme_account.go
index 5b08a9b2c..e807b6a57 100644
--- a/agent/app/api/v1/website_acme_account.go
+++ b/agent/app/api/v2/website_acme_account.go
@@ -1,7 +1,7 @@
-package v1
+package v2
import (
- "github.com/1Panel-dev/1Panel/agent/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/agent/app/dto"
"github.com/1Panel-dev/1Panel/agent/app/dto/request"
"github.com/1Panel-dev/1Panel/agent/constant"
diff --git a/agent/app/api/v1/website_ca.go b/agent/app/api/v2/website_ca.go
similarity index 98%
rename from agent/app/api/v1/website_ca.go
rename to agent/app/api/v2/website_ca.go
index 1823944ea..381952509 100644
--- a/agent/app/api/v1/website_ca.go
+++ b/agent/app/api/v2/website_ca.go
@@ -1,11 +1,11 @@
-package v1
+package v2
import (
"net/http"
"net/url"
"strconv"
- "github.com/1Panel-dev/1Panel/agent/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/agent/app/dto"
"github.com/1Panel-dev/1Panel/agent/app/dto/request"
"github.com/1Panel-dev/1Panel/agent/constant"
diff --git a/agent/app/api/v1/website_dns_account.go b/agent/app/api/v2/website_dns_account.go
similarity index 98%
rename from agent/app/api/v1/website_dns_account.go
rename to agent/app/api/v2/website_dns_account.go
index 9cc184681..a00244583 100644
--- a/agent/app/api/v1/website_dns_account.go
+++ b/agent/app/api/v2/website_dns_account.go
@@ -1,7 +1,7 @@
-package v1
+package v2
import (
- "github.com/1Panel-dev/1Panel/agent/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/agent/app/dto"
"github.com/1Panel-dev/1Panel/agent/app/dto/request"
"github.com/1Panel-dev/1Panel/agent/constant"
diff --git a/agent/app/api/v1/website_domain.go b/agent/app/api/v2/website_domain.go
similarity index 97%
rename from agent/app/api/v1/website_domain.go
rename to agent/app/api/v2/website_domain.go
index 6251e6043..3e255fcdb 100644
--- a/agent/app/api/v1/website_domain.go
+++ b/agent/app/api/v2/website_domain.go
@@ -1,7 +1,7 @@
-package v1
+package v2
import (
- "github.com/1Panel-dev/1Panel/agent/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/agent/app/dto/request"
"github.com/1Panel-dev/1Panel/agent/constant"
"github.com/gin-gonic/gin"
diff --git a/agent/app/api/v1/website_ssl.go b/agent/app/api/v2/website_ssl.go
similarity index 99%
rename from agent/app/api/v1/website_ssl.go
rename to agent/app/api/v2/website_ssl.go
index e558d5fc1..4d41b413a 100644
--- a/agent/app/api/v1/website_ssl.go
+++ b/agent/app/api/v2/website_ssl.go
@@ -1,4 +1,4 @@
-package v1
+package v2
import (
"net/http"
@@ -6,7 +6,7 @@ import (
"reflect"
"strconv"
- "github.com/1Panel-dev/1Panel/agent/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/agent/app/dto"
"github.com/1Panel-dev/1Panel/agent/app/dto/request"
"github.com/1Panel-dev/1Panel/agent/constant"
diff --git a/agent/app/dto/request/website.go b/agent/app/dto/request/website.go
index da4111fee..c97d64078 100644
--- a/agent/app/dto/request/website.go
+++ b/agent/app/dto/request/website.go
@@ -27,12 +27,12 @@ type WebsiteCreate struct {
AppID uint `json:"appID"`
AppInstallID uint `json:"appInstallID"`
- FtpUser string `json:"ftpUser"`
- FtpPassword string `json:"ftpPassword"`
-
RuntimeID uint `json:"runtimeID"`
TaskID string `json:"taskID"`
+
RuntimeConfig
+ FtpConfig
+ DataBaseConfig
}
type RuntimeConfig struct {
@@ -40,6 +40,20 @@ type RuntimeConfig struct {
Port int `json:"port"`
}
+type FtpConfig struct {
+ FtpUser string `json:"ftpUser"`
+ FtpPassword string `json:"ftpPassword"`
+}
+
+type DataBaseConfig struct {
+ CreateDb bool `json:"createDb"`
+ DbName string `json:"dbName"`
+ DbUser string `json:"dbUser"`
+ DbPassword string `json:"dbPassword"`
+ DbHost string `json:"dbHost"`
+ DBFormat string `json:"dbFormat"`
+}
+
type NewAppInstall struct {
Name string `json:"name"`
AppDetailId uint `json:"appDetailID"`
diff --git a/agent/app/dto/response/website.go b/agent/app/dto/response/website.go
index b99c4fa2a..4aaff56b6 100644
--- a/agent/app/dto/response/website.go
+++ b/agent/app/dto/response/website.go
@@ -31,6 +31,7 @@ type WebsiteRes struct {
RuntimeName string `json:"runtimeName"`
SSLExpireDate time.Time `json:"sslExpireDate"`
SSLStatus string `json:"sslStatus"`
+ AppInstallID uint `json:"appInstallId"`
}
type WebsiteOption struct {
diff --git a/agent/app/model/website.go b/agent/app/model/website.go
index 34dc72ab4..15748739c 100644
--- a/agent/app/model/website.go
+++ b/agent/app/model/website.go
@@ -31,6 +31,9 @@ type Website struct {
User string `gorm:"type:varchar;" json:"user"`
Group string `gorm:"type:varchar;" json:"group"`
+ DbType string `json:"dbType"`
+ DbID uint `json:"dbID"`
+
Domains []WebsiteDomain `json:"domains" gorm:"-:migration"`
WebsiteSSL WebsiteSSL `json:"webSiteSSL" gorm:"-:migration"`
}
diff --git a/agent/app/service/app_utils.go b/agent/app/service/app_utils.go
index 0592bd894..bd2ccf222 100644
--- a/agent/app/service/app_utils.go
+++ b/agent/app/service/app_utils.go
@@ -26,7 +26,7 @@ import (
"github.com/1Panel-dev/1Panel/agent/utils/cmd"
- "github.com/1Panel-dev/1Panel/agent/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/agent/app/dto/request"
"github.com/1Panel-dev/1Panel/agent/i18n"
"github.com/subosito/gotenv"
diff --git a/agent/app/service/website.go b/agent/app/service/website.go
index 3ba02f65d..a17938f42 100644
--- a/agent/app/service/website.go
+++ b/agent/app/service/website.go
@@ -29,7 +29,7 @@ import (
"github.com/1Panel-dev/1Panel/agent/utils/compose"
"github.com/1Panel-dev/1Panel/agent/utils/env"
- "github.com/1Panel-dev/1Panel/agent/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/agent/cmd/server/nginx_conf"
"github.com/1Panel-dev/1Panel/agent/utils/cmd"
"github.com/1Panel-dev/1Panel/agent/utils/nginx"
@@ -141,8 +141,9 @@ func (w WebsiteService) PageWebsite(req request.WebsiteSearch) (int64, []respons
}
for _, web := range websites {
var (
- appName string
- runtimeName string
+ appName string
+ runtimeName string
+ appInstallID uint
)
switch web.Type {
case constant.Deployment:
@@ -151,12 +152,14 @@ func (w WebsiteService) PageWebsite(req request.WebsiteSearch) (int64, []respons
return 0, nil, err
}
appName = appInstall.Name
+ appInstallID = appInstall.ID
case constant.Runtime:
runtime, err := runtimeRepo.GetFirst(commonRepo.WithByID(web.RuntimeID))
if err != nil {
return 0, nil, err
}
runtimeName = runtime.Name
+ appInstallID = runtime.ID
}
sitePath := path.Join(constant.AppInstallDir, constant.AppOpenresty, nginxInstall.Name, "www", "sites", web.Alias)
@@ -175,6 +178,7 @@ func (w WebsiteService) PageWebsite(req request.WebsiteSearch) (int64, []respons
SSLStatus: checkSSLStatus(web.WebsiteSSL.ExpireDate),
RuntimeName: runtimeName,
SitePath: sitePath,
+ AppInstallID: appInstallID,
})
}
return total, websiteDTOs, nil
@@ -263,10 +267,62 @@ func (w WebsiteService) CreateWebsite(create request.WebsiteCreate) (err error)
return err
}
+ if create.CreateDb {
+ createDataBase := func(t *task.Task) error {
+ database, _ := databaseRepo.Get(commonRepo.WithByName(create.DbHost))
+ if database.ID == 0 {
+ return nil
+ }
+ dbConfig := create.DataBaseConfig
+ switch database.Type {
+ case constant.AppPostgresql, constant.AppPostgres:
+ iPostgresqlRepo := repo.NewIPostgresqlRepo()
+ oldPostgresqlDb, _ := iPostgresqlRepo.Get(commonRepo.WithByName(create.DbName), iPostgresqlRepo.WithByFrom(constant.ResourceLocal))
+ if oldPostgresqlDb.ID > 0 {
+ return buserr.New(constant.ErrDbUserNotValid)
+ }
+ var createPostgresql dto.PostgresqlDBCreate
+ createPostgresql.Name = dbConfig.DbName
+ createPostgresql.Username = dbConfig.DbUser
+ createPostgresql.Database = database.Name
+ createPostgresql.Format = dbConfig.DBFormat
+ createPostgresql.Password = dbConfig.DbPassword
+ createPostgresql.From = database.From
+ createPostgresql.SuperUser = true
+ pgDB, err := NewIPostgresqlService().Create(context.Background(), createPostgresql)
+ if err != nil {
+ return err
+ }
+ website.DbID = pgDB.ID
+ website.DbType = database.Type
+ case constant.AppMysql, constant.AppMariaDB:
+ iMysqlRepo := repo.NewIMysqlRepo()
+ oldMysqlDb, _ := iMysqlRepo.Get(commonRepo.WithByName(dbConfig.DbName), iMysqlRepo.WithByFrom(constant.ResourceLocal))
+ if oldMysqlDb.ID > 0 {
+ return buserr.New(constant.ErrDbUserNotValid)
+ }
+ var createMysql dto.MysqlDBCreate
+ createMysql.Name = dbConfig.DbName
+ createMysql.Username = dbConfig.DbUser
+ createMysql.Database = database.Name
+ createMysql.Format = dbConfig.DBFormat
+ createMysql.Permission = "%"
+ createMysql.Password = dbConfig.DbPassword
+ createMysql.From = database.From
+ mysqlDB, err := NewIMysqlService().Create(context.Background(), createMysql)
+ if err != nil {
+ return err
+ }
+ website.DbID = mysqlDB.ID
+ website.DbType = database.Type
+ }
+ return nil
+ }
+ createTask.AddSubTask(task.GetTaskName(create.DbName, task.TaskCreate, task.TaskScopeDatabase), createDataBase, nil)
+ }
+
var proxy string
-
switch create.Type {
-
case constant.Deployment:
if create.AppType == constant.NewApp {
var (
@@ -349,8 +405,7 @@ func (w WebsiteService) CreateWebsite(create request.WebsiteCreate) (err error)
}
deleteFtpUser := func(t *task.Task) {
if website.FtpID > 0 {
- req := dto.BatchDeleteReq{Ids: []uint{website.FtpID}}
- if err = NewIFtpService().Delete(req); err != nil {
+ if err = NewIFtpService().Delete(dto.BatchDeleteReq{Ids: []uint{website.FtpID}}); err != nil {
createTask.Log(err.Error())
}
}
diff --git a/agent/init/migration/migrate.go b/agent/init/migration/migrate.go
index 2fc823c6e..cd8732407 100644
--- a/agent/init/migration/migrate.go
+++ b/agent/init/migration/migrate.go
@@ -18,6 +18,7 @@ func Init() {
migrations.InitDefaultCA,
migrations.InitPHPExtensions,
migrations.AddTask,
+ migrations.UpdateWebsite,
})
if err := m.Migrate(); err != nil {
global.LOG.Error(err)
diff --git a/agent/init/migration/migrations/init.go b/agent/init/migration/migrations/init.go
index fb7268b3d..79e579d00 100644
--- a/agent/init/migration/migrations/init.go
+++ b/agent/init/migration/migrations/init.go
@@ -295,3 +295,11 @@ var AddTask = &gormigrate.Migration{
&model.Task{})
},
}
+
+var UpdateWebsite = &gormigrate.Migration{
+ ID: "20240803-update-website",
+ Migrate: func(tx *gorm.DB) error {
+ return tx.AutoMigrate(
+ &model.Website{})
+ },
+}
diff --git a/agent/middleware/certificate.go b/agent/middleware/certificate.go
index 46e3a2e21..8e367f2e5 100644
--- a/agent/middleware/certificate.go
+++ b/agent/middleware/certificate.go
@@ -4,7 +4,7 @@ import (
"errors"
"fmt"
- "github.com/1Panel-dev/1Panel/agent/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/agent/constant"
"github.com/1Panel-dev/1Panel/agent/global"
"github.com/gin-gonic/gin"
diff --git a/agent/middleware/loading.go b/agent/middleware/loading.go
index f935e34d6..82a15d320 100644
--- a/agent/middleware/loading.go
+++ b/agent/middleware/loading.go
@@ -1,7 +1,7 @@
package middleware
import (
- "github.com/1Panel-dev/1Panel/agent/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/agent/app/repo"
"github.com/1Panel-dev/1Panel/agent/constant"
"github.com/gin-gonic/gin"
diff --git a/agent/router/ro_app.go b/agent/router/ro_app.go
index 82cf8d02b..feb389b15 100644
--- a/agent/router/ro_app.go
+++ b/agent/router/ro_app.go
@@ -1,7 +1,7 @@
package router
import (
- v1 "github.com/1Panel-dev/1Panel/agent/app/api/v1"
+ v2 "github.com/1Panel-dev/1Panel/agent/app/api/v2"
"github.com/gin-gonic/gin"
)
@@ -11,7 +11,7 @@ type AppRouter struct {
func (a *AppRouter) InitRouter(Router *gin.RouterGroup) {
appRouter := Router.Group("apps")
- baseApi := v1.ApiGroupApp.BaseApi
+ baseApi := v2.ApiGroupApp.BaseApi
{
appRouter.POST("/sync", baseApi.SyncApp)
appRouter.GET("/checkupdate", baseApi.GetAppListUpdate)
diff --git a/agent/router/ro_container.go b/agent/router/ro_container.go
index 683c8f8e6..eaabbbfec 100644
--- a/agent/router/ro_container.go
+++ b/agent/router/ro_container.go
@@ -1,7 +1,7 @@
package router
import (
- v1 "github.com/1Panel-dev/1Panel/agent/app/api/v1"
+ v2 "github.com/1Panel-dev/1Panel/agent/app/api/v2"
"github.com/gin-gonic/gin"
)
@@ -9,7 +9,7 @@ type ContainerRouter struct{}
func (s *ContainerRouter) InitRouter(Router *gin.RouterGroup) {
baRouter := Router.Group("containers")
- baseApi := v1.ApiGroupApp.BaseApi
+ baseApi := v2.ApiGroupApp.BaseApi
{
baRouter.GET("/exec", baseApi.ContainerWsSsh)
baRouter.GET("/stats/:id", baseApi.ContainerStats)
diff --git a/agent/router/ro_cronjob.go b/agent/router/ro_cronjob.go
index fc4a6a780..ab064212c 100644
--- a/agent/router/ro_cronjob.go
+++ b/agent/router/ro_cronjob.go
@@ -1,8 +1,7 @@
package router
import (
- v1 "github.com/1Panel-dev/1Panel/agent/app/api/v1"
-
+ v2 "github.com/1Panel-dev/1Panel/agent/app/api/v2"
"github.com/gin-gonic/gin"
)
@@ -10,7 +9,7 @@ type CronjobRouter struct{}
func (s *CronjobRouter) InitRouter(Router *gin.RouterGroup) {
cmdRouter := Router.Group("cronjobs")
- baseApi := v1.ApiGroupApp.BaseApi
+ baseApi := v2.ApiGroupApp.BaseApi
{
cmdRouter.POST("", baseApi.CreateCronjob)
cmdRouter.POST("/del", baseApi.DeleteCronjob)
diff --git a/agent/router/ro_dashboard.go b/agent/router/ro_dashboard.go
index 0dded9250..2d8d04e0a 100644
--- a/agent/router/ro_dashboard.go
+++ b/agent/router/ro_dashboard.go
@@ -1,8 +1,7 @@
package router
import (
- v1 "github.com/1Panel-dev/1Panel/agent/app/api/v1"
-
+ v2 "github.com/1Panel-dev/1Panel/agent/app/api/v2"
"github.com/gin-gonic/gin"
)
@@ -10,7 +9,7 @@ type DashboardRouter struct{}
func (s *DashboardRouter) InitRouter(Router *gin.RouterGroup) {
cmdRouter := Router.Group("dashboard")
- baseApi := v1.ApiGroupApp.BaseApi
+ baseApi := v2.ApiGroupApp.BaseApi
{
cmdRouter.GET("/base/os", baseApi.LoadDashboardOsInfo)
cmdRouter.GET("/base/:ioOption/:netOption", baseApi.LoadDashboardBaseInfo)
diff --git a/agent/router/ro_database.go b/agent/router/ro_database.go
index 0bb99b1eb..8141a945c 100644
--- a/agent/router/ro_database.go
+++ b/agent/router/ro_database.go
@@ -1,8 +1,7 @@
package router
import (
- v1 "github.com/1Panel-dev/1Panel/agent/app/api/v1"
-
+ v2 "github.com/1Panel-dev/1Panel/agent/app/api/v2"
"github.com/gin-gonic/gin"
)
@@ -10,7 +9,7 @@ type DatabaseRouter struct{}
func (s *DatabaseRouter) InitRouter(Router *gin.RouterGroup) {
cmdRouter := Router.Group("databases")
- baseApi := v1.ApiGroupApp.BaseApi
+ baseApi := v2.ApiGroupApp.BaseApi
{
cmdRouter.POST("/common/info", baseApi.LoadDBBaseInfo)
cmdRouter.POST("/common/load/file", baseApi.LoadDBFile)
diff --git a/agent/router/ro_file.go b/agent/router/ro_file.go
index 68d09a1e9..df432711b 100644
--- a/agent/router/ro_file.go
+++ b/agent/router/ro_file.go
@@ -1,7 +1,7 @@
package router
import (
- v1 "github.com/1Panel-dev/1Panel/agent/app/api/v1"
+ v2 "github.com/1Panel-dev/1Panel/agent/app/api/v2"
"github.com/gin-gonic/gin"
)
@@ -10,7 +10,7 @@ type FileRouter struct {
func (f *FileRouter) InitRouter(Router *gin.RouterGroup) {
fileRouter := Router.Group("files")
- baseApi := v1.ApiGroupApp.BaseApi
+ baseApi := v2.ApiGroupApp.BaseApi
{
fileRouter.POST("/search", baseApi.ListFiles)
fileRouter.POST("/upload/search", baseApi.SearchUploadWithPage)
diff --git a/agent/router/ro_group.go b/agent/router/ro_group.go
index 8e263dbe1..4cf92a080 100644
--- a/agent/router/ro_group.go
+++ b/agent/router/ro_group.go
@@ -1,7 +1,7 @@
package router
import (
- v1 "github.com/1Panel-dev/1Panel/agent/app/api/v1"
+ v2 "github.com/1Panel-dev/1Panel/agent/app/api/v2"
"github.com/gin-gonic/gin"
)
@@ -11,7 +11,7 @@ type WebsiteGroupRouter struct {
func (a *WebsiteGroupRouter) InitRouter(Router *gin.RouterGroup) {
groupRouter := Router.Group("groups")
- baseApi := v1.ApiGroupApp.BaseApi
+ baseApi := v2.ApiGroupApp.BaseApi
{
groupRouter.POST("", baseApi.CreateGroup)
groupRouter.POST("/del", baseApi.DeleteGroup)
diff --git a/agent/router/ro_host.go b/agent/router/ro_host.go
index 15da26225..15990d97a 100644
--- a/agent/router/ro_host.go
+++ b/agent/router/ro_host.go
@@ -1,8 +1,7 @@
package router
import (
- v1 "github.com/1Panel-dev/1Panel/agent/app/api/v1"
-
+ v2 "github.com/1Panel-dev/1Panel/agent/app/api/v2"
"github.com/gin-gonic/gin"
)
@@ -10,7 +9,7 @@ type HostRouter struct{}
func (s *HostRouter) InitRouter(Router *gin.RouterGroup) {
hostRouter := Router.Group("hosts")
- baseApi := v1.ApiGroupApp.BaseApi
+ baseApi := v2.ApiGroupApp.BaseApi
{
hostRouter.POST("", baseApi.CreateHost)
hostRouter.POST("/del", baseApi.DeleteHost)
diff --git a/agent/router/ro_log.go b/agent/router/ro_log.go
index 9849782c9..693b1bbc6 100644
--- a/agent/router/ro_log.go
+++ b/agent/router/ro_log.go
@@ -1,8 +1,7 @@
package router
import (
- v1 "github.com/1Panel-dev/1Panel/agent/app/api/v1"
-
+ v2 "github.com/1Panel-dev/1Panel/agent/app/api/v2"
"github.com/gin-gonic/gin"
)
@@ -10,7 +9,7 @@ type LogRouter struct{}
func (s *LogRouter) InitRouter(Router *gin.RouterGroup) {
operationRouter := Router.Group("logs")
- baseApi := v1.ApiGroupApp.BaseApi
+ baseApi := v2.ApiGroupApp.BaseApi
{
operationRouter.GET("/system/files", baseApi.GetSystemFiles)
operationRouter.POST("/system", baseApi.GetSystemLogs)
diff --git a/agent/router/ro_nginx.go b/agent/router/ro_nginx.go
index aa57eac5e..f4f1ea772 100644
--- a/agent/router/ro_nginx.go
+++ b/agent/router/ro_nginx.go
@@ -1,7 +1,7 @@
package router
import (
- v1 "github.com/1Panel-dev/1Panel/agent/app/api/v1"
+ v2 "github.com/1Panel-dev/1Panel/agent/app/api/v2"
"github.com/gin-gonic/gin"
)
@@ -11,7 +11,7 @@ type NginxRouter struct {
func (a *NginxRouter) InitRouter(Router *gin.RouterGroup) {
groupRouter := Router.Group("openresty")
- baseApi := v1.ApiGroupApp.BaseApi
+ baseApi := v2.ApiGroupApp.BaseApi
{
groupRouter.GET("", baseApi.GetNginx)
groupRouter.POST("/scope", baseApi.GetNginxConfigByScope)
diff --git a/agent/router/ro_process.go b/agent/router/ro_process.go
index 677ce1829..01c2fd8b8 100644
--- a/agent/router/ro_process.go
+++ b/agent/router/ro_process.go
@@ -1,7 +1,7 @@
package router
import (
- v1 "github.com/1Panel-dev/1Panel/agent/app/api/v1"
+ v2 "github.com/1Panel-dev/1Panel/agent/app/api/v2"
"github.com/gin-gonic/gin"
)
@@ -10,7 +10,7 @@ type ProcessRouter struct {
func (f *ProcessRouter) InitRouter(Router *gin.RouterGroup) {
processRouter := Router.Group("process")
- baseApi := v1.ApiGroupApp.BaseApi
+ baseApi := v2.ApiGroupApp.BaseApi
{
processRouter.GET("/ws", baseApi.ProcessWs)
processRouter.POST("/stop", baseApi.StopProcess)
diff --git a/agent/router/ro_runtime.go b/agent/router/ro_runtime.go
index 8bda07e57..b0f2af8e1 100644
--- a/agent/router/ro_runtime.go
+++ b/agent/router/ro_runtime.go
@@ -1,7 +1,7 @@
package router
import (
- v1 "github.com/1Panel-dev/1Panel/agent/app/api/v1"
+ v2 "github.com/1Panel-dev/1Panel/agent/app/api/v2"
"github.com/gin-gonic/gin"
)
@@ -11,7 +11,7 @@ type RuntimeRouter struct {
func (r *RuntimeRouter) InitRouter(Router *gin.RouterGroup) {
groupRouter := Router.Group("runtimes")
- baseApi := v1.ApiGroupApp.BaseApi
+ baseApi := v2.ApiGroupApp.BaseApi
{
groupRouter.GET("/installed/delete/check/:runTimeId", baseApi.DeleteRuntimeCheck)
groupRouter.POST("/search", baseApi.SearchRuntimes)
diff --git a/agent/router/ro_setting.go b/agent/router/ro_setting.go
index 823124ec5..b5388dc0b 100644
--- a/agent/router/ro_setting.go
+++ b/agent/router/ro_setting.go
@@ -1,7 +1,7 @@
package router
import (
- v1 "github.com/1Panel-dev/1Panel/agent/app/api/v1"
+ v2 "github.com/1Panel-dev/1Panel/agent/app/api/v2"
"github.com/gin-gonic/gin"
)
@@ -9,7 +9,7 @@ type SettingRouter struct{}
func (s *SettingRouter) InitRouter(Router *gin.RouterGroup) {
settingRouter := Router.Group("settings")
- baseApi := v1.ApiGroupApp.BaseApi
+ baseApi := v2.ApiGroupApp.BaseApi
{
settingRouter.POST("/search", baseApi.GetSettingInfo)
settingRouter.GET("/search/available", baseApi.GetSystemAvailable)
diff --git a/agent/router/ro_terminal.go b/agent/router/ro_terminal.go
index 5ddcd9201..ec17a3146 100644
--- a/agent/router/ro_terminal.go
+++ b/agent/router/ro_terminal.go
@@ -1,8 +1,7 @@
package router
import (
- v1 "github.com/1Panel-dev/1Panel/agent/app/api/v1"
-
+ v2 "github.com/1Panel-dev/1Panel/agent/app/api/v2"
"github.com/gin-gonic/gin"
)
@@ -10,7 +9,7 @@ type TerminalRouter struct{}
func (s *TerminalRouter) InitRouter(Router *gin.RouterGroup) {
terminalRouter := Router.Group("terminals")
- baseApi := v1.ApiGroupApp.BaseApi
+ baseApi := v2.ApiGroupApp.BaseApi
{
terminalRouter.GET("", baseApi.WsSsh)
}
diff --git a/agent/router/ro_toolbox.go b/agent/router/ro_toolbox.go
index bff40ad99..a72fe546c 100644
--- a/agent/router/ro_toolbox.go
+++ b/agent/router/ro_toolbox.go
@@ -1,8 +1,7 @@
package router
import (
- v1 "github.com/1Panel-dev/1Panel/agent/app/api/v1"
-
+ v2 "github.com/1Panel-dev/1Panel/agent/app/api/v2"
"github.com/gin-gonic/gin"
)
@@ -10,7 +9,7 @@ type ToolboxRouter struct{}
func (s *ToolboxRouter) InitRouter(Router *gin.RouterGroup) {
toolboxRouter := Router.Group("toolbox")
- baseApi := v1.ApiGroupApp.BaseApi
+ baseApi := v2.ApiGroupApp.BaseApi
{
toolboxRouter.POST("/device/base", baseApi.LoadDeviceBaseInfo)
toolboxRouter.GET("/device/zone/options", baseApi.LoadTimeOption)
diff --git a/agent/router/ro_website.go b/agent/router/ro_website.go
index ddb336c07..6a5f7772f 100644
--- a/agent/router/ro_website.go
+++ b/agent/router/ro_website.go
@@ -1,7 +1,7 @@
package router
import (
- v1 "github.com/1Panel-dev/1Panel/agent/app/api/v1"
+ v2 "github.com/1Panel-dev/1Panel/agent/app/api/v2"
"github.com/gin-gonic/gin"
)
@@ -11,7 +11,7 @@ type WebsiteRouter struct {
func (a *WebsiteRouter) InitRouter(Router *gin.RouterGroup) {
websiteRouter := Router.Group("websites")
- baseApi := v1.ApiGroupApp.BaseApi
+ baseApi := v2.ApiGroupApp.BaseApi
{
websiteRouter.POST("/search", baseApi.PageWebsite)
websiteRouter.GET("/list", baseApi.GetWebsites)
diff --git a/agent/router/ro_website_acme_account.go b/agent/router/ro_website_acme_account.go
index 9a973cdb6..d1e69ec90 100644
--- a/agent/router/ro_website_acme_account.go
+++ b/agent/router/ro_website_acme_account.go
@@ -1,7 +1,7 @@
package router
import (
- v1 "github.com/1Panel-dev/1Panel/agent/app/api/v1"
+ v2 "github.com/1Panel-dev/1Panel/agent/app/api/v2"
"github.com/gin-gonic/gin"
)
@@ -11,7 +11,7 @@ type WebsiteAcmeAccountRouter struct {
func (a *WebsiteAcmeAccountRouter) InitRouter(Router *gin.RouterGroup) {
groupRouter := Router.Group("websites/acme")
- baseApi := v1.ApiGroupApp.BaseApi
+ baseApi := v2.ApiGroupApp.BaseApi
{
groupRouter.POST("/search", baseApi.PageWebsiteAcmeAccount)
groupRouter.POST("", baseApi.CreateWebsiteAcmeAccount)
diff --git a/agent/router/ro_website_ca.go b/agent/router/ro_website_ca.go
index 87380e796..e86585a3f 100644
--- a/agent/router/ro_website_ca.go
+++ b/agent/router/ro_website_ca.go
@@ -1,7 +1,7 @@
package router
import (
- v1 "github.com/1Panel-dev/1Panel/agent/app/api/v1"
+ v2 "github.com/1Panel-dev/1Panel/agent/app/api/v2"
"github.com/gin-gonic/gin"
)
@@ -11,7 +11,7 @@ type WebsiteCARouter struct {
func (a *WebsiteCARouter) InitRouter(Router *gin.RouterGroup) {
groupRouter := Router.Group("websites/ca")
- baseApi := v1.ApiGroupApp.BaseApi
+ baseApi := v2.ApiGroupApp.BaseApi
{
groupRouter.POST("/search", baseApi.PageWebsiteCA)
groupRouter.POST("", baseApi.CreateWebsiteCA)
diff --git a/agent/router/ro_website_dns_account.go b/agent/router/ro_website_dns_account.go
index 2498883d0..80c008c95 100644
--- a/agent/router/ro_website_dns_account.go
+++ b/agent/router/ro_website_dns_account.go
@@ -1,7 +1,7 @@
package router
import (
- v1 "github.com/1Panel-dev/1Panel/agent/app/api/v1"
+ v2 "github.com/1Panel-dev/1Panel/agent/app/api/v2"
"github.com/gin-gonic/gin"
)
@@ -11,7 +11,7 @@ type WebsiteDnsAccountRouter struct {
func (a *WebsiteDnsAccountRouter) InitRouter(Router *gin.RouterGroup) {
groupRouter := Router.Group("websites/dns")
- baseApi := v1.ApiGroupApp.BaseApi
+ baseApi := v2.ApiGroupApp.BaseApi
{
groupRouter.POST("/search", baseApi.PageWebsiteDnsAccount)
groupRouter.POST("", baseApi.CreateWebsiteDnsAccount)
diff --git a/agent/router/ro_website_ssl.go b/agent/router/ro_website_ssl.go
index cba76f7b3..beb7d3b69 100644
--- a/agent/router/ro_website_ssl.go
+++ b/agent/router/ro_website_ssl.go
@@ -1,7 +1,7 @@
package router
import (
- v1 "github.com/1Panel-dev/1Panel/agent/app/api/v1"
+ v2 "github.com/1Panel-dev/1Panel/agent/app/api/v2"
"github.com/gin-gonic/gin"
)
@@ -11,7 +11,7 @@ type WebsiteSSLRouter struct {
func (a *WebsiteSSLRouter) InitRouter(Router *gin.RouterGroup) {
groupRouter := Router.Group("websites/ssl")
- baseApi := v1.ApiGroupApp.BaseApi
+ baseApi := v2.ApiGroupApp.BaseApi
{
groupRouter.POST("/search", baseApi.PageWebsiteSSL)
groupRouter.POST("", baseApi.CreateWebsiteSSL)
diff --git a/cmd/server/docs/docs.go b/cmd/server/docs/docs.go
index 8bebecca5..1a095b0a3 100644
--- a/cmd/server/docs/docs.go
+++ b/cmd/server/docs/docs.go
@@ -3482,28 +3482,6 @@ const docTemplate = `{
]
}
},
- "/core/settings/basedir": {
- "get": {
- "description": "获取安装根目录",
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "type": "string"
- }
- }
- },
- "security": [
- {
- "ApiKeyAuth": []
- }
- ],
- "summary": "Load local backup dir",
- "tags": [
- "System Setting"
- ]
- }
- },
"/core/settings/bind/update": {
"post": {
"consumes": [
@@ -9083,7 +9061,7 @@ const docTemplate = `{
"ApiKeyAuth": []
}
],
- "summary": "Clean monitor datas",
+ "summary": "Clean monitor data",
"tags": [
"Monitor"
],
@@ -9120,12 +9098,71 @@ const docTemplate = `{
"ApiKeyAuth": []
}
],
- "summary": "Load monitor datas",
+ "summary": "Load monitor data",
"tags": [
"Monitor"
]
}
},
+ "/hosts/monitor/setting": {
+ "get": {
+ "description": "获取默认监控设置",
+ "responses": {
+ "200": {
+ "description": "OK"
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Load monitor setting",
+ "tags": [
+ "Monitor"
+ ]
+ }
+ },
+ "/hosts/monitor/setting/update": {
+ "post": {
+ "description": "更新默认监控设置",
+ "parameters": [
+ {
+ "description": "request",
+ "in": "body",
+ "name": "request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/dto.MonitorSettingUpdate"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Update monitor setting",
+ "tags": [
+ "Monitor"
+ ],
+ "x-panel-log": {
+ "BeforeFunctions": [],
+ "bodyKeys": [
+ "key",
+ "value"
+ ],
+ "formatEN": "update default monitor [name]-[value]",
+ "formatZH": "修改默认监控网卡 [name]-[value]",
+ "paramKeys": []
+ }
+ }
+ },
"/hosts/search": {
"post": {
"consumes": [
@@ -17958,6 +17995,26 @@ const docTemplate = `{
],
"type": "object"
},
+ "dto.MonitorSettingUpdate": {
+ "properties": {
+ "key": {
+ "enum": [
+ "MonitorStatus",
+ "MonitorStoreDays",
+ "MonitorInterval",
+ "DefaultNetwork"
+ ],
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "key"
+ ],
+ "type": "object"
+ },
"dto.MysqlDBCreate": {
"properties": {
"database": {
@@ -19938,6 +19995,12 @@ const docTemplate = `{
"createdAt": {
"type": "string"
},
+ "dbID": {
+ "type": "integer"
+ },
+ "dbType": {
+ "type": "string"
+ },
"defaultServer": {
"type": "boolean"
},
@@ -20297,6 +20360,9 @@ const docTemplate = `{
"deleteDB": {
"type": "boolean"
},
+ "deleteImage": {
+ "type": "boolean"
+ },
"detailId": {
"type": "integer"
},
@@ -21788,6 +21854,24 @@ const docTemplate = `{
],
"type": "string"
},
+ "createDb": {
+ "type": "boolean"
+ },
+ "dbFormat": {
+ "type": "string"
+ },
+ "dbHost": {
+ "type": "string"
+ },
+ "dbName": {
+ "type": "string"
+ },
+ "dbPassword": {
+ "type": "string"
+ },
+ "dbUser": {
+ "type": "string"
+ },
"ftpPassword": {
"type": "string"
},
@@ -23081,6 +23165,12 @@ const docTemplate = `{
"createdAt": {
"type": "string"
},
+ "dbID": {
+ "type": "integer"
+ },
+ "dbType": {
+ "type": "string"
+ },
"defaultServer": {
"type": "boolean"
},
@@ -23257,4 +23347,4 @@ var SwaggerInfo = &swag.Spec{
func init() {
swag.Register(SwaggerInfo.InstanceName(), SwaggerInfo)
-}
\ No newline at end of file
+}
diff --git a/cmd/server/docs/x-log.json b/cmd/server/docs/x-log.json
index 9be70a428..7cbd22762 100644
--- a/cmd/server/docs/x-log.json
+++ b/cmd/server/docs/x-log.json
@@ -1403,6 +1403,16 @@
"formatZH": "清空监控数据",
"paramKeys": []
},
+ "/hosts/monitor/setting/update": {
+ "BeforeFunctions": [],
+ "bodyKeys": [
+ "key",
+ "value"
+ ],
+ "formatEN": "update default monitor [name]-[value]",
+ "formatZH": "修改默认监控网卡 [name]-[value]",
+ "paramKeys": []
+ },
"/hosts/update": {
"BeforeFunctions": [],
"bodyKeys": [
diff --git a/core/app/api/v1/auth.go b/core/app/api/v2/auth.go
similarity index 98%
rename from core/app/api/v1/auth.go
rename to core/app/api/v2/auth.go
index 2688d0f9a..8536749bc 100644
--- a/core/app/api/v1/auth.go
+++ b/core/app/api/v2/auth.go
@@ -1,9 +1,9 @@
-package v1
+package v2
import (
"encoding/base64"
- "github.com/1Panel-dev/1Panel/core/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/core/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/core/app/dto"
"github.com/1Panel-dev/1Panel/core/app/model"
"github.com/1Panel-dev/1Panel/core/constant"
diff --git a/core/app/api/v1/entry.go b/core/app/api/v2/entry.go
similarity index 96%
rename from core/app/api/v1/entry.go
rename to core/app/api/v2/entry.go
index f1a2c5c36..3cd4f0dcc 100644
--- a/core/app/api/v1/entry.go
+++ b/core/app/api/v2/entry.go
@@ -1,4 +1,4 @@
-package v1
+package v2
import "github.com/1Panel-dev/1Panel/core/app/service"
diff --git a/core/app/api/v1/helper/helper.go b/core/app/api/v2/helper/helper.go
similarity index 100%
rename from core/app/api/v1/helper/helper.go
rename to core/app/api/v2/helper/helper.go
diff --git a/core/app/api/v1/logs.go b/core/app/api/v2/logs.go
similarity index 97%
rename from core/app/api/v1/logs.go
rename to core/app/api/v2/logs.go
index 841c969d4..7b560e24e 100644
--- a/core/app/api/v1/logs.go
+++ b/core/app/api/v2/logs.go
@@ -1,7 +1,7 @@
-package v1
+package v2
import (
- "github.com/1Panel-dev/1Panel/core/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/core/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/core/app/dto"
"github.com/1Panel-dev/1Panel/core/constant"
"github.com/gin-gonic/gin"
diff --git a/core/app/api/v1/setting.go b/core/app/api/v2/setting.go
similarity index 99%
rename from core/app/api/v1/setting.go
rename to core/app/api/v2/setting.go
index 6f16c9b18..d1286b42b 100644
--- a/core/app/api/v1/setting.go
+++ b/core/app/api/v2/setting.go
@@ -1,4 +1,4 @@
-package v1
+package v2
import (
"encoding/base64"
@@ -6,7 +6,7 @@ import (
"os"
"path"
- "github.com/1Panel-dev/1Panel/core/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/core/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/core/app/dto"
"github.com/1Panel-dev/1Panel/core/constant"
"github.com/1Panel-dev/1Panel/core/global"
diff --git a/core/app/api/v1/upgrade.go b/core/app/api/v2/upgrade.go
similarity index 96%
rename from core/app/api/v1/upgrade.go
rename to core/app/api/v2/upgrade.go
index 1420c7ca9..90da70b90 100644
--- a/core/app/api/v1/upgrade.go
+++ b/core/app/api/v2/upgrade.go
@@ -1,7 +1,7 @@
-package v1
+package v2
import (
- "github.com/1Panel-dev/1Panel/core/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/core/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/core/app/dto"
"github.com/1Panel-dev/1Panel/core/constant"
"github.com/gin-gonic/gin"
diff --git a/core/middleware/bind_domain.go b/core/middleware/bind_domain.go
index 09c33a540..128780e07 100644
--- a/core/middleware/bind_domain.go
+++ b/core/middleware/bind_domain.go
@@ -4,7 +4,7 @@ import (
"errors"
"strings"
- "github.com/1Panel-dev/1Panel/core/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/core/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/core/app/repo"
"github.com/1Panel-dev/1Panel/core/constant"
"github.com/gin-gonic/gin"
diff --git a/core/middleware/ip_limit.go b/core/middleware/ip_limit.go
index 86243ff38..1b3e491c6 100644
--- a/core/middleware/ip_limit.go
+++ b/core/middleware/ip_limit.go
@@ -5,7 +5,7 @@ import (
"net"
"strings"
- "github.com/1Panel-dev/1Panel/core/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/core/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/core/app/repo"
"github.com/1Panel-dev/1Panel/core/constant"
"github.com/1Panel-dev/1Panel/core/global"
diff --git a/core/middleware/jwt.go b/core/middleware/jwt.go
index d9fad1d64..b65e2edde 100644
--- a/core/middleware/jwt.go
+++ b/core/middleware/jwt.go
@@ -3,7 +3,7 @@ package middleware
import (
"strings"
- "github.com/1Panel-dev/1Panel/core/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/core/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/core/constant"
jwtUtils "github.com/1Panel-dev/1Panel/core/utils/jwt"
diff --git a/core/middleware/loading.go b/core/middleware/loading.go
index 0727b7238..fca8afe73 100644
--- a/core/middleware/loading.go
+++ b/core/middleware/loading.go
@@ -1,7 +1,7 @@
package middleware
import (
- "github.com/1Panel-dev/1Panel/core/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/core/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/core/app/repo"
"github.com/1Panel-dev/1Panel/core/constant"
"github.com/gin-gonic/gin"
diff --git a/core/middleware/password_expired.go b/core/middleware/password_expired.go
index 84ac28c8b..8efd2f809 100644
--- a/core/middleware/password_expired.go
+++ b/core/middleware/password_expired.go
@@ -5,7 +5,7 @@ import (
"strings"
"time"
- "github.com/1Panel-dev/1Panel/core/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/core/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/core/app/repo"
"github.com/1Panel-dev/1Panel/core/constant"
"github.com/1Panel-dev/1Panel/core/utils/common"
diff --git a/core/middleware/proxy.go b/core/middleware/proxy.go
index 7c8b425ef..e25ee4210 100644
--- a/core/middleware/proxy.go
+++ b/core/middleware/proxy.go
@@ -8,7 +8,7 @@ import (
"os"
"strings"
- "github.com/1Panel-dev/1Panel/core/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/core/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/core/constant"
"github.com/1Panel-dev/1Panel/core/utils/xpack"
"github.com/gin-gonic/gin"
diff --git a/core/middleware/session.go b/core/middleware/session.go
index c2df9d6c1..303c9094e 100644
--- a/core/middleware/session.go
+++ b/core/middleware/session.go
@@ -4,7 +4,7 @@ import (
"strconv"
"strings"
- "github.com/1Panel-dev/1Panel/core/app/api/v1/helper"
+ "github.com/1Panel-dev/1Panel/core/app/api/v2/helper"
"github.com/1Panel-dev/1Panel/core/app/repo"
"github.com/1Panel-dev/1Panel/core/constant"
"github.com/1Panel-dev/1Panel/core/global"
diff --git a/core/router/ro_base.go b/core/router/ro_base.go
index f11cbf4d3..3c38c7eac 100644
--- a/core/router/ro_base.go
+++ b/core/router/ro_base.go
@@ -1,7 +1,7 @@
package router
import (
- v1 "github.com/1Panel-dev/1Panel/core/app/api/v1"
+ v2 "github.com/1Panel-dev/1Panel/core/app/api/v2"
"github.com/gin-gonic/gin"
)
@@ -9,7 +9,7 @@ type BaseRouter struct{}
func (s *BaseRouter) InitRouter(Router *gin.RouterGroup) {
baseRouter := Router.Group("auth")
- baseApi := v1.ApiGroupApp.BaseApi
+ baseApi := v2.ApiGroupApp.BaseApi
{
baseRouter.GET("/captcha", baseApi.Captcha)
baseRouter.POST("/mfalogin", baseApi.MFALogin)
diff --git a/core/router/ro_log.go b/core/router/ro_log.go
index f738b0661..d38cb36fe 100644
--- a/core/router/ro_log.go
+++ b/core/router/ro_log.go
@@ -1,7 +1,7 @@
package router
import (
- v1 "github.com/1Panel-dev/1Panel/core/app/api/v1"
+ v2 "github.com/1Panel-dev/1Panel/core/app/api/v2"
"github.com/gin-gonic/gin"
)
@@ -10,7 +10,7 @@ type LogRouter struct{}
func (s *LogRouter) InitRouter(Router *gin.RouterGroup) {
operationRouter := Router.Group("logs")
- baseApi := v1.ApiGroupApp.BaseApi
+ baseApi := v2.ApiGroupApp.BaseApi
{
operationRouter.POST("/login", baseApi.GetLoginLogs)
operationRouter.POST("/operation", baseApi.GetOperationLogs)
diff --git a/core/router/ro_setting.go b/core/router/ro_setting.go
index 047af70ec..0b53931f5 100644
--- a/core/router/ro_setting.go
+++ b/core/router/ro_setting.go
@@ -1,7 +1,7 @@
package router
import (
- v1 "github.com/1Panel-dev/1Panel/core/app/api/v1"
+ v2 "github.com/1Panel-dev/1Panel/core/app/api/v2"
"github.com/gin-gonic/gin"
)
@@ -9,7 +9,7 @@ type SettingRouter struct{}
func (s *SettingRouter) InitRouter(Router *gin.RouterGroup) {
settingRouter := Router.Group("settings")
- baseApi := v1.ApiGroupApp.BaseApi
+ baseApi := v2.ApiGroupApp.BaseApi
{
settingRouter.POST("/search", baseApi.GetSettingInfo)
settingRouter.POST("/expired/handle", baseApi.HandlePasswordExpired)
diff --git a/frontend/src/lang/modules/en.ts b/frontend/src/lang/modules/en.ts
index 9f0ad1897..188b29854 100644
--- a/frontend/src/lang/modules/en.ts
+++ b/frontend/src/lang/modules/en.ts
@@ -2127,6 +2127,7 @@ const message = {
sni: 'Origin SNI',
sniHelper:
"When the reverse proxy backend is HTTPS, you might need to set the origin SNI. Please refer to the CDN service provider's documentation for details.",
+ createDb: 'Create Database',
},
php: {
short_open_tag: 'Short tag support',
diff --git a/frontend/src/lang/modules/tw.ts b/frontend/src/lang/modules/tw.ts
index d9bfc5828..22163613b 100644
--- a/frontend/src/lang/modules/tw.ts
+++ b/frontend/src/lang/modules/tw.ts
@@ -1977,6 +1977,7 @@ const message = {
website404Helper: '網站 404 錯誤頁僅支援 PHP 運行環境網站和靜態網站',
sni: '回源 SNI',
sniHelper: '反代後端為 https 的時候可能需要設置回源 SNI,具體需要看 CDN 服務商文檔',
+ createDb: '建立資料庫',
},
php: {
short_open_tag: '短標簽支持',
diff --git a/frontend/src/lang/modules/zh.ts b/frontend/src/lang/modules/zh.ts
index a545d66d3..3ded6bdd0 100644
--- a/frontend/src/lang/modules/zh.ts
+++ b/frontend/src/lang/modules/zh.ts
@@ -1979,6 +1979,7 @@ const message = {
website404Helper: '网站 404 错误页仅支持 PHP 运行环境网站和静态网站',
sni: '回源 SNI',
sniHelper: '反代后端为 https 的时候可能需要设置回源 SNI,具体需要看 CDN 服务商文档',
+ createDb: '创建数据库',
},
php: {
short_open_tag: '短标签支持',
diff --git a/frontend/src/views/website/website/create/index.vue b/frontend/src/views/website/website/create/index.vue
index 5e9098d2b..5cae87cff 100644
--- a/frontend/src/views/website/website/create/index.vue
+++ b/frontend/src/views/website/website/create/index.vue
@@ -349,6 +349,72 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('commons.button.random') }}
+
+
+
+
+
+
@@ -389,6 +455,7 @@ import { SearchRuntimes } from '@/api/modules/runtime';
import { Runtime } from '@/api/interface/runtime';
import { getRandomStr } from '@/utils/util';
import TaskLog from '@/components/task-log/index.vue';
+import { GetAppService } from '@/api/modules/app';
import { v4 as uuidv4 } from 'uuid';
const websiteForm = ref();
@@ -428,6 +495,13 @@ const website = ref({
proxyAddress: '',
runtimeType: 'php',
taskID: '',
+ createDb: false,
+ dbName: '',
+ dbPassword: '',
+ dbFormat: 'utf8mb4',
+ dbUser: '',
+ dbType: 'mysql',
+ dbHost: '',
});
const rules = ref({
primaryDomain: [Rules.domainWithPort],
@@ -451,6 +525,10 @@ const rules = ref({
proxyType: [Rules.requiredSelect],
port: [Rules.port],
runtimeType: [Rules.requiredInput],
+ dbName: [Rules.requiredInput, Rules.dbName],
+ dbUser: [Rules.requiredInput, Rules.name],
+ dbPassword: [Rules.requiredInput, Rules.paramComplexity],
+ dbHost: [Rules.requiredSelect],
});
const open = ref(false);
@@ -480,6 +558,7 @@ const runtimes = ref([]);
const versionExist = ref(true);
const em = defineEmits(['close']);
const taskLog = ref();
+const dbServices = ref();
const handleClose = () => {
open.value = false;
@@ -490,6 +569,10 @@ const random = async () => {
website.value.ftpPassword = getRandomStr(16);
};
+const randomDbPassword = async () => {
+ website.value.dbPassword = getRandomStr(16);
+};
+
const changeType = (type: string) => {
switch (type) {
case 'deployment':
@@ -500,6 +583,7 @@ const changeType = (type: string) => {
break;
case 'runtime':
getRuntimes();
+ getAppByService(website.value.dbType);
break;
case 'proxy':
website.value.proxyAddress = '';
@@ -523,6 +607,11 @@ const searchAppInstalled = (appType: string) => {
});
};
+const getAppByService = async (key: string) => {
+ const res = await GetAppService(key);
+ dbServices.value = res.data;
+};
+
const changeInstall = () => {
appInstalls.value.forEach((app) => {
if (app.id === website.value.appInstallId) {