summaryrefslogtreecommitdiffstats
path: root/plugin
diff options
context:
space:
mode:
authorMartin Kraft <mkraft@users.noreply.github.com>2018-07-30 15:06:08 -0400
committerGitHub <noreply@github.com>2018-07-30 15:06:08 -0400
commit5872bf9c2f9b81c7aad761d40a6970f6267f1424 (patch)
tree2f850c0678f9fbd8979d41cb758503ca6cb1a2d7 /plugin
parent65cd447a61efa852da2c0e7db25f385c2436e236 (diff)
downloadchat-5872bf9c2f9b81c7aad761d40a6970f6267f1424.tar.gz
chat-5872bf9c2f9b81c7aad761d40a6970f6267f1424.tar.bz2
chat-5872bf9c2f9b81c7aad761d40a6970f6267f1424.zip
Pr 9039 (#9187)
* MM-11065: Allow to search and get archived channels from the API * Fixing more tests * Add some unit tests * Add includeDeleted parameter to session permissions check function * More test fixing * Adding archive channels list in channels search * Add restriction for archived channel edition * Reverting permissions checks modification * Changed the query parameter to include_deleted * Enable search archive channels as true by default * Adding tests for verify search on deleted channels * Allowing to override archive channels during the imports * Fixed test * Search in archive channels from the API must be explicitly requested * Removing includeDeleted parameter from GetChannelByName and GetChannelByNameForTeam * Back to ViewArchivedChannels config * Fixing tests * Reverting GetChannelByName parameter * Add include deleted parameter on GetChannel functions in plugins api * Fixing tests
Diffstat (limited to 'plugin')
-rw-r--r--plugin/api.go4
-rw-r--r--plugin/client_rpc_generated.go18
-rw-r--r--plugin/example_help_test.go2
-rw-r--r--plugin/plugintest/api.go28
4 files changed, 27 insertions, 25 deletions
diff --git a/plugin/api.go b/plugin/api.go
index 6d4976c4f..0b413d4d1 100644
--- a/plugin/api.go
+++ b/plugin/api.go
@@ -108,10 +108,10 @@ type API interface {
GetChannel(channelId string) (*model.Channel, *model.AppError)
// GetChannelByName gets a channel by its name, given a team id.
- GetChannelByName(teamId, name string) (*model.Channel, *model.AppError)
+ GetChannelByName(teamId, name string, includeDeleted bool) (*model.Channel, *model.AppError)
// GetChannelByNameForTeamName gets a channel by its name, given a team name.
- GetChannelByNameForTeamName(teamName, channelName string) (*model.Channel, *model.AppError)
+ GetChannelByNameForTeamName(teamName, channelName string, includeDeleted bool) (*model.Channel, *model.AppError)
// GetDirectChannel gets a direct message channel.
GetDirectChannel(userId1, userId2 string) (*model.Channel, *model.AppError)
diff --git a/plugin/client_rpc_generated.go b/plugin/client_rpc_generated.go
index 9eac71be4..98b906186 100644
--- a/plugin/client_rpc_generated.go
+++ b/plugin/client_rpc_generated.go
@@ -1349,6 +1349,7 @@ func (s *apiRPCServer) GetChannel(args *Z_GetChannelArgs, returns *Z_GetChannelR
type Z_GetChannelByNameArgs struct {
A string
B string
+ C bool
}
type Z_GetChannelByNameReturns struct {
@@ -1356,8 +1357,8 @@ type Z_GetChannelByNameReturns struct {
B *model.AppError
}
-func (g *apiRPCClient) GetChannelByName(teamId, name string) (*model.Channel, *model.AppError) {
- _args := &Z_GetChannelByNameArgs{teamId, name}
+func (g *apiRPCClient) GetChannelByName(teamId, name string, includeDeleted bool) (*model.Channel, *model.AppError) {
+ _args := &Z_GetChannelByNameArgs{teamId, name, includeDeleted}
_returns := &Z_GetChannelByNameReturns{}
if err := g.client.Call("Plugin.GetChannelByName", _args, _returns); err != nil {
log.Printf("RPC call to GetChannelByName API failed: %s", err.Error())
@@ -1367,9 +1368,9 @@ func (g *apiRPCClient) GetChannelByName(teamId, name string) (*model.Channel, *m
func (s *apiRPCServer) GetChannelByName(args *Z_GetChannelByNameArgs, returns *Z_GetChannelByNameReturns) error {
if hook, ok := s.impl.(interface {
- GetChannelByName(teamId, name string) (*model.Channel, *model.AppError)
+ GetChannelByName(teamId, name string, includeDeleted bool) (*model.Channel, *model.AppError)
}); ok {
- returns.A, returns.B = hook.GetChannelByName(args.A, args.B)
+ returns.A, returns.B = hook.GetChannelByName(args.A, args.B, args.C)
} else {
return fmt.Errorf("API GetChannelByName called but not implemented.")
}
@@ -1379,6 +1380,7 @@ func (s *apiRPCServer) GetChannelByName(args *Z_GetChannelByNameArgs, returns *Z
type Z_GetChannelByNameForTeamNameArgs struct {
A string
B string
+ C bool
}
type Z_GetChannelByNameForTeamNameReturns struct {
@@ -1386,8 +1388,8 @@ type Z_GetChannelByNameForTeamNameReturns struct {
B *model.AppError
}
-func (g *apiRPCClient) GetChannelByNameForTeamName(teamName, channelName string) (*model.Channel, *model.AppError) {
- _args := &Z_GetChannelByNameForTeamNameArgs{teamName, channelName}
+func (g *apiRPCClient) GetChannelByNameForTeamName(teamName, channelName string, includeDeleted bool) (*model.Channel, *model.AppError) {
+ _args := &Z_GetChannelByNameForTeamNameArgs{teamName, channelName, includeDeleted}
_returns := &Z_GetChannelByNameForTeamNameReturns{}
if err := g.client.Call("Plugin.GetChannelByNameForTeamName", _args, _returns); err != nil {
log.Printf("RPC call to GetChannelByNameForTeamName API failed: %s", err.Error())
@@ -1397,9 +1399,9 @@ func (g *apiRPCClient) GetChannelByNameForTeamName(teamName, channelName string)
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)
+ GetChannelByNameForTeamName(teamName, channelName string, includeDeleted bool) (*model.Channel, *model.AppError)
}); ok {
- returns.A, returns.B = hook.GetChannelByNameForTeamName(args.A, args.B)
+ returns.A, returns.B = hook.GetChannelByNameForTeamName(args.A, args.B, args.C)
} else {
return fmt.Errorf("API GetChannelByNameForTeamName called but not implemented.")
}
diff --git a/plugin/example_help_test.go b/plugin/example_help_test.go
index 3f9be9a20..175b6588e 100644
--- a/plugin/example_help_test.go
+++ b/plugin/example_help_test.go
@@ -30,7 +30,7 @@ func (p *HelpPlugin) OnConfigurationChange() error {
return nil
}
- channel, err := p.API.GetChannelByName(p.ChannelName, team.Id)
+ channel, err := p.API.GetChannelByName(p.ChannelName, team.Id, false)
if err != nil {
p.API.LogError("failed to find channel", "channel_name", p.ChannelName)
return nil
diff --git a/plugin/plugintest/api.go b/plugin/plugintest/api.go
index 473ef6d2b..70e90df4b 100644
--- a/plugin/plugintest/api.go
+++ b/plugin/plugintest/api.go
@@ -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: teamId, name
-func (_m *API) GetChannelByName(teamId string, name string) (*model.Channel, *model.AppError) {
- ret := _m.Called(teamId, name)
+// GetChannelByName provides a mock function with given fields: teamId, name, includeDeleted
+func (_m *API) GetChannelByName(teamId string, name string, includeDeleted bool) (*model.Channel, *model.AppError) {
+ ret := _m.Called(teamId, name, includeDeleted)
var r0 *model.Channel
- if rf, ok := ret.Get(0).(func(string, string) *model.Channel); ok {
- r0 = rf(teamId, name)
+ if rf, ok := ret.Get(0).(func(string, string, bool) *model.Channel); ok {
+ r0 = rf(teamId, name, includeDeleted)
} else {
if ret.Get(0) != nil {
r0 = ret.Get(0).(*model.Channel)
@@ -322,8 +322,8 @@ func (_m *API) GetChannelByName(teamId string, name string) (*model.Channel, *mo
}
var r1 *model.AppError
- if rf, ok := ret.Get(1).(func(string, string) *model.AppError); ok {
- r1 = rf(teamId, name)
+ if rf, ok := ret.Get(1).(func(string, string, bool) *model.AppError); ok {
+ r1 = rf(teamId, name, includeDeleted)
} else {
if ret.Get(1) != nil {
r1 = ret.Get(1).(*model.AppError)
@@ -333,13 +333,13 @@ func (_m *API) GetChannelByName(teamId string, name string) (*model.Channel, *mo
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)
+// GetChannelByNameForTeamName provides a mock function with given fields: teamName, channelName, includeDeleted
+func (_m *API) GetChannelByNameForTeamName(teamName string, channelName string, includeDeleted bool) (*model.Channel, *model.AppError) {
+ ret := _m.Called(teamName, channelName, includeDeleted)
var r0 *model.Channel
- if rf, ok := ret.Get(0).(func(string, string) *model.Channel); ok {
- r0 = rf(teamName, channelName)
+ if rf, ok := ret.Get(0).(func(string, string, bool) *model.Channel); ok {
+ r0 = rf(teamName, channelName, includeDeleted)
} else {
if ret.Get(0) != nil {
r0 = ret.Get(0).(*model.Channel)
@@ -347,8 +347,8 @@ func (_m *API) GetChannelByNameForTeamName(teamName string, channelName string)
}
var r1 *model.AppError
- if rf, ok := ret.Get(1).(func(string, string) *model.AppError); ok {
- r1 = rf(teamName, channelName)
+ if rf, ok := ret.Get(1).(func(string, string, bool) *model.AppError); ok {
+ r1 = rf(teamName, channelName, includeDeleted)
} else {
if ret.Get(1) != nil {
r1 = ret.Get(1).(*model.AppError)