【调整】禁止在同一个ca下添加相同的邮箱

1.1.0
v-me-50 2025-09-18 11:12:54 +08:00
parent 5be39aeb1b
commit ee0a37fdf6
1 changed files with 11 additions and 1 deletions

View File

@ -146,6 +146,16 @@ func AddAccount(email, ca, Kid, HmacEncoded, CADirURL string) error {
} else if ca == "custom" && CADirURL == "" { } else if ca == "custom" && CADirURL == "" {
return fmt.Errorf("CADirURL is required for custom CA") return fmt.Errorf("CADirURL is required for custom CA")
} }
// Check if account already exists
data, err := db.Where(`email=? and type=?`, []interface{}{email, ca}).Select()
if err != nil {
return fmt.Errorf("failed to query account: %w", err)
}
if len(data) > 0 {
return fmt.Errorf("当前ca已存在相同的邮箱请勿重复添加")
}
account := map[string]interface{}{ account := map[string]interface{}{
"email": email, "email": email,
"type": ca, "type": ca,
@ -229,7 +239,7 @@ func GetAccountList(search, ca string, p, limit int64) ([]map[string]interface{}
} }
} }
count, err := db.Where(whereSql, whereArgs).Count() count, err := db.Where(whereSql, whereArgs).Count()
data, err := db.Where(whereSql, whereArgs).Limit(limits).Select() data, err := db.Where(whereSql, whereArgs).Order("create_time", "desc").Limit(limits).Select()
if err != nil { if err != nil {
return nil, 0, fmt.Errorf("failed to get account list: %w", err) return nil, 0, fmt.Errorf("failed to get account list: %w", err)
} }