diff options
author | Joram Wilander <jwawilander@gmail.com> | 2017-01-13 13:53:37 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-01-13 13:53:37 -0500 |
commit | 97558f6a6ec4c53fa69035fb430ead209d9c222d (patch) | |
tree | 6fc57f5b75b15a025348c6e295cea6aedb9e69ae /api/webhook.go | |
parent | 07bad4d6d518a9012a20fec8309cd625f57c7a8c (diff) | |
download | chat-97558f6a6ec4c53fa69035fb430ead209d9c222d.tar.gz chat-97558f6a6ec4c53fa69035fb430ead209d9c222d.tar.bz2 chat-97558f6a6ec4c53fa69035fb430ead209d9c222d.zip |
PLT-4938 Add app package and move logic over from api package (#4931)
* Add app package and move logic over from api package
* Change app package functions to return errors
* Move non-api tests into app package
* Fix merge
Diffstat (limited to 'api/webhook.go')
-rw-r--r-- | api/webhook.go | 45 |
1 files changed, 23 insertions, 22 deletions
diff --git a/api/webhook.go b/api/webhook.go index 8a4263533..32c6d80b9 100644 --- a/api/webhook.go +++ b/api/webhook.go @@ -11,6 +11,7 @@ import ( l4g "github.com/alecthomas/log4go" "github.com/gorilla/mux" + "github.com/mattermost/platform/app" "github.com/mattermost/platform/model" "github.com/mattermost/platform/store" "github.com/mattermost/platform/utils" @@ -31,7 +32,7 @@ func InitWebhook() { BaseRoutes.Hooks.Handle("/{id:[A-Za-z0-9]+}", ApiAppHandler(incomingWebhook)).Methods("POST") // Old route. Remove eventually. - mr := Srv.Router + mr := app.Srv.Router mr.Handle("/hooks/{id:[A-Za-z0-9]+}", ApiAppHandler(incomingWebhook)).Methods("POST") } @@ -55,7 +56,7 @@ func createIncomingHook(c *Context, w http.ResponseWriter, r *http.Request) { return } - cchan := Srv.Store.Channel().Get(hook.ChannelId, true) + cchan := app.Srv.Store.Channel().Get(hook.ChannelId, true) hook.UserId = c.Session.UserId hook.TeamId = c.TeamId @@ -73,7 +74,7 @@ func createIncomingHook(c *Context, w http.ResponseWriter, r *http.Request) { return } - if result := <-Srv.Store.Webhook().SaveIncoming(hook); result.Err != nil { + if result := <-app.Srv.Store.Webhook().SaveIncoming(hook); result.Err != nil { c.Err = result.Err return } else { @@ -106,7 +107,7 @@ func deleteIncomingHook(c *Context, w http.ResponseWriter, r *http.Request) { return } - if result := <-Srv.Store.Webhook().GetIncoming(id); result.Err != nil { + if result := <-app.Srv.Store.Webhook().GetIncoming(id); result.Err != nil { c.Err = result.Err return } else { @@ -117,7 +118,7 @@ func deleteIncomingHook(c *Context, w http.ResponseWriter, r *http.Request) { } } - if err := (<-Srv.Store.Webhook().DeleteIncoming(id, model.GetMillis())).Err; err != nil { + if err := (<-app.Srv.Store.Webhook().DeleteIncoming(id, model.GetMillis())).Err; err != nil { c.Err = err return } @@ -139,7 +140,7 @@ func getIncomingHooks(c *Context, w http.ResponseWriter, r *http.Request) { return } - if result := <-Srv.Store.Webhook().GetIncomingByTeam(c.TeamId); result.Err != nil { + if result := <-app.Srv.Store.Webhook().GetIncomingByTeam(c.TeamId); result.Err != nil { c.Err = result.Err return } else { @@ -174,7 +175,7 @@ func createOutgoingHook(c *Context, w http.ResponseWriter, r *http.Request) { hook.TeamId = c.TeamId if len(hook.ChannelId) != 0 { - cchan := Srv.Store.Channel().Get(hook.ChannelId, true) + cchan := app.Srv.Store.Channel().Get(hook.ChannelId, true) var channel *model.Channel if result := <-cchan; result.Err != nil { @@ -200,7 +201,7 @@ func createOutgoingHook(c *Context, w http.ResponseWriter, r *http.Request) { return } - if result := <-Srv.Store.Webhook().GetOutgoingByTeam(c.TeamId); result.Err != nil { + if result := <-app.Srv.Store.Webhook().GetOutgoingByTeam(c.TeamId); result.Err != nil { c.Err = result.Err return } else { @@ -217,7 +218,7 @@ func createOutgoingHook(c *Context, w http.ResponseWriter, r *http.Request) { } } - if result := <-Srv.Store.Webhook().SaveOutgoing(hook); result.Err != nil { + if result := <-app.Srv.Store.Webhook().SaveOutgoing(hook); result.Err != nil { c.Err = result.Err return } else { @@ -240,7 +241,7 @@ func getOutgoingHooks(c *Context, w http.ResponseWriter, r *http.Request) { return } - if result := <-Srv.Store.Webhook().GetOutgoingByTeam(c.TeamId); result.Err != nil { + if result := <-app.Srv.Store.Webhook().GetOutgoingByTeam(c.TeamId); result.Err != nil { c.Err = result.Err return } else { @@ -272,7 +273,7 @@ func deleteOutgoingHook(c *Context, w http.ResponseWriter, r *http.Request) { return } - if result := <-Srv.Store.Webhook().GetOutgoing(id); result.Err != nil { + if result := <-app.Srv.Store.Webhook().GetOutgoing(id); result.Err != nil { c.Err = result.Err return } else { @@ -283,7 +284,7 @@ func deleteOutgoingHook(c *Context, w http.ResponseWriter, r *http.Request) { } } - if err := (<-Srv.Store.Webhook().DeleteOutgoing(id, model.GetMillis())).Err; err != nil { + if err := (<-app.Srv.Store.Webhook().DeleteOutgoing(id, model.GetMillis())).Err; err != nil { c.Err = err return } @@ -316,7 +317,7 @@ func regenOutgoingHookToken(c *Context, w http.ResponseWriter, r *http.Request) } var hook *model.OutgoingWebhook - if result := <-Srv.Store.Webhook().GetOutgoing(id); result.Err != nil { + if result := <-app.Srv.Store.Webhook().GetOutgoing(id); result.Err != nil { c.Err = result.Err return } else { @@ -331,7 +332,7 @@ func regenOutgoingHookToken(c *Context, w http.ResponseWriter, r *http.Request) hook.Token = model.NewId() - if result := <-Srv.Store.Webhook().UpdateOutgoing(hook); result.Err != nil { + if result := <-app.Srv.Store.Webhook().UpdateOutgoing(hook); result.Err != nil { c.Err = result.Err return } else { @@ -349,7 +350,7 @@ func incomingWebhook(c *Context, w http.ResponseWriter, r *http.Request) { params := mux.Vars(r) id := params["id"] - hchan := Srv.Store.Webhook().GetIncoming(id) + hchan := app.Srv.Store.Webhook().GetIncoming(id) r.ParseForm() @@ -434,7 +435,7 @@ func incomingWebhook(c *Context, w http.ResponseWriter, r *http.Request) { if len(channelName) != 0 { if channelName[0] == '@' { - if result := <-Srv.Store.User().GetByUsername(channelName[1:]); result.Err != nil { + if result := <-app.Srv.Store.User().GetByUsername(channelName[1:]); result.Err != nil { c.Err = model.NewLocAppError("incomingWebhook", "web.incoming_webhook.user.app_error", nil, "err="+result.Err.Message) return } else { @@ -445,9 +446,9 @@ func incomingWebhook(c *Context, w http.ResponseWriter, r *http.Request) { channelName = channelName[1:] } - cchan = Srv.Store.Channel().GetByName(hook.TeamId, channelName) + cchan = app.Srv.Store.Channel().GetByName(hook.TeamId, channelName) } else { - cchan = Srv.Store.Channel().Get(hook.ChannelId, true) + cchan = app.Srv.Store.Channel().Get(hook.ChannelId, true) } overrideUsername := parsedRequest.Username @@ -455,14 +456,14 @@ func incomingWebhook(c *Context, w http.ResponseWriter, r *http.Request) { result := <-cchan if result.Err != nil && result.Err.Id == store.MISSING_CHANNEL_ERROR && directUserId != "" { - newChanResult := <-Srv.Store.Channel().CreateDirectChannel(directUserId, hook.UserId) + newChanResult := <-app.Srv.Store.Channel().CreateDirectChannel(directUserId, hook.UserId) if newChanResult.Err != nil { c.Err = model.NewLocAppError("incomingWebhook", "web.incoming_webhook.channel.app_error", nil, "err="+newChanResult.Err.Message) return } else { channel = newChanResult.Data.(*model.Channel) - InvalidateCacheForUser(directUserId) - InvalidateCacheForUser(hook.UserId) + app.InvalidateCacheForUser(directUserId) + app.InvalidateCacheForUser(hook.UserId) } } else if result.Err != nil { c.Err = model.NewLocAppError("incomingWebhook", "web.incoming_webhook.channel.app_error", nil, "err="+result.Err.Message) @@ -490,7 +491,7 @@ func incomingWebhook(c *Context, w http.ResponseWriter, r *http.Request) { } c.Err = nil - if _, err := CreateWebhookPost(c, channel.Id, text, overrideUsername, overrideIconUrl, parsedRequest.Props, webhookType); err != nil { + if _, err := app.CreateWebhookPost(hook.UserId, hook.TeamId, channel.Id, text, overrideUsername, overrideIconUrl, parsedRequest.Props, webhookType); err != nil { c.Err = err return } |