* Add SendMail to plugin API

* Update per feedback

Co-Authored-By: cpanato <ctadeu@gmail.com>
Этот коммит содержится в:
Carlos Tadeu Panato Junior
2019-01-10 10:06:14 +01:00
коммит произвёл GitHub
родитель 1a3ccaf305
Коммит f8b87cbe2d
6 изменённых файлов: 112 добавлений и 0 удалений

Просмотреть файл

@@ -3556,3 +3556,33 @@ func (s *apiRPCServer) LogWarn(args *Z_LogWarnArgs, returns *Z_LogWarnReturns) e
}
return nil
}
type Z_SendMailArgs struct {
A string
B string
C string
}
type Z_SendMailReturns struct {
A *model.AppError
}
func (g *apiRPCClient) SendMail(to, subject, htmlBody string) *model.AppError {
_args := &Z_SendMailArgs{to, subject, htmlBody}
_returns := &Z_SendMailReturns{}
if err := g.client.Call("Plugin.SendMail", _args, _returns); err != nil {
log.Printf("RPC call to SendMail API failed: %s", err.Error())
}
return _returns.A
}
func (s *apiRPCServer) SendMail(args *Z_SendMailArgs, returns *Z_SendMailReturns) error {
if hook, ok := s.impl.(interface {
SendMail(to, subject, htmlBody string) *model.AppError
}); ok {
returns.A = hook.SendMail(args.A, args.B, args.C)
} else {
return encodableError(fmt.Errorf("API SendMail called but not implemented."))
}
return nil
}