fake commit (uncomplete)

This commit is contained in:
liugq 2023-07-21 16:17:16 +08:00
parent f1cb35e57e
commit 4ffd8de0a2
4 changed files with 58 additions and 44 deletions

View File

@ -4,7 +4,6 @@ import (
"context" "context"
"errors" "errors"
_ "expvar" _ "expvar"
"infini.sh/console/plugin/api/email"
_ "time/tzdata" _ "time/tzdata"
log "github.com/cihub/seelog" log "github.com/cihub/seelog"
@ -152,13 +151,6 @@ func main() {
} }
return err return err
}) })
task1.RunWithinGroup("initialize_email_server", func(ctx context.Context) error {
err := email.InitEmailServer()
if err != nil {
log.Errorf("init email server error: %v", err)
}
return err
})
} }
if !global.Env().SetupRequired() { if !global.Env().SetupRequired() {

View File

@ -5,12 +5,7 @@
package email package email
import ( import (
"infini.sh/console/model"
"infini.sh/console/plugin/api/email/common"
"infini.sh/framework/core/api" "infini.sh/framework/core/api"
"infini.sh/framework/core/orm"
"infini.sh/framework/core/util"
log "src/github.com/cihub/seelog"
) )
type EmailAPI struct { type EmailAPI struct {
@ -26,31 +21,31 @@ func InitAPI() {
api.HandleAPIMethod(api.GET, "/email/server/_search", email.searchEmailServer) api.HandleAPIMethod(api.GET, "/email/server/_search", email.searchEmailServer)
} }
func InitEmailServer() error { //func InitEmailServer() error {
q := orm.Query{ // q := orm.Query{
Size: 10, // Size: 10,
} // }
q.Conds = orm.And(orm.Eq("enabled", true)) // q.Conds = orm.And(orm.Eq("enabled", true))
err, result := orm.Search(model.EmailServer{}, &q ) // err, result := orm.Search(model.EmailServer{}, &q )
if err != nil { // if err != nil {
return err // return err
} // }
if len(result.Result) == 0 { // if len(result.Result) == 0 {
return nil // return nil
} // }
for _, row := range result.Result { // for _, row := range result.Result {
emailServer := model.EmailServer{} // emailServer := model.EmailServer{}
buf := util.MustToJSONBytes(row) // buf := util.MustToJSONBytes(row)
util.MustFromJSONBytes(buf, &emailServer) // util.MustFromJSONBytes(buf, &emailServer)
err = emailServer.Validate(false) // err = emailServer.Validate(false)
if err != nil { // if err != nil {
log.Error(err) // log.Error(err)
continue // continue
} // }
err = common.StartEmailServer(&emailServer) // err = common.StartEmailServer(&emailServer)
if err != nil { // if err != nil {
log.Error(err) // log.Error(err)
} // }
} // }
return nil // return nil
} //}

View File

@ -8,19 +8,44 @@ import (
"fmt" "fmt"
"infini.sh/console/model" "infini.sh/console/model"
"infini.sh/framework/core/global" "infini.sh/framework/core/global"
"infini.sh/framework/core/orm"
"infini.sh/framework/core/util" "infini.sh/framework/core/util"
"os" "os"
"path" "path"
) )
func StartEmailServer(serv *model.EmailServer) error { const emailServerConfigFile = "send_email.yml"
func RefreshEmailServer() error {
q := orm.Query{
Size: 10,
}
q.Conds = orm.And(orm.Eq("enabled", true))
err, result := orm.Search(model.EmailServer{}, &q )
if err != nil {
return err
}
if len(result.Result) == 0 {
//todo delete email server config file
return nil
}
servers := map[string]model.EmailServer{}
for _, row := range result.Result {
emailServer := model.EmailServer{}
buf := util.MustToJSONBytes(row)
util.MustFromJSONBytes(buf, &emailServer)
err = emailServer.Validate(false)
if err != nil {
return err
}
servers[emailServer.ID] = emailServer
}
pipeCfgStr := GeneratePipelineConfig(serv) pipeCfgStr := GeneratePipelineConfig(serv)
//cfg, err := yaml.NewConfig([]byte(pipeCfgStr)) //cfg, err := yaml.NewConfig([]byte(pipeCfgStr))
//if err != nil { //if err != nil {
// return fmt.Errorf("new config error: %w", err) // return fmt.Errorf("new config error: %w", err)
//} //}
cfgDir := global.Env().GetConfigDir() cfgDir := global.Env().GetConfigDir()
sendEmailCfgFile := path.Join(cfgDir, "send_email.yml") sendEmailCfgFile := path.Join(cfgDir, emailServerConfigFile)
_, err := util.FilePutContent(sendEmailCfgFile, pipeCfgStr) _, err := util.FilePutContent(sendEmailCfgFile, pipeCfgStr)
return err return err
//pipeCfg := pipeline.PipelineConfigV2{} //pipeCfg := pipeline.PipelineConfigV2{}

View File

@ -64,7 +64,9 @@ func (h *EmailAPI) createEmailServer(w http.ResponseWriter, req *http.Request, p
return return
} }
err = orm.Create(nil, obj) err = orm.Create(&orm.Context{
Refresh: "wait_for",
}, obj)
if err != nil { if err != nil {
h.WriteError(w, err.Error(), http.StatusInternalServerError) h.WriteError(w, err.Error(), http.StatusInternalServerError)
log.Error(err) log.Error(err)