mirror of
https://github.com/mattermost/mattermost.git
synced 2025-02-25 18:55:24 -06:00
* parent 48256721c4 (#14358)
author Eli Yukelzon <reflog@gmail.com> 1585814774 +0300
committer Eli Yukelzon <reflog@gmail.com> 1589111022 +0300
Sidebar caregories implemented
Apply suggestions from code review
Co-authored-by: Ibrahim Serdar Acikgoz <serdaracikgoz86@gmail.com>
Update store/sqlstore/channel_store.go
Co-authored-by: Ibrahim Serdar Acikgoz <serdaracikgoz86@gmail.com>
Update store/sqlstore/channel_store.go
Co-authored-by: Ibrahim Serdar Acikgoz <serdaracikgoz86@gmail.com>
code review suggestions
status messages
edge case
bugs...
timeout reverse
* MM-25126 Add a separate default sorting method for categories (#14575)
* MM-25158 Add user to initial sidebar categories when joining team (#14570)
* MM-25281 Place new categories in the correct position (#14609)
* MM-25277 Return channels that aren't in a category as part of the Channels/Direct Messages categories (#14601)
* MM-25276 Remove categories when leaving a team (#14600)
* Remove categories when leaving a team
* layers
* corrected cleanup function
* lint
* .
* corrected errors in postgres
* .
* MM-25280 Ensure that the "update category order" API call only contains real category IDs and isn't missing any IDs (#14626)
* Ensure that the "update category order" API call only contains real category IDs and isn't missing any IDs
* tests
* correct status code
* MM-25278 Change "update category" API to return 400 when changing unsupported fields (#14599)
* MM-25279 Change category migration to only populate channels in Favorites (#14627)
* MM-25157 Add API to delete custom categories (#14574)
* MM-25157 Add API to delete custom categories
* get categories fix
* maxorder fix
* Use correct websocket event when deleting category
* Fix tests and remove debug code
* Actually use the right websocket event this time
* test cleanup
* Update test for new category order
Co-authored-by: Eli Yukelzon <reflog@gmail.com>
* MM-24914 Various fixes for sidebar channel handling (#14756)
* Fix checking for channel membership when reordering channels
* Remove unique constraint on SidebarCategories
* Set column sizes for SidebarCategories and SidebarChannels tables
* Allow changing the sorting method for non-DM categories
* Fix nil pointers in error handling
* Fix orphaned channels from other team being returned in Channels category
* Fix non-orphaned channels being duplicated in the Channels category
* Remove unique constraint on SidebarChannels
* Fix category/name of favorites preferences
* Fix testSidebarChannelsMigration
* Rename err to nErr and appErr to err
* Fix channel order returned by GetSidebarCategories on MySQL
* Fix adding/removing favorites preferences
* Remove leftover TODO
* Change SidebarCategoryType enums to use full names (#14786)
* Change SidebarCategoryType enums to use full names
* Fix Channels constant
* Remove leftover debug code
* MM-24914 Fix updateCategory endpoint returning the wrong type (#14795)
* MM-24914 Make some changes to UpdateSidebarCategories (#14806)
* Fix orphaned DMs not always being returned
* MM-24914 Make some changes to UpdateSidebarCategories
* Run updateSidebarCategoryOrderT in a transaction
* Fix deleting SidebarChannels based on order of arguments to UpdateSidebarCategories
* bump for api testing
* bump for api testing
* Change CreateInitialSidebarCategories to return a plain error
* Change MigrateSidebarCategories to return a plain error
* Remove usage of UpdateColumns when updating sidebar categories (#14843)
* Remove usage of UpdateColumns when changing category order
* Add a random test case
* Remove usage of UpdateColumns when updating sidebar categories (#14843)
* Remove usage of UpdateColumns when changing category order
* Add a random test case
* Remove usage of UpdateColumns when updating sidebar categories (#14843)
* Remove usage of UpdateColumns when changing category order
* Add a random test case
* MM-26343 Make CreateInitialSidebarCategories idempotent (#14870)
* Fix bad merge
* Fix another bad merge
* Fix unintentionally removed i18n string
Co-authored-by: Eli Yukelzon <reflog@gmail.com>
106 lines
3.8 KiB
Go
106 lines
3.8 KiB
Go
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
|
// See LICENSE.txt for license information.
|
|
|
|
package sqlstore
|
|
|
|
import (
|
|
sq "github.com/Masterminds/squirrel"
|
|
_ "github.com/go-sql-driver/mysql"
|
|
_ "github.com/lib/pq"
|
|
"github.com/mattermost/gorp"
|
|
"github.com/mattermost/mattermost-server/v5/store"
|
|
)
|
|
|
|
/*type SqlStore struct {
|
|
master *gorp.DbMap
|
|
replicas []*gorp.DbMap
|
|
searchReplicas []*gorp.DbMap
|
|
team TeamStore
|
|
channel ChannelStore
|
|
post PostStore
|
|
user UserStore
|
|
audit AuditStore
|
|
compliance ComplianceStore
|
|
session SessionStore
|
|
oauth OAuthStore
|
|
system SystemStore
|
|
webhook WebhookStore
|
|
command CommandStore
|
|
preference PreferenceStore
|
|
license LicenseStore
|
|
token TokenStore
|
|
emoji EmojiStore
|
|
status StatusStore
|
|
fileInfo FileInfoStore
|
|
reaction ReactionStore
|
|
jobStatus JobStatusStore
|
|
SchemaVersion string
|
|
rrCounter int64
|
|
srCounter int64
|
|
}*/
|
|
|
|
type SqlStore interface {
|
|
DriverName() string
|
|
GetCurrentSchemaVersion() string
|
|
GetMaster() *gorp.DbMap
|
|
GetSearchReplica() *gorp.DbMap
|
|
GetReplica() *gorp.DbMap
|
|
GetDbVersion() (string, error)
|
|
TotalMasterDbConnections() int
|
|
TotalReadDbConnections() int
|
|
TotalSearchDbConnections() int
|
|
MarkSystemRanUnitTests()
|
|
DoesTableExist(tablename string) bool
|
|
DoesColumnExist(tableName string, columName string) bool
|
|
DoesTriggerExist(triggerName string) bool
|
|
CreateColumnIfNotExists(tableName string, columnName string, mySqlColType string, postgresColType string, defaultValue string) bool
|
|
CreateColumnIfNotExistsNoDefault(tableName string, columnName string, mySqlColType string, postgresColType string) bool
|
|
RemoveColumnIfExists(tableName string, columnName string) bool
|
|
RemoveTableIfExists(tableName string) bool
|
|
RenameColumnIfExists(tableName string, oldColumnName string, newColumnName string, colType string) bool
|
|
GetMaxLengthOfColumnIfExists(tableName string, columnName string) string
|
|
AlterColumnTypeIfExists(tableName string, columnName string, mySqlColType string, postgresColType string) bool
|
|
AlterColumnDefaultIfExists(tableName string, columnName string, mySqlColDefault *string, postgresColDefault *string) bool
|
|
AlterPrimaryKey(tableName string, columnNames []string) bool
|
|
CreateUniqueIndexIfNotExists(indexName string, tableName string, columnName string) bool
|
|
CreateIndexIfNotExists(indexName string, tableName string, columnName string) bool
|
|
CreateCompositeIndexIfNotExists(indexName string, tableName string, columnNames []string) bool
|
|
CreateUniqueCompositeIndexIfNotExists(indexName string, tableName string, columnNames []string) bool
|
|
CreateFullTextIndexIfNotExists(indexName string, tableName string, columnName string) bool
|
|
RemoveIndexIfExists(indexName string, tableName string) bool
|
|
GetAllConns() []*gorp.DbMap
|
|
Close()
|
|
LockToMaster()
|
|
UnlockFromMaster()
|
|
Team() store.TeamStore
|
|
Channel() store.ChannelStore
|
|
Post() store.PostStore
|
|
User() store.UserStore
|
|
Bot() store.BotStore
|
|
Audit() store.AuditStore
|
|
ClusterDiscovery() store.ClusterDiscoveryStore
|
|
Compliance() store.ComplianceStore
|
|
Session() store.SessionStore
|
|
OAuth() store.OAuthStore
|
|
System() store.SystemStore
|
|
Webhook() store.WebhookStore
|
|
Command() store.CommandStore
|
|
CommandWebhook() store.CommandWebhookStore
|
|
Preference() store.PreferenceStore
|
|
License() store.LicenseStore
|
|
Token() store.TokenStore
|
|
Emoji() store.EmojiStore
|
|
Status() store.StatusStore
|
|
FileInfo() store.FileInfoStore
|
|
Reaction() store.ReactionStore
|
|
Job() store.JobStore
|
|
Plugin() store.PluginStore
|
|
UserAccessToken() store.UserAccessTokenStore
|
|
Role() store.RoleStore
|
|
Scheme() store.SchemeStore
|
|
TermsOfService() store.TermsOfServiceStore
|
|
UserTermsOfService() store.UserTermsOfServiceStore
|
|
LinkMetadata() store.LinkMetadataStore
|
|
getQueryBuilder() sq.StatementBuilderType
|
|
}
|