MM-63728: simplify category store with graphql gone (#30848)
* move category permissions to api In https://github.com/mattermost/mattermost/pull/21038, we changed the behaviour of the channel category store to filter out deleted teams and teams for which the user was not a member. This was necessary in part due to querying multiple teams via GraphQL. With GraphQL no longer supported, let's move the permissions to the API instead and remove the `JOIN` to filter out teams in the store. Note that we /don't/ prevent access to deleted teams. For better or worse, deleted teams remain largely accessible via other API endpoints anyway. * remove ExcludeTeam / GraphQL support As part of https://github.com/mattermost/mattermost/pull/20353, we added `ExcludeTeam` and the associated logic to support a GraphQL API. With GraphQL no longer supported, let's simplify this logic and remove the filtering and associated complexity. * Fix shadow variable declaration in channel_store_categories.go Fixed golangci-lint error by reusing existing err variable rather than shadowing it. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * fix build issue * Remove SidebarCategorySearchOpts and simplify API to use teamID string Per code review feedback, this change removes the SidebarCategorySearchOpts struct entirely since the Type field was never used in the store implementation. All methods now accept a simple teamID string parameter instead of the struct, which simplifies the API and makes the code clearer. Changes: - Remove SidebarCategorySearchOpts struct from store.go - Update CreateInitialSidebarCategories and GetSidebarCategories signatures - Update all implementations (sqlstore, retrylayer, timerlayer, mocks) - Update all callers to pass teamID string directly - Clean up unused imports 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com>
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
b69412d23f
Коммит
dcc72c4c61
@@ -63,12 +63,7 @@ func testCreateInitialSidebarCategories(t *testing.T, rctx request.CTX, ss store
|
||||
|
||||
team := setupTeam(t, rctx, ss, userID)
|
||||
|
||||
opts := &store.SidebarCategorySearchOpts{
|
||||
TeamID: team.Id,
|
||||
ExcludeTeam: false,
|
||||
}
|
||||
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, opts)
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, team.Id)
|
||||
assert.NoError(t, nErr)
|
||||
require.Len(t, res.Categories, 3)
|
||||
assert.Equal(t, model.SidebarCategoryFavorites, res.Categories[0].Type)
|
||||
@@ -86,15 +81,11 @@ func testCreateInitialSidebarCategories(t *testing.T, rctx request.CTX, ss store
|
||||
|
||||
team := setupTeam(t, rctx, ss, userID, userID2)
|
||||
|
||||
opts := &store.SidebarCategorySearchOpts{
|
||||
TeamID: team.Id,
|
||||
ExcludeTeam: false,
|
||||
}
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, opts)
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, team.Id)
|
||||
require.NoError(t, nErr)
|
||||
require.NotEmpty(t, res)
|
||||
|
||||
res, nErr = ss.Channel().CreateInitialSidebarCategories(rctx, userID2, opts)
|
||||
res, nErr = ss.Channel().CreateInitialSidebarCategories(rctx, userID2, team.Id)
|
||||
assert.NoError(t, nErr)
|
||||
assert.Len(t, res.Categories, 3)
|
||||
assert.Equal(t, model.SidebarCategoryFavorites, res.Categories[0].Type)
|
||||
@@ -112,19 +103,11 @@ func testCreateInitialSidebarCategories(t *testing.T, rctx request.CTX, ss store
|
||||
team := setupTeam(t, rctx, ss, userID)
|
||||
team2 := setupTeam(t, rctx, ss, userID)
|
||||
|
||||
opts := &store.SidebarCategorySearchOpts{
|
||||
TeamID: team.Id,
|
||||
ExcludeTeam: false,
|
||||
}
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, opts)
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, team.Id)
|
||||
require.NoError(t, nErr)
|
||||
require.NotEmpty(t, res)
|
||||
|
||||
opts = &store.SidebarCategorySearchOpts{
|
||||
TeamID: team2.Id,
|
||||
ExcludeTeam: false,
|
||||
}
|
||||
res, nErr = ss.Channel().CreateInitialSidebarCategories(rctx, userID, opts)
|
||||
res, nErr = ss.Channel().CreateInitialSidebarCategories(rctx, userID, team2.Id)
|
||||
assert.NoError(t, nErr)
|
||||
assert.Len(t, res.Categories, 3)
|
||||
assert.Equal(t, model.SidebarCategoryFavorites, res.Categories[0].Type)
|
||||
@@ -141,11 +124,7 @@ func testCreateInitialSidebarCategories(t *testing.T, rctx request.CTX, ss store
|
||||
|
||||
team := setupTeam(t, rctx, ss, userID)
|
||||
|
||||
opts := &store.SidebarCategorySearchOpts{
|
||||
TeamID: team.Id,
|
||||
ExcludeTeam: false,
|
||||
}
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, opts)
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, team.Id)
|
||||
require.NoError(t, nErr)
|
||||
require.NotEmpty(t, res)
|
||||
|
||||
@@ -154,7 +133,7 @@ func testCreateInitialSidebarCategories(t *testing.T, rctx request.CTX, ss store
|
||||
require.Equal(t, res, initialCategories)
|
||||
|
||||
// Calling CreateInitialSidebarCategories a second time shouldn't create any new categories
|
||||
res, nErr = ss.Channel().CreateInitialSidebarCategories(rctx, userID, opts)
|
||||
res, nErr = ss.Channel().CreateInitialSidebarCategories(rctx, userID, team.Id)
|
||||
assert.NoError(t, nErr)
|
||||
assert.NotEmpty(t, res)
|
||||
|
||||
@@ -176,11 +155,7 @@ func testCreateInitialSidebarCategories(t *testing.T, rctx request.CTX, ss store
|
||||
go func() {
|
||||
defer wg.Done()
|
||||
|
||||
opts := &store.SidebarCategorySearchOpts{
|
||||
TeamID: team.Id,
|
||||
ExcludeTeam: false,
|
||||
}
|
||||
_, _ = ss.Channel().CreateInitialSidebarCategories(rctx, userID, opts)
|
||||
_, _ = ss.Channel().CreateInitialSidebarCategories(rctx, userID, team.Id)
|
||||
}()
|
||||
}
|
||||
|
||||
@@ -234,11 +209,8 @@ func testCreateInitialSidebarCategories(t *testing.T, rctx request.CTX, ss store
|
||||
require.NoError(t, nErr)
|
||||
|
||||
// Create the categories
|
||||
opts := &store.SidebarCategorySearchOpts{
|
||||
TeamID: team.Id,
|
||||
ExcludeTeam: false,
|
||||
}
|
||||
categories, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, opts)
|
||||
// Create the categories
|
||||
categories, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, team.Id)
|
||||
require.NoError(t, nErr)
|
||||
require.Len(t, categories.Categories, 3)
|
||||
assert.Equal(t, model.SidebarCategoryFavorites, categories.Categories[0].Type)
|
||||
@@ -303,11 +275,8 @@ func testCreateInitialSidebarCategories(t *testing.T, rctx request.CTX, ss store
|
||||
require.NoError(t, nErr)
|
||||
|
||||
// Create the categories
|
||||
opts := &store.SidebarCategorySearchOpts{
|
||||
TeamID: team.Id,
|
||||
ExcludeTeam: false,
|
||||
}
|
||||
categories, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, opts)
|
||||
// Create the categories
|
||||
categories, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, team.Id)
|
||||
require.NoError(t, nErr)
|
||||
require.Len(t, categories.Categories, 3)
|
||||
assert.Equal(t, model.SidebarCategoryFavorites, categories.Categories[0].Type)
|
||||
@@ -371,11 +340,8 @@ func testCreateInitialSidebarCategories(t *testing.T, rctx request.CTX, ss store
|
||||
require.NoError(t, err)
|
||||
|
||||
// Create the categories
|
||||
opts := &store.SidebarCategorySearchOpts{
|
||||
TeamID: team.Id,
|
||||
ExcludeTeam: false,
|
||||
}
|
||||
categories, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, opts)
|
||||
// Create the categories
|
||||
categories, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, team.Id)
|
||||
require.NoError(t, nErr)
|
||||
require.Len(t, categories.Categories, 3)
|
||||
assert.Equal(t, model.SidebarCategoryFavorites, categories.Categories[0].Type)
|
||||
@@ -420,11 +386,8 @@ func testCreateInitialSidebarCategories(t *testing.T, rctx request.CTX, ss store
|
||||
require.NoError(t, nErr)
|
||||
|
||||
// Create the categories
|
||||
opts := &store.SidebarCategorySearchOpts{
|
||||
TeamID: team.Id,
|
||||
ExcludeTeam: false,
|
||||
}
|
||||
categories, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, opts)
|
||||
// Create the categories
|
||||
categories, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, team.Id)
|
||||
require.NoError(t, nErr)
|
||||
require.Len(t, categories.Categories, 3)
|
||||
assert.Equal(t, model.SidebarCategoryFavorites, categories.Categories[0].Type)
|
||||
@@ -461,11 +424,7 @@ func testCreateSidebarCategory(t *testing.T, rctx request.CTX, ss store.Store) {
|
||||
|
||||
team := setupTeam(t, rctx, ss, userID)
|
||||
|
||||
opts := &store.SidebarCategorySearchOpts{
|
||||
TeamID: team.Id,
|
||||
ExcludeTeam: false,
|
||||
}
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, opts)
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, team.Id)
|
||||
require.NoError(t, nErr)
|
||||
require.NotEmpty(t, res)
|
||||
|
||||
@@ -491,11 +450,7 @@ func testCreateSidebarCategory(t *testing.T, rctx request.CTX, ss store.Store) {
|
||||
|
||||
team := setupTeam(t, rctx, ss, userID)
|
||||
|
||||
opts := &store.SidebarCategorySearchOpts{
|
||||
TeamID: team.Id,
|
||||
ExcludeTeam: false,
|
||||
}
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, opts)
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, team.Id)
|
||||
require.NoError(t, nErr)
|
||||
require.NotEmpty(t, res)
|
||||
|
||||
@@ -532,11 +487,7 @@ func testCreateSidebarCategory(t *testing.T, rctx request.CTX, ss store.Store) {
|
||||
userID := model.NewId()
|
||||
team := setupTeam(t, rctx, ss, userID)
|
||||
|
||||
opts := &store.SidebarCategorySearchOpts{
|
||||
TeamID: team.Id,
|
||||
ExcludeTeam: false,
|
||||
}
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, opts)
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, team.Id)
|
||||
require.NoError(t, nErr)
|
||||
require.NotEmpty(t, res)
|
||||
|
||||
@@ -574,11 +525,7 @@ func testCreateSidebarCategory(t *testing.T, rctx request.CTX, ss store.Store) {
|
||||
userID := model.NewId()
|
||||
team := setupTeam(t, rctx, ss, userID)
|
||||
|
||||
opts := &store.SidebarCategorySearchOpts{
|
||||
TeamID: team.Id,
|
||||
ExcludeTeam: false,
|
||||
}
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, opts)
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, team.Id)
|
||||
require.NoError(t, nErr)
|
||||
require.NotEmpty(t, res)
|
||||
|
||||
@@ -639,11 +586,7 @@ func testCreateSidebarCategory(t *testing.T, rctx request.CTX, ss store.Store) {
|
||||
|
||||
team := setupTeam(t, rctx, ss, userID)
|
||||
|
||||
opts := &store.SidebarCategorySearchOpts{
|
||||
TeamID: team.Id,
|
||||
ExcludeTeam: false,
|
||||
}
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, opts)
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, team.Id)
|
||||
require.NoError(t, nErr)
|
||||
require.NotEmpty(t, res)
|
||||
// Create the category
|
||||
@@ -676,11 +619,7 @@ func testGetSidebarCategory(t *testing.T, rctx request.CTX, ss store.Store, s Sq
|
||||
channelID2 := model.NewId()
|
||||
channelID3 := model.NewId()
|
||||
|
||||
opts := &store.SidebarCategorySearchOpts{
|
||||
TeamID: team.Id,
|
||||
ExcludeTeam: false,
|
||||
}
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, opts)
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, team.Id)
|
||||
require.NoError(t, nErr)
|
||||
require.NotEmpty(t, res)
|
||||
|
||||
@@ -710,11 +649,8 @@ func testGetSidebarCategory(t *testing.T, rctx request.CTX, ss store.Store, s Sq
|
||||
team := setupTeam(t, rctx, ss, userID)
|
||||
|
||||
// Create the initial categories and find the channels category
|
||||
opts := &store.SidebarCategorySearchOpts{
|
||||
TeamID: team.Id,
|
||||
ExcludeTeam: false,
|
||||
}
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, opts)
|
||||
// Create the initial categories and find the channels category
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, team.Id)
|
||||
require.NoError(t, nErr)
|
||||
require.NotEmpty(t, res)
|
||||
|
||||
@@ -778,11 +714,8 @@ func testGetSidebarCategory(t *testing.T, rctx request.CTX, ss store.Store, s Sq
|
||||
team := setupTeam(t, rctx, ss, userID)
|
||||
|
||||
// Create the initial categories and find the channels category
|
||||
opts := &store.SidebarCategorySearchOpts{
|
||||
TeamID: team.Id,
|
||||
ExcludeTeam: false,
|
||||
}
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, opts)
|
||||
// Create the initial categories and find the channels category
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, team.Id)
|
||||
require.NoError(t, nErr)
|
||||
require.NotEmpty(t, res)
|
||||
|
||||
@@ -820,12 +753,8 @@ func testGetSidebarCategory(t *testing.T, rctx request.CTX, ss store.Store, s Sq
|
||||
userID := model.NewId()
|
||||
team := setupTeam(t, rctx, ss, userID)
|
||||
|
||||
opts := &store.SidebarCategorySearchOpts{
|
||||
TeamID: team.Id,
|
||||
ExcludeTeam: false,
|
||||
}
|
||||
// Create the initial categories and find the channels category
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, opts)
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, team.Id)
|
||||
require.NoError(t, nErr)
|
||||
require.NotEmpty(t, res)
|
||||
|
||||
@@ -888,11 +817,8 @@ func testGetSidebarCategory(t *testing.T, rctx request.CTX, ss store.Store, s Sq
|
||||
team := setupTeam(t, rctx, ss, userID)
|
||||
|
||||
// Create the initial categories and find the DMs category
|
||||
opts := &store.SidebarCategorySearchOpts{
|
||||
TeamID: team.Id,
|
||||
ExcludeTeam: false,
|
||||
}
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, opts)
|
||||
// Create the initial categories and find the DMs category
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, team.Id)
|
||||
require.NoError(t, nErr)
|
||||
require.NotEmpty(t, res)
|
||||
|
||||
@@ -933,11 +859,8 @@ func testGetSidebarCategory(t *testing.T, rctx request.CTX, ss store.Store, s Sq
|
||||
team := setupTeam(t, rctx, ss, userID)
|
||||
|
||||
// Create the initial categories and find the DMs category
|
||||
opts := &store.SidebarCategorySearchOpts{
|
||||
TeamID: team.Id,
|
||||
ExcludeTeam: false,
|
||||
}
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, opts)
|
||||
// Create the initial categories and find the DMs category
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, team.Id)
|
||||
require.NoError(t, nErr)
|
||||
require.NotEmpty(t, res)
|
||||
|
||||
@@ -975,11 +898,8 @@ func testGetSidebarCategory(t *testing.T, rctx request.CTX, ss store.Store, s Sq
|
||||
team := setupTeam(t, rctx, ss, userID)
|
||||
|
||||
// Create the initial categories and find the DMs category
|
||||
opts := &store.SidebarCategorySearchOpts{
|
||||
TeamID: team.Id,
|
||||
ExcludeTeam: false,
|
||||
}
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, opts)
|
||||
// Create the initial categories and find the DMs category
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, team.Id)
|
||||
require.NoError(t, nErr)
|
||||
require.NotEmpty(t, res)
|
||||
|
||||
@@ -1009,11 +929,7 @@ func testGetSidebarCategory(t *testing.T, rctx request.CTX, ss store.Store, s Sq
|
||||
|
||||
// Create another team and assign the DM to a custom category on that team
|
||||
otherTeam := setupTeam(t, rctx, ss, userID)
|
||||
opts = &store.SidebarCategorySearchOpts{
|
||||
TeamID: otherTeam.Id,
|
||||
ExcludeTeam: false,
|
||||
}
|
||||
res, nErr = ss.Channel().CreateInitialSidebarCategories(rctx, userID, opts)
|
||||
res, nErr = ss.Channel().CreateInitialSidebarCategories(rctx, userID, otherTeam.Id)
|
||||
require.NoError(t, nErr)
|
||||
require.NotEmpty(t, res)
|
||||
|
||||
@@ -1040,11 +956,7 @@ func testGetSidebarCategories(t *testing.T, rctx request.CTX, ss store.Store) {
|
||||
userID := model.NewId()
|
||||
team := setupTeam(t, rctx, ss, userID)
|
||||
|
||||
opts := &store.SidebarCategorySearchOpts{
|
||||
TeamID: team.Id,
|
||||
ExcludeTeam: false,
|
||||
}
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, opts)
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, team.Id)
|
||||
require.NoError(t, nErr)
|
||||
require.NotEmpty(t, res)
|
||||
|
||||
@@ -1074,66 +986,6 @@ func testGetSidebarCategories(t *testing.T, rctx request.CTX, ss store.Store) {
|
||||
assert.Equal(t, gotCategory.Channels, res.Categories[1].Channels)
|
||||
assert.Equal(t, channelIds, res.Categories[1].Channels)
|
||||
})
|
||||
t.Run("should not return categories for teams deleted, or no longer a member", func(t *testing.T) {
|
||||
userID := model.NewId()
|
||||
|
||||
teamMember1 := setupTeam(t, rctx, ss, userID)
|
||||
teamMember2 := setupTeam(t, rctx, ss, userID)
|
||||
teamDeleted := setupTeam(t, rctx, ss, userID)
|
||||
teamDeleted.DeleteAt = model.GetMillis()
|
||||
ss.Team().Update(teamDeleted)
|
||||
teamNotMember := setupTeam(t, rctx, ss)
|
||||
teamDeletedMember := setupTeam(t, rctx, ss, userID)
|
||||
|
||||
members, err := ss.Team().GetMembersByIds(teamDeletedMember.Id, []string{userID}, nil)
|
||||
require.NoError(t, err)
|
||||
require.NotEmpty(t, members)
|
||||
member := members[0]
|
||||
member.DeleteAt = model.GetMillis()
|
||||
ss.Team().UpdateMember(rctx, member)
|
||||
|
||||
teamIds := []string{
|
||||
teamMember1.Id,
|
||||
teamMember2.Id,
|
||||
teamDeleted.Id,
|
||||
teamNotMember.Id,
|
||||
teamDeletedMember.Id,
|
||||
}
|
||||
|
||||
for _, id := range teamIds {
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, &store.SidebarCategorySearchOpts{TeamID: id})
|
||||
require.NoError(t, nErr)
|
||||
require.NotEmpty(t, res)
|
||||
}
|
||||
|
||||
opts := &store.SidebarCategorySearchOpts{
|
||||
TeamID: teamMember1.Id,
|
||||
ExcludeTeam: false,
|
||||
}
|
||||
|
||||
// Team member and not exclude
|
||||
res, err := ss.Channel().GetSidebarCategories(userID, opts)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, 3, len(res.Categories))
|
||||
|
||||
// No team member and not exclude
|
||||
opts.TeamID = teamDeleted.Id
|
||||
res, err = ss.Channel().GetSidebarCategories(userID, opts)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, 0, len(res.Categories))
|
||||
|
||||
// No team member and exclude
|
||||
opts.ExcludeTeam = true
|
||||
res, err = ss.Channel().GetSidebarCategories(userID, opts)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, 6, len(res.Categories))
|
||||
|
||||
// Team member and exclude
|
||||
opts.TeamID = teamMember1.Id
|
||||
res, err = ss.Channel().GetSidebarCategories(userID, opts)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, 3, len(res.Categories))
|
||||
})
|
||||
}
|
||||
|
||||
func testUpdateSidebarCategories(t *testing.T, rctx request.CTX, ss store.Store) {
|
||||
@@ -1142,11 +994,8 @@ func testUpdateSidebarCategories(t *testing.T, rctx request.CTX, ss store.Store)
|
||||
team := setupTeam(t, rctx, ss, userID)
|
||||
|
||||
// Create the initial categories
|
||||
opts := &store.SidebarCategorySearchOpts{
|
||||
TeamID: team.Id,
|
||||
ExcludeTeam: false,
|
||||
}
|
||||
res, err := ss.Channel().CreateInitialSidebarCategories(rctx, userID, opts)
|
||||
// Create the initial categories
|
||||
res, err := ss.Channel().CreateInitialSidebarCategories(rctx, userID, team.Id)
|
||||
require.NoError(t, err)
|
||||
require.NotEmpty(t, res)
|
||||
|
||||
@@ -1180,11 +1029,8 @@ func testUpdateSidebarCategories(t *testing.T, rctx request.CTX, ss store.Store)
|
||||
team := setupTeam(t, rctx, ss, userID)
|
||||
|
||||
// Create the initial categories
|
||||
opts := &store.SidebarCategorySearchOpts{
|
||||
TeamID: team.Id,
|
||||
ExcludeTeam: false,
|
||||
}
|
||||
res, err := ss.Channel().CreateInitialSidebarCategories(rctx, userID, opts)
|
||||
// Create the initial categories
|
||||
res, err := ss.Channel().CreateInitialSidebarCategories(rctx, userID, team.Id)
|
||||
require.NoError(t, err)
|
||||
require.NotEmpty(t, res)
|
||||
|
||||
@@ -1211,11 +1057,7 @@ func testUpdateSidebarCategories(t *testing.T, rctx request.CTX, ss store.Store)
|
||||
userID := model.NewId()
|
||||
team := setupTeam(t, rctx, ss, userID)
|
||||
|
||||
opts := &store.SidebarCategorySearchOpts{
|
||||
TeamID: team.Id,
|
||||
ExcludeTeam: false,
|
||||
}
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, opts)
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, team.Id)
|
||||
require.NoError(t, nErr)
|
||||
require.NotEmpty(t, res)
|
||||
|
||||
@@ -1282,11 +1124,8 @@ func testUpdateSidebarCategories(t *testing.T, rctx request.CTX, ss store.Store)
|
||||
team := setupTeam(t, rctx, ss, userID)
|
||||
|
||||
// Create the initial categories and find the favorites category
|
||||
opts := &store.SidebarCategorySearchOpts{
|
||||
TeamID: team.Id,
|
||||
ExcludeTeam: false,
|
||||
}
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, opts)
|
||||
// Create the initial categories and find the favorites category
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, team.Id)
|
||||
require.NoError(t, nErr)
|
||||
require.NotEmpty(t, res)
|
||||
|
||||
@@ -1347,11 +1186,8 @@ func testUpdateSidebarCategories(t *testing.T, rctx request.CTX, ss store.Store)
|
||||
team := setupTeam(t, rctx, ss, userID)
|
||||
|
||||
// Create the initial categories and find the favorites category
|
||||
opts := &store.SidebarCategorySearchOpts{
|
||||
TeamID: team.Id,
|
||||
ExcludeTeam: false,
|
||||
}
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, opts)
|
||||
// Create the initial categories and find the favorites category
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, team.Id)
|
||||
require.NoError(t, nErr)
|
||||
require.NotEmpty(t, res)
|
||||
|
||||
@@ -1418,11 +1254,8 @@ func testUpdateSidebarCategories(t *testing.T, rctx request.CTX, ss store.Store)
|
||||
team2 := setupTeam(t, rctx, ss, userID)
|
||||
|
||||
// Create the initial categories and find the favorites categories in each team
|
||||
opts := &store.SidebarCategorySearchOpts{
|
||||
TeamID: team.Id,
|
||||
ExcludeTeam: false,
|
||||
}
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, opts)
|
||||
// Create the initial categories and find the favorites categories in each team
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, team.Id)
|
||||
require.NoError(t, nErr)
|
||||
require.NotEmpty(t, res)
|
||||
|
||||
@@ -1432,11 +1265,7 @@ func testUpdateSidebarCategories(t *testing.T, rctx request.CTX, ss store.Store)
|
||||
favoritesCategory := categories.Categories[0]
|
||||
require.Equal(t, model.SidebarCategoryFavorites, favoritesCategory.Type)
|
||||
|
||||
opts = &store.SidebarCategorySearchOpts{
|
||||
TeamID: team2.Id,
|
||||
ExcludeTeam: false,
|
||||
}
|
||||
res, nErr = ss.Channel().CreateInitialSidebarCategories(rctx, userID, opts)
|
||||
res, nErr = ss.Channel().CreateInitialSidebarCategories(rctx, userID, team2.Id)
|
||||
require.NoError(t, nErr)
|
||||
require.NotEmpty(t, res)
|
||||
|
||||
@@ -1527,11 +1356,8 @@ func testUpdateSidebarCategories(t *testing.T, rctx request.CTX, ss store.Store)
|
||||
team := setupTeam(t, rctx, ss, userID, userID2)
|
||||
|
||||
// Create the initial categories and find the favorites category
|
||||
opts := &store.SidebarCategorySearchOpts{
|
||||
TeamID: team.Id,
|
||||
ExcludeTeam: false,
|
||||
}
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, opts)
|
||||
// Create the initial categories and find the favorites category
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, team.Id)
|
||||
require.NoError(t, nErr)
|
||||
require.NotEmpty(t, res)
|
||||
|
||||
@@ -1544,7 +1370,7 @@ func testUpdateSidebarCategories(t *testing.T, rctx request.CTX, ss store.Store)
|
||||
require.Equal(t, model.SidebarCategoryChannels, channelsCategory.Type)
|
||||
|
||||
// Create the other users' categories
|
||||
res, nErr = ss.Channel().CreateInitialSidebarCategories(rctx, userID2, opts)
|
||||
res, nErr = ss.Channel().CreateInitialSidebarCategories(rctx, userID2, team.Id)
|
||||
require.NoError(t, nErr)
|
||||
require.NotEmpty(t, res)
|
||||
|
||||
@@ -1701,11 +1527,7 @@ func testUpdateSidebarCategories(t *testing.T, rctx request.CTX, ss store.Store)
|
||||
)
|
||||
require.NoError(t, nErr)
|
||||
|
||||
opts := &store.SidebarCategorySearchOpts{
|
||||
TeamID: team.Id,
|
||||
ExcludeTeam: false,
|
||||
}
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, opts)
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, team.Id)
|
||||
require.NoError(t, nErr)
|
||||
require.NotEmpty(t, res)
|
||||
|
||||
@@ -1760,11 +1582,7 @@ func testUpdateSidebarCategories(t *testing.T, rctx request.CTX, ss store.Store)
|
||||
)
|
||||
require.NoError(t, nErr)
|
||||
|
||||
opts := &store.SidebarCategorySearchOpts{
|
||||
TeamID: team.Id,
|
||||
ExcludeTeam: false,
|
||||
}
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, opts)
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, team.Id)
|
||||
require.NoError(t, nErr)
|
||||
require.NotEmpty(t, res)
|
||||
|
||||
@@ -1852,11 +1670,8 @@ func testUpdateSidebarCategories(t *testing.T, rctx request.CTX, ss store.Store)
|
||||
require.NoError(t, err)
|
||||
|
||||
// And then create the initial categories so that it includes the channel
|
||||
opts := &store.SidebarCategorySearchOpts{
|
||||
TeamID: team.Id,
|
||||
ExcludeTeam: false,
|
||||
}
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, opts)
|
||||
// And then create the initial categories so that it includes the channel
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, team.Id)
|
||||
require.NoError(t, nErr)
|
||||
require.NotEmpty(t, res)
|
||||
|
||||
@@ -1920,11 +1735,8 @@ func testUpdateSidebarCategories(t *testing.T, rctx request.CTX, ss store.Store)
|
||||
require.NoError(t, err)
|
||||
|
||||
// And then create the initial categories so that Channels includes the channel
|
||||
opts := &store.SidebarCategorySearchOpts{
|
||||
TeamID: team.Id,
|
||||
ExcludeTeam: false,
|
||||
}
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, opts)
|
||||
// And then create the initial categories so that Channels includes the channel
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, team.Id)
|
||||
require.NoError(t, nErr)
|
||||
require.NotEmpty(t, res)
|
||||
|
||||
@@ -1982,11 +1794,7 @@ func setupInitialSidebarCategories(t *testing.T, rctx request.CTX, ss store.Stor
|
||||
userID := model.NewId()
|
||||
team := setupTeam(t, rctx, ss, userID)
|
||||
|
||||
opts := &store.SidebarCategorySearchOpts{
|
||||
TeamID: team.Id,
|
||||
ExcludeTeam: false,
|
||||
}
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, opts)
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, team.Id)
|
||||
require.NoError(t, nErr)
|
||||
require.NotEmpty(t, res)
|
||||
|
||||
@@ -2109,11 +1917,7 @@ func testClearSidebarOnTeamLeave(t *testing.T, rctx request.CTX, ss store.Store,
|
||||
// Create a second team and set up the sidebar categories for it
|
||||
team2 := setupTeam(t, rctx, ss, userID)
|
||||
|
||||
opts := &store.SidebarCategorySearchOpts{
|
||||
TeamID: team2.Id,
|
||||
ExcludeTeam: false,
|
||||
}
|
||||
res, err := ss.Channel().CreateInitialSidebarCategories(rctx, userID, opts)
|
||||
res, err := ss.Channel().CreateInitialSidebarCategories(rctx, userID, team2.Id)
|
||||
require.NoError(t, err)
|
||||
require.NotEmpty(t, res)
|
||||
|
||||
@@ -2300,11 +2104,7 @@ func testUpdateSidebarChannelsByPreferences(t *testing.T, rctx request.CTX, ss s
|
||||
userID := model.NewId()
|
||||
teamID := model.NewId()
|
||||
|
||||
opts := &store.SidebarCategorySearchOpts{
|
||||
TeamID: teamID,
|
||||
ExcludeTeam: false,
|
||||
}
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, opts)
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, teamID)
|
||||
require.NoError(t, nErr)
|
||||
require.NotEmpty(t, res)
|
||||
|
||||
@@ -2329,11 +2129,7 @@ func testUpdateSidebarChannelsByPreferences(t *testing.T, rctx request.CTX, ss s
|
||||
userID := model.NewId()
|
||||
teamID := model.NewId()
|
||||
|
||||
opts := &store.SidebarCategorySearchOpts{
|
||||
TeamID: teamID,
|
||||
ExcludeTeam: false,
|
||||
}
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, opts)
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, teamID)
|
||||
assert.NoError(t, nErr)
|
||||
require.NotEmpty(t, res)
|
||||
|
||||
@@ -2371,11 +2167,8 @@ func testSidebarCategoryDeadlock(t *testing.T, rctx request.CTX, ss store.Store)
|
||||
require.NoError(t, err)
|
||||
|
||||
// And then create the initial categories so that it includes the channel
|
||||
opts := &store.SidebarCategorySearchOpts{
|
||||
TeamID: team.Id,
|
||||
ExcludeTeam: false,
|
||||
}
|
||||
res, err := ss.Channel().CreateInitialSidebarCategories(rctx, userID, opts)
|
||||
// And then create the initial categories so that it includes the channel
|
||||
res, err := ss.Channel().CreateInitialSidebarCategories(rctx, userID, team.Id)
|
||||
require.NoError(t, err)
|
||||
require.NotEmpty(t, res)
|
||||
|
||||
@@ -2482,11 +2275,8 @@ func doTestSidebarCategoryConcurrentAccess(t *testing.T, rctx request.CTX, ss st
|
||||
}
|
||||
|
||||
// Create the initial categories
|
||||
opts := &store.SidebarCategorySearchOpts{
|
||||
TeamID: team.Id,
|
||||
ExcludeTeam: false,
|
||||
}
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, opts)
|
||||
// Create the initial categories
|
||||
res, nErr := ss.Channel().CreateInitialSidebarCategories(rctx, userID, team.Id)
|
||||
require.NoError(t, nErr)
|
||||
require.NotEmpty(t, res)
|
||||
|
||||
|
||||
@@ -342,9 +342,9 @@ func (_m *ChannelStore) CreateDirectChannel(ctx request.CTX, userID *model.User,
|
||||
return r0, r1
|
||||
}
|
||||
|
||||
// CreateInitialSidebarCategories provides a mock function with given fields: c, userID, opts
|
||||
func (_m *ChannelStore) CreateInitialSidebarCategories(c request.CTX, userID string, opts *store.SidebarCategorySearchOpts) (*model.OrderedSidebarCategories, error) {
|
||||
ret := _m.Called(c, userID, opts)
|
||||
// CreateInitialSidebarCategories provides a mock function with given fields: c, userID, teamID
|
||||
func (_m *ChannelStore) CreateInitialSidebarCategories(c request.CTX, userID string, teamID string) (*model.OrderedSidebarCategories, error) {
|
||||
ret := _m.Called(c, userID, teamID)
|
||||
|
||||
if len(ret) == 0 {
|
||||
panic("no return value specified for CreateInitialSidebarCategories")
|
||||
@@ -352,19 +352,19 @@ func (_m *ChannelStore) CreateInitialSidebarCategories(c request.CTX, userID str
|
||||
|
||||
var r0 *model.OrderedSidebarCategories
|
||||
var r1 error
|
||||
if rf, ok := ret.Get(0).(func(request.CTX, string, *store.SidebarCategorySearchOpts) (*model.OrderedSidebarCategories, error)); ok {
|
||||
return rf(c, userID, opts)
|
||||
if rf, ok := ret.Get(0).(func(request.CTX, string, string) (*model.OrderedSidebarCategories, error)); ok {
|
||||
return rf(c, userID, teamID)
|
||||
}
|
||||
if rf, ok := ret.Get(0).(func(request.CTX, string, *store.SidebarCategorySearchOpts) *model.OrderedSidebarCategories); ok {
|
||||
r0 = rf(c, userID, opts)
|
||||
if rf, ok := ret.Get(0).(func(request.CTX, string, string) *model.OrderedSidebarCategories); ok {
|
||||
r0 = rf(c, userID, teamID)
|
||||
} else {
|
||||
if ret.Get(0) != nil {
|
||||
r0 = ret.Get(0).(*model.OrderedSidebarCategories)
|
||||
}
|
||||
}
|
||||
|
||||
if rf, ok := ret.Get(1).(func(request.CTX, string, *store.SidebarCategorySearchOpts) error); ok {
|
||||
r1 = rf(c, userID, opts)
|
||||
if rf, ok := ret.Get(1).(func(request.CTX, string, string) error); ok {
|
||||
r1 = rf(c, userID, teamID)
|
||||
} else {
|
||||
r1 = ret.Error(1)
|
||||
}
|
||||
@@ -1968,9 +1968,9 @@ func (_m *ChannelStore) GetPublicChannelsForTeam(teamID string, offset int, limi
|
||||
return r0, r1
|
||||
}
|
||||
|
||||
// GetSidebarCategories provides a mock function with given fields: userID, opts
|
||||
func (_m *ChannelStore) GetSidebarCategories(userID string, opts *store.SidebarCategorySearchOpts) (*model.OrderedSidebarCategories, error) {
|
||||
ret := _m.Called(userID, opts)
|
||||
// GetSidebarCategories provides a mock function with given fields: userID, teamID
|
||||
func (_m *ChannelStore) GetSidebarCategories(userID string, teamID string) (*model.OrderedSidebarCategories, error) {
|
||||
ret := _m.Called(userID, teamID)
|
||||
|
||||
if len(ret) == 0 {
|
||||
panic("no return value specified for GetSidebarCategories")
|
||||
@@ -1978,19 +1978,19 @@ func (_m *ChannelStore) GetSidebarCategories(userID string, opts *store.SidebarC
|
||||
|
||||
var r0 *model.OrderedSidebarCategories
|
||||
var r1 error
|
||||
if rf, ok := ret.Get(0).(func(string, *store.SidebarCategorySearchOpts) (*model.OrderedSidebarCategories, error)); ok {
|
||||
return rf(userID, opts)
|
||||
if rf, ok := ret.Get(0).(func(string, string) (*model.OrderedSidebarCategories, error)); ok {
|
||||
return rf(userID, teamID)
|
||||
}
|
||||
if rf, ok := ret.Get(0).(func(string, *store.SidebarCategorySearchOpts) *model.OrderedSidebarCategories); ok {
|
||||
r0 = rf(userID, opts)
|
||||
if rf, ok := ret.Get(0).(func(string, string) *model.OrderedSidebarCategories); ok {
|
||||
r0 = rf(userID, teamID)
|
||||
} else {
|
||||
if ret.Get(0) != nil {
|
||||
r0 = ret.Get(0).(*model.OrderedSidebarCategories)
|
||||
}
|
||||
}
|
||||
|
||||
if rf, ok := ret.Get(1).(func(string, *store.SidebarCategorySearchOpts) error); ok {
|
||||
r1 = rf(userID, opts)
|
||||
if rf, ok := ret.Get(1).(func(string, string) error); ok {
|
||||
r1 = rf(userID, teamID)
|
||||
} else {
|
||||
r1 = ret.Error(1)
|
||||
}
|
||||
|
||||
Ссылка в новой задаче
Block a user