From 908a682fcf3bbc48db75099f636d627616757b24 Mon Sep 17 00:00:00 2001 From: Jesse Hallam Date: Fri, 20 Jul 2018 12:03:08 -0400 Subject: make GetChannelByName take teamId first (#9134) * make GetChannelByName take teamId first I think it is more natural to accept `teamId`, then `channelName`, given the pattern followed by other Plugin API methods and even the SQL Store itself. The App layer seems unusual in accepting `channelName` first. This also re-generates the mocks fixing the parameter order for the recently added `UserStatus` APIs. * add GetChannelByNameForTeamName --- plugin/api.go | 15 ++++++++------ plugin/client_rpc_generated.go | 36 +++++++++++++++++++++++++++++--- plugin/plugintest/api.go | 47 ++++++++++++++++++++++++++++++++---------- plugin/plugintest/hooks.go | 2 +- 4 files changed, 79 insertions(+), 21 deletions(-) (limited to 'plugin') diff --git a/plugin/api.go b/plugin/api.go index 70a3e7ab5..6d4976c4f 100644 --- a/plugin/api.go +++ b/plugin/api.go @@ -101,14 +101,17 @@ type API interface { // DeleteChannel deletes a channel. DeleteChannel(channelId string) *model.AppError - // GetChannels gets a list of all channels. + // GetPublicChannelsForTeam gets a list of all channels. GetPublicChannelsForTeam(teamId string, offset, limit int) (*model.ChannelList, *model.AppError) // GetChannel gets a channel. GetChannel(channelId string) (*model.Channel, *model.AppError) - // GetChannelByName gets a channel by its name. - GetChannelByName(name, teamId string) (*model.Channel, *model.AppError) + // GetChannelByName gets a channel by its name, given a team id. + GetChannelByName(teamId, name string) (*model.Channel, *model.AppError) + + // GetChannelByNameForTeamName gets a channel by its name, given a team name. + GetChannelByNameForTeamName(teamName, channelName string) (*model.Channel, *model.AppError) // GetDirectChannel gets a direct message channel. GetDirectChannel(userId1, userId2 string) (*model.Channel, *model.AppError) @@ -149,13 +152,13 @@ type API interface { // UpdatePost updates a post. UpdatePost(post *model.Post) (*model.Post, *model.AppError) - // Set will store a key-value pair, unique per plugin. + // KVSet will store a key-value pair, unique per plugin. KVSet(key string, value []byte) *model.AppError - // Get will retrieve a value based on the key. Returns nil for non-existent keys. + // KVGet will retrieve a value based on the key. Returns nil for non-existent keys. KVGet(key string) ([]byte, *model.AppError) - // Delete will remove a key-value pair. Returns nil for non-existent keys. + // KVDelete will remove a key-value pair. Returns nil for non-existent keys. KVDelete(key string) *model.AppError // PublishWebSocketEvent sends an event to WebSocket connections. diff --git a/plugin/client_rpc_generated.go b/plugin/client_rpc_generated.go index a96ff33e5..9f25e1478 100644 --- a/plugin/client_rpc_generated.go +++ b/plugin/client_rpc_generated.go @@ -1286,8 +1286,8 @@ type Z_GetChannelByNameReturns struct { B *model.AppError } -func (g *apiRPCClient) GetChannelByName(name, teamId string) (*model.Channel, *model.AppError) { - _args := &Z_GetChannelByNameArgs{name, teamId} +func (g *apiRPCClient) GetChannelByName(teamId, name string) (*model.Channel, *model.AppError) { + _args := &Z_GetChannelByNameArgs{teamId, name} _returns := &Z_GetChannelByNameReturns{} if err := g.client.Call("Plugin.GetChannelByName", _args, _returns); err != nil { g.log.Error("RPC call to GetChannelByName API failed.", mlog.Err(err)) @@ -1297,7 +1297,7 @@ func (g *apiRPCClient) GetChannelByName(name, teamId string) (*model.Channel, *m func (s *apiRPCServer) GetChannelByName(args *Z_GetChannelByNameArgs, returns *Z_GetChannelByNameReturns) error { if hook, ok := s.impl.(interface { - GetChannelByName(name, teamId string) (*model.Channel, *model.AppError) + GetChannelByName(teamId, name string) (*model.Channel, *model.AppError) }); ok { returns.A, returns.B = hook.GetChannelByName(args.A, args.B) } else { @@ -1306,6 +1306,36 @@ func (s *apiRPCServer) GetChannelByName(args *Z_GetChannelByNameArgs, returns *Z return nil } +type Z_GetChannelByNameForTeamNameArgs struct { + A string + B string +} + +type Z_GetChannelByNameForTeamNameReturns struct { + A *model.Channel + B *model.AppError +} + +func (g *apiRPCClient) GetChannelByNameForTeamName(teamName, channelName string) (*model.Channel, *model.AppError) { + _args := &Z_GetChannelByNameForTeamNameArgs{teamName, channelName} + _returns := &Z_GetChannelByNameForTeamNameReturns{} + if err := g.client.Call("Plugin.GetChannelByNameForTeamName", _args, _returns); err != nil { + g.log.Error("RPC call to GetChannelByNameForTeamName API failed.", mlog.Err(err)) + } + return _returns.A, _returns.B +} + +func (s *apiRPCServer) GetChannelByNameForTeamName(args *Z_GetChannelByNameForTeamNameArgs, returns *Z_GetChannelByNameForTeamNameReturns) error { + if hook, ok := s.impl.(interface { + GetChannelByNameForTeamName(teamName, channelName string) (*model.Channel, *model.AppError) + }); ok { + returns.A, returns.B = hook.GetChannelByNameForTeamName(args.A, args.B) + } else { + return fmt.Errorf("API GetChannelByNameForTeamName called but not implemented.") + } + return nil +} + type Z_GetDirectChannelArgs struct { A string B string diff --git a/plugin/plugintest/api.go b/plugin/plugintest/api.go index 06ab02560..473ef6d2b 100644 --- a/plugin/plugintest/api.go +++ b/plugin/plugintest/api.go @@ -1,4 +1,4 @@ -// Code generated by mockery v1.0.0 +// Code generated by mockery v1.0.0. DO NOT EDIT. // Regenerate this file using `make plugin-mocks`. @@ -308,13 +308,13 @@ func (_m *API) GetChannel(channelId string) (*model.Channel, *model.AppError) { return r0, r1 } -// GetChannelByName provides a mock function with given fields: name, teamId -func (_m *API) GetChannelByName(name string, teamId string) (*model.Channel, *model.AppError) { - ret := _m.Called(name, teamId) +// GetChannelByName provides a mock function with given fields: teamId, name +func (_m *API) GetChannelByName(teamId string, name string) (*model.Channel, *model.AppError) { + ret := _m.Called(teamId, name) var r0 *model.Channel if rf, ok := ret.Get(0).(func(string, string) *model.Channel); ok { - r0 = rf(name, teamId) + r0 = rf(teamId, name) } else { if ret.Get(0) != nil { r0 = ret.Get(0).(*model.Channel) @@ -323,7 +323,32 @@ func (_m *API) GetChannelByName(name string, teamId string) (*model.Channel, *mo var r1 *model.AppError if rf, ok := ret.Get(1).(func(string, string) *model.AppError); ok { - r1 = rf(name, teamId) + r1 = rf(teamId, name) + } else { + if ret.Get(1) != nil { + r1 = ret.Get(1).(*model.AppError) + } + } + + return r0, r1 +} + +// GetChannelByNameForTeamName provides a mock function with given fields: teamName, channelName +func (_m *API) GetChannelByNameForTeamName(teamName string, channelName string) (*model.Channel, *model.AppError) { + ret := _m.Called(teamName, channelName) + + var r0 *model.Channel + if rf, ok := ret.Get(0).(func(string, string) *model.Channel); ok { + r0 = rf(teamName, channelName) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*model.Channel) + } + } + + var r1 *model.AppError + if rf, ok := ret.Get(1).(func(string, string) *model.AppError); ok { + r1 = rf(teamName, channelName) } else { if ret.Get(1) != nil { r1 = ret.Get(1).(*model.AppError) @@ -1067,13 +1092,13 @@ func (_m *API) UpdateUser(user *model.User) (*model.User, *model.AppError) { return r0, r1 } -// UpdateUserStatus provides a mock function with given fields: status, userId -func (_m *API) UpdateUserStatus(status string, userId string) (*model.Status, *model.AppError) { - ret := _m.Called(status, userId) +// UpdateUserStatus provides a mock function with given fields: userId, status +func (_m *API) UpdateUserStatus(userId string, status string) (*model.Status, *model.AppError) { + ret := _m.Called(userId, status) var r0 *model.Status if rf, ok := ret.Get(0).(func(string, string) *model.Status); ok { - r0 = rf(status, userId) + r0 = rf(userId, status) } else { if ret.Get(0) != nil { r0 = ret.Get(0).(*model.Status) @@ -1082,7 +1107,7 @@ func (_m *API) UpdateUserStatus(status string, userId string) (*model.Status, *m var r1 *model.AppError if rf, ok := ret.Get(1).(func(string, string) *model.AppError); ok { - r1 = rf(status, userId) + r1 = rf(userId, status) } else { if ret.Get(1) != nil { r1 = ret.Get(1).(*model.AppError) diff --git a/plugin/plugintest/hooks.go b/plugin/plugintest/hooks.go index 61268c299..d88792f58 100644 --- a/plugin/plugintest/hooks.go +++ b/plugin/plugintest/hooks.go @@ -1,4 +1,4 @@ -// Code generated by mockery v1.0.0 +// Code generated by mockery v1.0.0. DO NOT EDIT. // Regenerate this file using `make plugin-mocks`. -- cgit v1.2.3-1-g7c22