Files
panel/internal/http/request/database.go
T
耗子 c24fa4580e fix: 数据库防止酒吧点炒饭
数据库名和用户名校验正则禁止首位为数字,因为数据库不接受库名/用户名以数字开头。

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 14:51:14 +08:00

28 lines
1.2 KiB
Go

package request
type DatabaseList struct {
Paginate
Type string `form:"type" json:"type" query:"type"`
}
type DatabaseCreate struct {
ServerID uint `form:"server_id" json:"server_id" validate:"required|exists:database_servers,id"`
Name string `form:"name" json:"name" validate:"required|regex:^[a-zA-Z_-][a-zA-Z0-9_-]*$"`
CreateUser bool `form:"create_user" json:"create_user"`
Username string `form:"username" json:"username" validate:"requiredIf:CreateUser,true|not_in:root,admin|regex:^[a-zA-Z_-][a-zA-Z0-9_-]*$"`
Password string `form:"password" json:"password" validate:"requiredIf:CreateUser,true"`
Host string `form:"host" json:"host"`
Comment string `form:"comment" json:"comment"`
}
type DatabaseDelete struct {
ServerID uint `form:"server_id" json:"server_id" validate:"required|exists:database_servers,id"`
Name string `form:"name" json:"name" validate:"required|regex:^[a-zA-Z_-][a-zA-Z0-9_-]*$"`
}
type DatabaseComment struct {
ServerID uint `form:"server_id" json:"server_id" validate:"required|exists:database_servers,id"`
Name string `form:"name" json:"name" validate:"required|regex:^[a-zA-Z_-][a-zA-Z0-9_-]*$"`
Comment string `form:"comment" json:"comment"`
}