fake commit (uncomplete)
This commit is contained in:
parent
f1cb35e57e
commit
4ffd8de0a2
8
main.go
8
main.go
|
@ -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() {
|
||||||
|
|
|
@ -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
|
||||||
}
|
//}
|
|
@ -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{}
|
||||||
|
|
|
@ -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)
|
||||||
|
|
Loading…
Reference in New Issue