ソースを参照

fix: replace env_group_id with namespace_id in API endpoints and types #1369

0xJacky 1 週間 前
コミット
e26a4fa263
4 ファイル変更19 行追加14 行削除
  1. 3 11
      api/config/list.go
  2. 1 1
      api/sites/list.go
  3. 2 2
      api/sites/site.go
  4. 13 0
      app/components.d.ts

+ 3 - 11
api/config/list.go

@@ -4,7 +4,6 @@ import (
 	"net/http"
 	"os"
 	"path/filepath"
-	"strconv"
 	"strings"
 
 	"github.com/0xJacky/Nginx-UI/internal/config"
@@ -12,6 +11,7 @@ import (
 	"github.com/0xJacky/Nginx-UI/internal/nginx"
 	"github.com/0xJacky/Nginx-UI/model"
 	"github.com/gin-gonic/gin"
+	"github.com/spf13/cast"
 	"github.com/uozi-tech/cosy"
 )
 
@@ -41,7 +41,7 @@ func GetConfigs(c *gin.Context) {
 	search := c.Query("search")
 	sortBy := c.DefaultQuery("sort_by", "name")
 	order := c.DefaultQuery("order", "asc")
-	namespaceIDStr := c.Query("env_group_id")
+	namespaceId := cast.ToUint64(c.Query("namespace_id"))
 
 	// Get directory parameter
 	encodedDir := c.DefaultQuery("dir", "/")
@@ -55,20 +55,12 @@ func GetConfigs(c *gin.Context) {
 		dir = strings.TrimSuffix(dir, "/")
 	}
 
-	// Parse env_group_id
-	var namespaceID uint64
-	if namespaceIDStr != "" {
-		if id, err := strconv.ParseUint(namespaceIDStr, 10, 64); err == nil {
-			namespaceID = id
-		}
-	}
-
 	// Create options
 	options := &config.GenericListOptions{
 		Search:      search,
 		OrderBy:     sortBy,
 		Sort:        order,
-		NamespaceID: namespaceID,
+		NamespaceID: namespaceId,
 		IncludeDirs: true, // Keep directories for the list.go endpoint
 	}
 

+ 1 - 1
api/sites/list.go

@@ -18,7 +18,7 @@ func GetSiteList(c *gin.Context) {
 		Status:      c.Query("status"),
 		OrderBy:     c.Query("sort_by"),
 		Sort:        c.DefaultQuery("order", "desc"),
-		NamespaceID: cast.ToUint64(c.Query("env_group_id")),
+		NamespaceID: cast.ToUint64(c.Query("namespace_id")),
 	}
 
 	// Get sites from database

+ 2 - 2
api/sites/site.go

@@ -132,7 +132,7 @@ func SaveSite(c *gin.Context) {
 
 	var json struct {
 		Content     string   `json:"content" binding:"required"`
-		NamespaceID uint64   `json:"env_group_id"`
+		NamespaceID uint64   `json:"namespace_id"`
 		SyncNodeIDs []uint64 `json:"sync_node_ids"`
 		Overwrite   bool     `json:"overwrite"`
 		PostAction  string   `json:"post_action"`
@@ -237,7 +237,7 @@ func DeleteSite(c *gin.Context) {
 
 func BatchUpdateSites(c *gin.Context) {
 	cosy.Core[model.Site](c).SetValidRules(gin.H{
-		"env_group_id": "required",
+		"namespace_id": "required",
 	}).SetItemKey("path").
 		BeforeExecuteHook(func(ctx *cosy.Ctx[model.Site]) {
 			effectedPath := make([]string, len(ctx.BatchEffectedIDs))

+ 13 - 0
app/components.d.ts

@@ -10,20 +10,30 @@ declare module 'vue' {
   export interface GlobalComponents {
     AAlert: typeof import('ant-design-vue/es')['Alert']
     AApp: typeof import('ant-design-vue/es')['App']
+    AAutoComplete: typeof import('ant-design-vue/es')['AutoComplete']
     AAvatar: typeof import('ant-design-vue/es')['Avatar']
     ABadge: typeof import('ant-design-vue/es')['Badge']
     ABreadcrumb: typeof import('ant-design-vue/es')['Breadcrumb']
     ABreadcrumbItem: typeof import('ant-design-vue/es')['BreadcrumbItem']
     AButton: typeof import('ant-design-vue/es')['Button']
     ACard: typeof import('ant-design-vue/es')['Card']
+    ACheckbox: typeof import('ant-design-vue/es')['Checkbox']
+    ACheckboxGroup: typeof import('ant-design-vue/es')['CheckboxGroup']
     ACol: typeof import('ant-design-vue/es')['Col']
+    ACollapse: typeof import('ant-design-vue/es')['Collapse']
+    ACollapsePanel: typeof import('ant-design-vue/es')['CollapsePanel']
+    AComment: typeof import('ant-design-vue/es')['Comment']
     AConfigProvider: typeof import('ant-design-vue/es')['ConfigProvider']
     ADivider: typeof import('ant-design-vue/es')['Divider']
     ADrawer: typeof import('ant-design-vue/es')['Drawer']
+    ADropdown: typeof import('ant-design-vue/es')['Dropdown']
+    AEmpty: typeof import('ant-design-vue/es')['Empty']
     AForm: typeof import('ant-design-vue/es')['Form']
     AFormItem: typeof import('ant-design-vue/es')['FormItem']
     AInput: typeof import('ant-design-vue/es')['Input']
     AInputGroup: typeof import('ant-design-vue/es')['InputGroup']
+    AInputNumber: typeof import('ant-design-vue/es')['InputNumber']
+    AInputPassword: typeof import('ant-design-vue/es')['InputPassword']
     ALayout: typeof import('ant-design-vue/es')['Layout']
     ALayoutContent: typeof import('ant-design-vue/es')['LayoutContent']
     ALayoutFooter: typeof import('ant-design-vue/es')['LayoutFooter']
@@ -33,6 +43,7 @@ declare module 'vue' {
     AListItem: typeof import('ant-design-vue/es')['ListItem']
     AListItemMeta: typeof import('ant-design-vue/es')['ListItemMeta']
     AMenu: typeof import('ant-design-vue/es')['Menu']
+    AMenuDivider: typeof import('ant-design-vue/es')['MenuDivider']
     AMenuItem: typeof import('ant-design-vue/es')['MenuItem']
     AModal: typeof import('ant-design-vue/es')['Modal']
     APopconfirm: typeof import('ant-design-vue/es')['Popconfirm']
@@ -47,9 +58,11 @@ declare module 'vue' {
     AStatistic: typeof import('ant-design-vue/es')['Statistic']
     ASubMenu: typeof import('ant-design-vue/es')['SubMenu']
     ASwitch: typeof import('ant-design-vue/es')['Switch']
+    ATable: typeof import('ant-design-vue/es')['Table']
     ATabPane: typeof import('ant-design-vue/es')['TabPane']
     ATabs: typeof import('ant-design-vue/es')['Tabs']
     ATag: typeof import('ant-design-vue/es')['Tag']
+    ATextarea: typeof import('ant-design-vue/es')['Textarea']
     ATooltip: typeof import('ant-design-vue/es')['Tooltip']
     ATypographyText: typeof import('ant-design-vue/es')['TypographyText']
     ATypographyTitle: typeof import('ant-design-vue/es')['TypographyTitle']