sdd
This commit is contained in:
64
cmd/create_user/main.go
Normal file
64
cmd/create_user/main.go
Normal file
@@ -0,0 +1,64 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"flag"
|
||||
"fmt"
|
||||
"os"
|
||||
"stalwart_client/pkg/api"
|
||||
)
|
||||
|
||||
func main() {
|
||||
// 解析命令行参数
|
||||
emailPtr := flag.String("e", "", "邮箱地址")
|
||||
passwordPtr := flag.String("p", "", "用户密码")
|
||||
descriptionPtr := flag.String("d", "", "用户描述")
|
||||
quotaPtr := flag.Int64("q", 0, "邮箱配额(字节)")
|
||||
authTypePtr := flag.String("a", "basic", "认证方式: basic(基本认证)或apikey(API Key认证)")
|
||||
authUserPtr := flag.String("u", "", "基本认证用户名")
|
||||
authPassPtr := flag.String("P", "", "基本认证密码")
|
||||
apiKeyPtr := flag.String("k", "", "API Key")
|
||||
configPtr := flag.String("c", "", "配置文件路径")
|
||||
|
||||
flag.Parse()
|
||||
|
||||
// 加载配置
|
||||
config, err := api.LoadConfig(*configPtr)
|
||||
if err != nil {
|
||||
fmt.Printf("加载配置失败: %v\n", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
// 创建客户端
|
||||
client := api.NewClient(config)
|
||||
|
||||
// 确定认证类型
|
||||
var authType api.AuthType
|
||||
if *authTypePtr == "apikey" {
|
||||
authType = api.APIKeyAuth
|
||||
} else {
|
||||
authType = api.BasicAuth
|
||||
}
|
||||
|
||||
// 创建用户
|
||||
userID, username, email, password, err := client.CreateEmailUser(
|
||||
*emailPtr,
|
||||
*passwordPtr,
|
||||
*descriptionPtr,
|
||||
*quotaPtr,
|
||||
authType,
|
||||
*authUserPtr,
|
||||
*authPassPtr,
|
||||
*apiKeyPtr,
|
||||
)
|
||||
|
||||
if err != nil {
|
||||
fmt.Printf("创建用户失败: %v\n", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
// 打印结果
|
||||
success := api.PrintUserResult(userID, username, email, password)
|
||||
if !success {
|
||||
os.Exit(1)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user