[MM-16751] golint model (#17896)
Этот коммит содержится в:
коммит произвёл
Claudio Costa
родитель
953eebdef4
Коммит
97ccf0bdf6
@@ -57,7 +57,7 @@ func newSqlBotStore(sqlStore *SqlStore, metrics einterfaces.MetricsInterface) st
|
||||
table := db.AddTableWithName(bot{}, "Bots").SetKeys(false, "UserId")
|
||||
table.ColMap("UserId").SetMaxSize(26)
|
||||
table.ColMap("Description").SetMaxSize(1024)
|
||||
table.ColMap("OwnerId").SetMaxSize(model.BOT_CREATOR_ID_MAX_RUNES)
|
||||
table.ColMap("OwnerId").SetMaxSize(model.BotCreatorIdMaxRunes)
|
||||
}
|
||||
|
||||
return us
|
||||
|
||||
@@ -212,7 +212,7 @@ func (s SqlChannelMemberHistoryStore) PermanentDeleteBatch(endTime int64, limit
|
||||
err error
|
||||
)
|
||||
|
||||
if s.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
if s.DriverName() == model.DatabaseDriverPostgres {
|
||||
var innerSelect string
|
||||
innerSelect, args, err = s.getQueryBuilder().
|
||||
Select("ctid").
|
||||
|
||||
@@ -24,10 +24,10 @@ import (
|
||||
)
|
||||
|
||||
const (
|
||||
AllChannelMembersForUserCacheSize = model.SESSION_CACHE_SIZE
|
||||
AllChannelMembersForUserCacheSize = model.SessionCacheSize
|
||||
AllChannelMembersForUserCacheDuration = 15 * time.Minute // 15 mins
|
||||
|
||||
AllChannelMembersNotifyPropsForChannelCacheSize = model.SESSION_CACHE_SIZE
|
||||
AllChannelMembersNotifyPropsForChannelCacheSize = model.SessionCacheSize
|
||||
AllChannelMembersNotifyPropsForChannelCacheDuration = 30 * time.Minute // 30 mins
|
||||
|
||||
ChannelCacheDuration = 15 * time.Minute // 15 mins
|
||||
@@ -132,11 +132,11 @@ func getChannelRoles(schemeGuest, schemeUser, schemeAdmin bool, defaultTeamGuest
|
||||
// them from ExplicitRoles field.
|
||||
for _, role := range roles {
|
||||
switch role {
|
||||
case model.CHANNEL_GUEST_ROLE_ID:
|
||||
case model.ChannelGuestRoleId:
|
||||
result.schemeGuest = true
|
||||
case model.CHANNEL_USER_ROLE_ID:
|
||||
case model.ChannelUserRoleId:
|
||||
result.schemeUser = true
|
||||
case model.CHANNEL_ADMIN_ROLE_ID:
|
||||
case model.ChannelAdminRoleId:
|
||||
result.schemeAdmin = true
|
||||
default:
|
||||
result.explicitRoles = append(result.explicitRoles, role)
|
||||
@@ -153,7 +153,7 @@ func getChannelRoles(schemeGuest, schemeUser, schemeAdmin bool, defaultTeamGuest
|
||||
} else if defaultTeamGuestRole != "" {
|
||||
schemeImpliedRoles = append(schemeImpliedRoles, defaultTeamGuestRole)
|
||||
} else {
|
||||
schemeImpliedRoles = append(schemeImpliedRoles, model.CHANNEL_GUEST_ROLE_ID)
|
||||
schemeImpliedRoles = append(schemeImpliedRoles, model.ChannelGuestRoleId)
|
||||
}
|
||||
}
|
||||
if result.schemeUser {
|
||||
@@ -162,7 +162,7 @@ func getChannelRoles(schemeGuest, schemeUser, schemeAdmin bool, defaultTeamGuest
|
||||
} else if defaultTeamUserRole != "" {
|
||||
schemeImpliedRoles = append(schemeImpliedRoles, defaultTeamUserRole)
|
||||
} else {
|
||||
schemeImpliedRoles = append(schemeImpliedRoles, model.CHANNEL_USER_ROLE_ID)
|
||||
schemeImpliedRoles = append(schemeImpliedRoles, model.ChannelUserRoleId)
|
||||
}
|
||||
}
|
||||
if result.schemeAdmin {
|
||||
@@ -171,7 +171,7 @@ func getChannelRoles(schemeGuest, schemeUser, schemeAdmin bool, defaultTeamGuest
|
||||
} else if defaultTeamAdminRole != "" {
|
||||
schemeImpliedRoles = append(schemeImpliedRoles, defaultTeamAdminRole)
|
||||
} else {
|
||||
schemeImpliedRoles = append(schemeImpliedRoles, model.CHANNEL_ADMIN_ROLE_ID)
|
||||
schemeImpliedRoles = append(schemeImpliedRoles, model.ChannelAdminRoleId)
|
||||
}
|
||||
}
|
||||
for _, impliedRole := range schemeImpliedRoles {
|
||||
@@ -288,7 +288,7 @@ func (db allChannelMember) Process() (string, string) {
|
||||
} else if db.TeamSchemeDefaultGuestRole.Valid && db.TeamSchemeDefaultGuestRole.String != "" {
|
||||
schemeImpliedRoles = append(schemeImpliedRoles, db.TeamSchemeDefaultGuestRole.String)
|
||||
} else {
|
||||
schemeImpliedRoles = append(schemeImpliedRoles, model.CHANNEL_GUEST_ROLE_ID)
|
||||
schemeImpliedRoles = append(schemeImpliedRoles, model.ChannelGuestRoleId)
|
||||
}
|
||||
}
|
||||
if db.SchemeUser.Valid && db.SchemeUser.Bool {
|
||||
@@ -297,7 +297,7 @@ func (db allChannelMember) Process() (string, string) {
|
||||
} else if db.TeamSchemeDefaultUserRole.Valid && db.TeamSchemeDefaultUserRole.String != "" {
|
||||
schemeImpliedRoles = append(schemeImpliedRoles, db.TeamSchemeDefaultUserRole.String)
|
||||
} else {
|
||||
schemeImpliedRoles = append(schemeImpliedRoles, model.CHANNEL_USER_ROLE_ID)
|
||||
schemeImpliedRoles = append(schemeImpliedRoles, model.ChannelUserRoleId)
|
||||
}
|
||||
}
|
||||
if db.SchemeAdmin.Valid && db.SchemeAdmin.Bool {
|
||||
@@ -306,7 +306,7 @@ func (db allChannelMember) Process() (string, string) {
|
||||
} else if db.TeamSchemeDefaultAdminRole.Valid && db.TeamSchemeDefaultAdminRole.String != "" {
|
||||
schemeImpliedRoles = append(schemeImpliedRoles, db.TeamSchemeDefaultAdminRole.String)
|
||||
} else {
|
||||
schemeImpliedRoles = append(schemeImpliedRoles, model.CHANNEL_ADMIN_ROLE_ID)
|
||||
schemeImpliedRoles = append(schemeImpliedRoles, model.ChannelAdminRoleId)
|
||||
}
|
||||
}
|
||||
for _, impliedRole := range schemeImpliedRoles {
|
||||
@@ -353,7 +353,7 @@ var allChannelMembersNotifyPropsForChannelCache = cache.NewLRU(cache.LRUOptions{
|
||||
Size: AllChannelMembersNotifyPropsForChannelCacheSize,
|
||||
})
|
||||
var channelByNameCache = cache.NewLRU(cache.LRUOptions{
|
||||
Size: model.CHANNEL_CACHE_SIZE,
|
||||
Size: model.ChannelCacheSize,
|
||||
})
|
||||
|
||||
func (s SqlChannelStore) ClearCaches() {
|
||||
@@ -425,7 +425,7 @@ func (s SqlChannelStore) createIndexesIfNotExists() {
|
||||
s.CreateIndexIfNotExists("idx_channels_create_at", "Channels", "CreateAt")
|
||||
s.CreateIndexIfNotExists("idx_channels_delete_at", "Channels", "DeleteAt")
|
||||
|
||||
if s.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
if s.DriverName() == model.DatabaseDriverPostgres {
|
||||
s.CreateIndexIfNotExists("idx_channels_name_lower", "Channels", "lower(Name)")
|
||||
s.CreateIndexIfNotExists("idx_channels_displayname_lower", "Channels", "lower(DisplayName)")
|
||||
}
|
||||
@@ -436,7 +436,7 @@ func (s SqlChannelStore) createIndexesIfNotExists() {
|
||||
|
||||
s.CreateIndexIfNotExists("idx_publicchannels_team_id", "PublicChannels", "TeamId")
|
||||
s.CreateIndexIfNotExists("idx_publicchannels_delete_at", "PublicChannels", "DeleteAt")
|
||||
if s.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
if s.DriverName() == model.DatabaseDriverPostgres {
|
||||
s.CreateIndexIfNotExists("idx_publicchannels_name_lower", "PublicChannels", "lower(Name)")
|
||||
s.CreateIndexIfNotExists("idx_publicchannels_displayname_lower", "PublicChannels", "lower(DisplayName)")
|
||||
}
|
||||
@@ -477,7 +477,7 @@ func (s SqlChannelStore) upsertPublicChannelT(transaction *gorp.Transaction, cha
|
||||
Purpose: channel.Purpose,
|
||||
}
|
||||
|
||||
if channel.Type != model.CHANNEL_OPEN {
|
||||
if channel.Type != model.ChannelTypeOpen {
|
||||
if _, err := transaction.Delete(publicChannel); err != nil {
|
||||
return errors.Wrap(err, "failed to delete public channel")
|
||||
}
|
||||
@@ -495,7 +495,7 @@ func (s SqlChannelStore) upsertPublicChannelT(transaction *gorp.Transaction, cha
|
||||
"Purpose": publicChannel.Purpose,
|
||||
}
|
||||
var err error
|
||||
if s.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
if s.DriverName() == model.DatabaseDriverMysql {
|
||||
_, err = transaction.Exec(`
|
||||
INSERT INTO
|
||||
PublicChannels(Id, DeleteAt, TeamId, DisplayName, Name, Header, Purpose)
|
||||
@@ -537,7 +537,7 @@ func (s SqlChannelStore) Save(channel *model.Channel, maxChannelsPerTeam int64)
|
||||
return nil, store.NewErrInvalidInput("Channel", "DeleteAt", channel.DeleteAt)
|
||||
}
|
||||
|
||||
if channel.Type == model.CHANNEL_DIRECT {
|
||||
if channel.Type == model.ChannelTypeDirect {
|
||||
return nil, store.NewErrInvalidInput("Channel", "Type", channel.Type)
|
||||
}
|
||||
|
||||
@@ -577,7 +577,7 @@ func (s SqlChannelStore) CreateDirectChannel(user *model.User, otherUser *model.
|
||||
channel.Name = model.GetDMNameFromIds(otherUser.Id, user.Id)
|
||||
|
||||
channel.Header = ""
|
||||
channel.Type = model.CHANNEL_DIRECT
|
||||
channel.Type = model.ChannelTypeDirect
|
||||
channel.Shared = model.NewBool(user.IsRemote() || otherUser.IsRemote())
|
||||
channel.CreatorId = user.Id
|
||||
|
||||
@@ -602,7 +602,7 @@ func (s SqlChannelStore) SaveDirectChannel(directChannel *model.Channel, member1
|
||||
return nil, store.NewErrInvalidInput("Channel", "DeleteAt", directChannel.DeleteAt)
|
||||
}
|
||||
|
||||
if directChannel.Type != model.CHANNEL_DIRECT {
|
||||
if directChannel.Type != model.ChannelTypeDirect {
|
||||
return nil, store.NewErrInvalidInput("Channel", "Type", directChannel.Type)
|
||||
}
|
||||
|
||||
@@ -649,7 +649,7 @@ func (s SqlChannelStore) saveChannelT(transaction *gorp.Transaction, channel *mo
|
||||
return nil, err // we just pass through the error as-is for now.
|
||||
}
|
||||
|
||||
if channel.Type != model.CHANNEL_DIRECT && channel.Type != model.CHANNEL_GROUP && maxChannelsPerTeam >= 0 {
|
||||
if channel.Type != model.ChannelTypeDirect && channel.Type != model.ChannelTypeGroup && maxChannelsPerTeam >= 0 {
|
||||
if count, err := transaction.SelectInt("SELECT COUNT(0) FROM Channels WHERE TeamId = :TeamId AND DeleteAt = 0 AND (Type = 'O' OR Type = 'P')", map[string]interface{}{"TeamId": channel.TeamId}); err != nil {
|
||||
return nil, errors.Wrapf(err, "save_channel_count: teamId=%s", channel.TeamId)
|
||||
} else if count >= maxChannelsPerTeam {
|
||||
@@ -1043,7 +1043,7 @@ func (s SqlChannelStore) getAllChannelsQuery(opts store.ChannelSearchOpts, forCo
|
||||
query := s.getQueryBuilder().
|
||||
Select(selectStr).
|
||||
From("Channels AS c").
|
||||
Where(sq.Eq{"c.Type": []string{model.CHANNEL_PRIVATE, model.CHANNEL_OPEN}})
|
||||
Where(sq.Eq{"c.Type": []string{model.ChannelTypePrivate, model.ChannelTypeOpen}})
|
||||
|
||||
if !forCount {
|
||||
query = query.Join("Teams ON Teams.Id = c.TeamId")
|
||||
@@ -1119,7 +1119,7 @@ func (s SqlChannelStore) GetPrivateChannelsForTeam(teamId string, offset int, li
|
||||
builder := s.getQueryBuilder().
|
||||
Select("*").
|
||||
From("Channels").
|
||||
Where(sq.Eq{"Type": model.CHANNEL_PRIVATE, "TeamId": teamId, "DeleteAt": 0}).
|
||||
Where(sq.Eq{"Type": model.ChannelTypePrivate, "TeamId": teamId, "DeleteAt": 0}).
|
||||
OrderBy("DisplayName").
|
||||
Limit(uint64(limit)).
|
||||
Offset(uint64(offset))
|
||||
@@ -1907,7 +1907,7 @@ func (s SqlChannelStore) GetMemberCountsByGroup(ctx context.Context, channelID s
|
||||
manualTimezone := `LOCATE(',', Users.Timezone) + 19`
|
||||
manualTimezoneEnd := `LOCATE('useAutomaticTimezone', Users.Timezone) - 22 - LOCATE(',', Users.Timezone)`
|
||||
|
||||
if s.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
if s.DriverName() == model.DatabaseDriverPostgres {
|
||||
autoTimezone = `POSITION(':' IN Users.Timezone) + 2`
|
||||
autoTimezoneEnd = `POSITION(',' IN Users.Timezone) - POSITION(':' IN Users.Timezone) - 3`
|
||||
manualTimezone = `POSITION(',' IN Users.Timezone) + 19`
|
||||
@@ -2096,7 +2096,7 @@ func (s SqlChannelStore) UpdateLastViewedAt(channelIds []string, userId string,
|
||||
|
||||
query := `SELECT Id, LastPostAt, TotalMsgCount, TotalMsgCountRoot FROM Channels WHERE Id IN ` + keys
|
||||
// TODO: use a CTE for mysql too when version 8 becomes the minimum supported version.
|
||||
if s.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
if s.DriverName() == model.DatabaseDriverPostgres {
|
||||
query = `WITH c AS ( ` + query + `),
|
||||
updated AS (
|
||||
UPDATE
|
||||
@@ -2125,7 +2125,7 @@ func (s SqlChannelStore) UpdateLastViewedAt(channelIds []string, userId string,
|
||||
}
|
||||
|
||||
times := map[string]int64{}
|
||||
if s.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
if s.DriverName() == model.DatabaseDriverPostgres {
|
||||
for _, t := range lastPostAtTimes {
|
||||
times[t.Id] = t.LastPostAt
|
||||
}
|
||||
@@ -2181,16 +2181,16 @@ func (s SqlChannelStore) UpdateLastViewedAt(channelIds []string, userId string,
|
||||
func (s SqlChannelStore) CountPostsAfter(channelId string, timestamp int64, userId string) (int, int, error) {
|
||||
joinLeavePostTypes := []string{
|
||||
// These types correspond to the ones checked by Post.IsJoinLeaveMessage
|
||||
model.POST_JOIN_LEAVE,
|
||||
model.POST_ADD_REMOVE,
|
||||
model.POST_JOIN_CHANNEL,
|
||||
model.POST_LEAVE_CHANNEL,
|
||||
model.POST_JOIN_TEAM,
|
||||
model.POST_LEAVE_TEAM,
|
||||
model.POST_ADD_TO_CHANNEL,
|
||||
model.POST_REMOVE_FROM_CHANNEL,
|
||||
model.POST_ADD_TO_TEAM,
|
||||
model.POST_REMOVE_FROM_TEAM,
|
||||
model.PostTypeJoinLeave,
|
||||
model.PostTypeAddRemove,
|
||||
model.PostTypeJoinChannel,
|
||||
model.PostTypeLeaveChannel,
|
||||
model.PostTypeJoinTeam,
|
||||
model.PostTypeLeaveTeam,
|
||||
model.PostTypeAddToChannel,
|
||||
model.PostTypeRemoveFromChannel,
|
||||
model.PostTypeAddToTeam,
|
||||
model.PostTypeRemoveFromTeam,
|
||||
}
|
||||
query := s.getQueryBuilder().Select("count(*)").From("Posts").Where(sq.Eq{"ChannelId": channelId}).Where(sq.Gt{"CreateAt": timestamp}).Where(sq.NotEq{"Type": joinLeavePostTypes}).Where(sq.Eq{"DeleteAt": 0})
|
||||
|
||||
@@ -2444,7 +2444,7 @@ func (s SqlChannelStore) AutocompleteInTeam(teamId string, term string, includeD
|
||||
Channels.TeamId = :TeamId
|
||||
` + deleteFilter + `
|
||||
%v
|
||||
LIMIT ` + strconv.Itoa(model.CHANNEL_SEARCH_DEFAULT_LIMIT)
|
||||
LIMIT ` + strconv.Itoa(model.ChannelSearchDefaultLimit)
|
||||
|
||||
var channels model.ChannelList
|
||||
|
||||
@@ -2764,11 +2764,11 @@ func (s SqlChannelStore) channelSearchQuery(opts *store.ChannelSearchOpts) sq.Se
|
||||
if opts.Public && !opts.Private {
|
||||
query = query.InnerJoin("PublicChannels ON c.Id = PublicChannels.Id")
|
||||
} else if opts.Private && !opts.Public {
|
||||
query = query.Where(sq.Eq{"c.Type": model.CHANNEL_PRIVATE})
|
||||
query = query.Where(sq.Eq{"c.Type": model.ChannelTypePrivate})
|
||||
} else {
|
||||
query = query.Where(sq.Or{
|
||||
sq.Eq{"c.Type": model.CHANNEL_OPEN},
|
||||
sq.Eq{"c.Type": model.CHANNEL_PRIVATE},
|
||||
sq.Eq{"c.Type": model.ChannelTypeOpen},
|
||||
sq.Eq{"c.Type": model.ChannelTypePrivate},
|
||||
})
|
||||
}
|
||||
|
||||
@@ -2848,7 +2848,7 @@ func (s SqlChannelStore) buildLIKEClause(term string, searchColumns string) (lik
|
||||
// Prepare the LIKE portion of the query.
|
||||
var searchFields []string
|
||||
for _, field := range strings.Split(searchColumns, ", ") {
|
||||
if s.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
if s.DriverName() == model.DatabaseDriverPostgres {
|
||||
searchFields = append(searchFields, fmt.Sprintf("lower(%s) LIKE lower(%s) escape '*'", field, ":LikeTerm"))
|
||||
} else {
|
||||
searchFields = append(searchFields, fmt.Sprintf("%s LIKE %s escape '*'", field, ":LikeTerm"))
|
||||
@@ -2870,7 +2870,7 @@ func (s SqlChannelStore) buildFulltextClause(term string, searchColumns string)
|
||||
}
|
||||
|
||||
// Prepare the FULLTEXT portion of the query.
|
||||
if s.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
if s.DriverName() == model.DatabaseDriverPostgres {
|
||||
fulltextTerm = strings.Replace(fulltextTerm, "|", "", -1)
|
||||
|
||||
splitTerm := strings.Fields(fulltextTerm)
|
||||
@@ -2885,7 +2885,7 @@ func (s SqlChannelStore) buildFulltextClause(term string, searchColumns string)
|
||||
fulltextTerm = strings.Join(splitTerm, " ")
|
||||
|
||||
fulltextClause = fmt.Sprintf("((to_tsvector('english', %s)) @@ to_tsquery('english', :FulltextTerm))", convertMySQLFullTextColumnsToPostgres(searchColumns))
|
||||
} else if s.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
} else if s.DriverName() == model.DatabaseDriverMysql {
|
||||
splitTerm := strings.Fields(fulltextTerm)
|
||||
for i, t := range strings.Fields(fulltextTerm) {
|
||||
splitTerm[i] = "+" + t + "*"
|
||||
@@ -2958,7 +2958,7 @@ func (s SqlChannelStore) getSearchGroupChannelsQuery(userId, term string, isPost
|
||||
HAVING
|
||||
%s
|
||||
LIMIT
|
||||
` + strconv.Itoa(model.CHANNEL_SEARCH_DEFAULT_LIMIT) + `
|
||||
` + strconv.Itoa(model.ChannelSearchDefaultLimit) + `
|
||||
)`
|
||||
} else {
|
||||
baseLikeClause = "GROUP_CONCAT(u.Username SEPARATOR ', ') LIKE %s"
|
||||
@@ -2990,7 +2990,7 @@ func (s SqlChannelStore) getSearchGroupChannelsQuery(userId, term string, isPost
|
||||
HAVING
|
||||
%s
|
||||
LIMIT
|
||||
` + strconv.Itoa(model.CHANNEL_SEARCH_DEFAULT_LIMIT)
|
||||
` + strconv.Itoa(model.ChannelSearchDefaultLimit)
|
||||
}
|
||||
|
||||
var likeClauses []string
|
||||
@@ -3009,7 +3009,7 @@ func (s SqlChannelStore) getSearchGroupChannelsQuery(userId, term string, isPost
|
||||
}
|
||||
|
||||
func (s SqlChannelStore) SearchGroupChannels(userId, term string) (*model.ChannelList, error) {
|
||||
isPostgreSQL := s.DriverName() == model.DATABASE_DRIVER_POSTGRES
|
||||
isPostgreSQL := s.DriverName() == model.DatabaseDriverPostgres
|
||||
queryString, args := s.getSearchGroupChannelsQuery(userId, term, isPostgreSQL)
|
||||
|
||||
var groupChannels model.ChannelList
|
||||
@@ -3091,11 +3091,11 @@ func (s SqlChannelStore) MigrateChannelMembers(fromChannelId string, fromUserId
|
||||
member.SchemeGuest = sql.NullBool{Bool: false, Valid: true}
|
||||
}
|
||||
for _, role := range roles {
|
||||
if role == model.CHANNEL_ADMIN_ROLE_ID {
|
||||
if role == model.ChannelAdminRoleId {
|
||||
member.SchemeAdmin = sql.NullBool{Bool: true, Valid: true}
|
||||
} else if role == model.CHANNEL_USER_ROLE_ID {
|
||||
} else if role == model.ChannelUserRoleId {
|
||||
member.SchemeUser = sql.NullBool{Bool: true, Valid: true}
|
||||
} else if role == model.CHANNEL_GUEST_ROLE_ID {
|
||||
} else if role == model.ChannelGuestRoleId {
|
||||
member.SchemeGuest = sql.NullBool{Bool: true, Valid: true}
|
||||
} else {
|
||||
newRoles = append(newRoles, role)
|
||||
|
||||
@@ -157,7 +157,7 @@ func (s SqlChannelStore) migrateFavoritesToSidebarT(transaction *gorp.Transactio
|
||||
Join("ChannelMembers on Preferences.Name = ChannelMembers.ChannelId and Preferences.UserId = ChannelMembers.UserId").
|
||||
Where(sq.Eq{
|
||||
"Preferences.UserId": userId,
|
||||
"Preferences.Category": model.PREFERENCE_CATEGORY_FAVORITE_CHANNEL,
|
||||
"Preferences.Category": model.PreferenceCategoryFavoriteChannel,
|
||||
"Preferences.Value": "true",
|
||||
}).
|
||||
Where(sq.Or{
|
||||
@@ -203,7 +203,7 @@ func (s SqlChannelStore) MigrateFavoritesToSidebarChannels(lastUserId string, ru
|
||||
Select("Preferences.UserId", "Preferences.Name AS ChannelId", "SidebarCategories.Id AS CategoryId").
|
||||
From("Preferences").
|
||||
Where(sq.And{
|
||||
sq.Eq{"Preferences.Category": model.PREFERENCE_CATEGORY_FAVORITE_CHANNEL},
|
||||
sq.Eq{"Preferences.Category": model.PreferenceCategoryFavoriteChannel},
|
||||
sq.NotEq{"Preferences.Value": "false"},
|
||||
sq.NotEq{"SidebarCategories.Id": nil},
|
||||
sq.Gt{"Preferences.UserId": lastUserId},
|
||||
@@ -288,7 +288,7 @@ func (s SqlChannelStore) CreateSidebarCategory(userId, teamId string, newCategor
|
||||
|
||||
// Remove any channels from their previous categories and add them to the new one
|
||||
var deleteQuery string
|
||||
if s.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
if s.DriverName() == model.DatabaseDriverMysql {
|
||||
deleteQuery = `
|
||||
DELETE
|
||||
SidebarChannels
|
||||
@@ -378,11 +378,11 @@ func (s SqlChannelStore) completePopulatingCategoryChannelsT(db dbSelecter, cate
|
||||
var channelTypeFilter sq.Sqlizer
|
||||
if category.Type == model.SidebarCategoryDirectMessages {
|
||||
// any DM/GM channels that aren't in any category should be returned as part of the Direct Messages category
|
||||
channelTypeFilter = sq.Eq{"Channels.Type": []string{model.CHANNEL_DIRECT, model.CHANNEL_GROUP}}
|
||||
channelTypeFilter = sq.Eq{"Channels.Type": []string{model.ChannelTypeDirect, model.ChannelTypeGroup}}
|
||||
} else if category.Type == model.SidebarCategoryChannels {
|
||||
// any public/private channels that are on the current team and aren't in any category should be returned as part of the Channels category
|
||||
channelTypeFilter = sq.And{
|
||||
sq.Eq{"Channels.Type": []string{model.CHANNEL_OPEN, model.CHANNEL_PRIVATE}},
|
||||
sq.Eq{"Channels.Type": []string{model.ChannelTypeOpen, model.ChannelTypePrivate}},
|
||||
sq.Eq{"Channels.TeamId": category.TeamId},
|
||||
}
|
||||
}
|
||||
@@ -705,7 +705,7 @@ func (s SqlChannelStore) UpdateSidebarCategories(userId, teamId string, categori
|
||||
sq.Eq{
|
||||
"UserId": userId,
|
||||
"Name": originalCategory.Channels,
|
||||
"Category": model.PREFERENCE_CATEGORY_FAVORITE_CHANNEL,
|
||||
"Category": model.PreferenceCategoryFavoriteChannel,
|
||||
},
|
||||
).ToSql()
|
||||
|
||||
@@ -720,7 +720,7 @@ func (s SqlChannelStore) UpdateSidebarCategories(userId, teamId string, categori
|
||||
if err = s.Preference().(*SqlPreferenceStore).save(transaction, &model.Preference{
|
||||
Name: channelID,
|
||||
UserId: userId,
|
||||
Category: model.PREFERENCE_CATEGORY_FAVORITE_CHANNEL,
|
||||
Category: model.PreferenceCategoryFavoriteChannel,
|
||||
Value: "true",
|
||||
}); err != nil {
|
||||
return nil, nil, errors.Wrap(err, "failed to save Preference")
|
||||
@@ -732,7 +732,7 @@ func (s SqlChannelStore) UpdateSidebarCategories(userId, teamId string, categori
|
||||
sq.Eq{
|
||||
"UserId": userId,
|
||||
"Name": category.Channels,
|
||||
"Category": model.PREFERENCE_CATEGORY_FAVORITE_CHANNEL,
|
||||
"Category": model.PreferenceCategoryFavoriteChannel,
|
||||
},
|
||||
).ToSql()
|
||||
if nErr != nil {
|
||||
@@ -777,7 +777,7 @@ func (s SqlChannelStore) UpdateSidebarChannelsByPreferences(preferences *model.P
|
||||
for _, preference := range *preferences {
|
||||
preference := preference
|
||||
|
||||
if preference.Category != model.PREFERENCE_CATEGORY_FAVORITE_CHANNEL {
|
||||
if preference.Category != model.PreferenceCategoryFavoriteChannel {
|
||||
continue
|
||||
}
|
||||
|
||||
@@ -801,7 +801,7 @@ func (s SqlChannelStore) UpdateSidebarChannelsByPreferences(preferences *model.P
|
||||
}
|
||||
|
||||
func (s SqlChannelStore) removeSidebarEntriesForPreferenceT(transaction *gorp.Transaction, preference *model.Preference) error {
|
||||
if preference.Category != model.PREFERENCE_CATEGORY_FAVORITE_CHANNEL {
|
||||
if preference.Category != model.PreferenceCategoryFavoriteChannel {
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -813,7 +813,7 @@ func (s SqlChannelStore) removeSidebarEntriesForPreferenceT(transaction *gorp.Tr
|
||||
"CategoryType": model.SidebarCategoryFavorites,
|
||||
}
|
||||
var query string
|
||||
if s.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
if s.DriverName() == model.DatabaseDriverMysql {
|
||||
query = `
|
||||
DELETE
|
||||
SidebarChannels
|
||||
@@ -846,7 +846,7 @@ func (s SqlChannelStore) removeSidebarEntriesForPreferenceT(transaction *gorp.Tr
|
||||
}
|
||||
|
||||
func (s SqlChannelStore) addChannelToFavoritesCategoryT(transaction *gorp.Transaction, preference *model.Preference) error {
|
||||
if preference.Category != model.PREFERENCE_CATEGORY_FAVORITE_CHANNEL {
|
||||
if preference.Category != model.PreferenceCategoryFavoriteChannel {
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -928,7 +928,7 @@ func (s SqlChannelStore) DeleteSidebarChannelsByPreferences(preferences *model.P
|
||||
for _, preference := range *preferences {
|
||||
preference := preference
|
||||
|
||||
if preference.Category != model.PREFERENCE_CATEGORY_FAVORITE_CHANNEL {
|
||||
if preference.Category != model.PreferenceCategoryFavoriteChannel {
|
||||
continue
|
||||
}
|
||||
|
||||
@@ -961,7 +961,7 @@ func (s SqlChannelStore) ClearSidebarOnTeamLeave(userId, teamId string) error {
|
||||
}
|
||||
|
||||
var deleteQuery string
|
||||
if s.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
if s.DriverName() == model.DatabaseDriverMysql {
|
||||
deleteQuery = "DELETE SidebarChannels FROM SidebarChannels LEFT JOIN SidebarCategories ON SidebarCategories.Id = SidebarChannels.CategoryId WHERE SidebarCategories.TeamId=:TeamId AND SidebarCategories.UserId=:UserId"
|
||||
} else {
|
||||
deleteQuery = `
|
||||
|
||||
@@ -92,7 +92,7 @@ func (s sqlClusterDiscoveryStore) GetAll(ClusterDiscoveryType, clusterName strin
|
||||
From("ClusterDiscovery").
|
||||
Where(sq.Eq{"Type": ClusterDiscoveryType}).
|
||||
Where(sq.Eq{"ClusterName": clusterName}).
|
||||
Where(sq.Gt{"LastPingAt": model.GetMillis() - model.CDS_OFFLINE_AFTER_MILLIS})
|
||||
Where(sq.Gt{"LastPingAt": model.GetMillis() - model.CDSOfflineAfterMillis})
|
||||
|
||||
queryString, args, err := query.ToSql()
|
||||
if err != nil {
|
||||
@@ -128,7 +128,7 @@ func (s sqlClusterDiscoveryStore) SetLastPingAt(ClusterDiscovery *model.ClusterD
|
||||
func (s sqlClusterDiscoveryStore) Cleanup() error {
|
||||
query := s.getQueryBuilder().
|
||||
Delete("ClusterDiscovery").
|
||||
Where(sq.Lt{"LastPingAt": model.GetMillis() - model.CDS_OFFLINE_AFTER_MILLIS})
|
||||
Where(sq.Lt{"LastPingAt": model.GetMillis() - model.CDSOfflineAfterMillis})
|
||||
|
||||
queryString, args, err := query.ToSql()
|
||||
if err != nil {
|
||||
|
||||
@@ -58,7 +58,7 @@ func (s SqlCommandWebhookStore) Save(webhook *model.CommandWebhook) (*model.Comm
|
||||
func (s SqlCommandWebhookStore) Get(id string) (*model.CommandWebhook, error) {
|
||||
var webhook model.CommandWebhook
|
||||
|
||||
exptime := model.GetMillis() - model.COMMAND_WEBHOOK_LIFETIME
|
||||
exptime := model.GetMillis() - model.CommandWebhookLifetime
|
||||
|
||||
query := s.getQueryBuilder().
|
||||
Select("*").
|
||||
@@ -104,7 +104,7 @@ func (s SqlCommandWebhookStore) TryUse(id string, limit int) error {
|
||||
|
||||
func (s SqlCommandWebhookStore) Cleanup() {
|
||||
mlog.Debug("Cleaning up command webhook store.")
|
||||
exptime := model.GetMillis() - model.COMMAND_WEBHOOK_LIFETIME
|
||||
exptime := model.GetMillis() - model.CommandWebhookLifetime
|
||||
|
||||
query := s.getQueryBuilder().
|
||||
Delete("CommandWebhooks").
|
||||
|
||||
@@ -88,7 +88,7 @@ func (es SqlEmojiStore) GetList(offset, limit int, sort string) ([]*model.Emoji,
|
||||
|
||||
query := "SELECT * FROM Emoji WHERE DeleteAt = 0"
|
||||
|
||||
if sort == model.EMOJI_SORT_BY_NAME {
|
||||
if sort == model.EmojiSortByName {
|
||||
query += " ORDER BY Name"
|
||||
}
|
||||
|
||||
|
||||
@@ -81,7 +81,7 @@ func (fs SqlFileInfoStore) createIndexesIfNotExists() {
|
||||
fs.CreateIndexIfNotExists("idx_fileinfo_postid_at", "FileInfo", "PostId")
|
||||
fs.CreateIndexIfNotExists("idx_fileinfo_extension_at", "FileInfo", "Extension")
|
||||
fs.CreateFullTextIndexIfNotExists("idx_fileinfo_name_txt", "FileInfo", "Name")
|
||||
if fs.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
if fs.DriverName() == model.DatabaseDriverPostgres {
|
||||
fs.CreateFullTextFuncIndexIfNotExists("idx_fileinfo_name_splitted", "FileInfo", "Translate(Name, '.,-', ' ')")
|
||||
}
|
||||
fs.CreateFullTextIndexIfNotExists("idx_fileinfo_content_txt", "FileInfo", "Content")
|
||||
@@ -210,7 +210,7 @@ func (fs SqlFileInfoStore) GetWithOptions(page, perPage int, opt *model.GetFileI
|
||||
}
|
||||
|
||||
if opt.SortBy == "" {
|
||||
opt.SortBy = model.FILEINFO_SORT_BY_CREATED
|
||||
opt.SortBy = model.FileinfoSortByCreated
|
||||
}
|
||||
sortDirection := "ASC"
|
||||
if opt.SortDescending {
|
||||
@@ -218,9 +218,9 @@ func (fs SqlFileInfoStore) GetWithOptions(page, perPage int, opt *model.GetFileI
|
||||
}
|
||||
|
||||
switch opt.SortBy {
|
||||
case model.FILEINFO_SORT_BY_CREATED:
|
||||
case model.FileinfoSortByCreated:
|
||||
query = query.OrderBy("FileInfo.CreateAt " + sortDirection)
|
||||
case model.FILEINFO_SORT_BY_SIZE:
|
||||
case model.FileinfoSortBySize:
|
||||
query = query.OrderBy("FileInfo.Size " + sortDirection)
|
||||
default:
|
||||
return nil, store.NewErrInvalidInput("FileInfo", "<sortOption>", opt.SortBy)
|
||||
@@ -528,7 +528,7 @@ func (fs SqlFileInfoStore) Search(paramsList []*model.SearchParams, userId, team
|
||||
|
||||
if terms == "" && excludedTerms == "" {
|
||||
// we've already confirmed that we have a channel or user to search for
|
||||
} else if fs.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
} else if fs.DriverName() == model.DatabaseDriverPostgres {
|
||||
// Parse text for wildcards
|
||||
if wildcard, err := regexp.Compile(`\*($| )`); err == nil {
|
||||
terms = wildcard.ReplaceAllLiteralString(terms, ":* ")
|
||||
@@ -552,7 +552,7 @@ func (fs SqlFileInfoStore) Search(paramsList []*model.SearchParams, userId, team
|
||||
sq.Expr("to_tsvector('english', Translate(FileInfo.Name, '.,-', ' ')) @@ to_tsquery('english', ?)", queryTerms),
|
||||
sq.Expr("to_tsvector('english', FileInfo.Content) @@ to_tsquery('english', ?)", queryTerms),
|
||||
})
|
||||
} else if fs.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
} else if fs.DriverName() == model.DatabaseDriverMysql {
|
||||
var err error
|
||||
terms, err = removeMysqlStopWordsFromTerms(terms)
|
||||
if err != nil {
|
||||
|
||||
@@ -411,9 +411,9 @@ func (s *SqlGroupStore) UpsertMember(groupID string, userID string) (*model.Grou
|
||||
Columns("GroupId", "UserId", "CreateAt", "DeleteAt").
|
||||
Values(member.GroupId, member.UserId, member.CreateAt, member.DeleteAt)
|
||||
|
||||
if s.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
if s.DriverName() == model.DatabaseDriverMysql {
|
||||
query = query.SuffixExpr(sq.Expr("ON DUPLICATE KEY UPDATE CreateAt = ?, DeleteAt = ?", member.CreateAt, member.DeleteAt))
|
||||
} else if s.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
} else if s.DriverName() == model.DatabaseDriverPostgres {
|
||||
query = query.SuffixExpr(sq.Expr("ON CONFLICT (groupid, userid) DO UPDATE SET CreateAt = ?, DeleteAt = ?", member.CreateAt, member.DeleteAt))
|
||||
}
|
||||
|
||||
@@ -1010,7 +1010,7 @@ func (s *SqlGroupStore) groupsBySyncableBaseQuery(st model.GroupSyncableType, t
|
||||
if opts.Q != "" {
|
||||
pattern := fmt.Sprintf("%%%s%%", sanitizeSearchTerm(opts.Q, "\\"))
|
||||
operatorKeyword := "ILIKE"
|
||||
if s.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
if s.DriverName() == model.DatabaseDriverMysql {
|
||||
operatorKeyword = "LIKE"
|
||||
}
|
||||
query = query.Where(fmt.Sprintf("(ug.Name %[1]s ? OR ug.DisplayName %[1]s ?)", operatorKeyword), pattern, pattern)
|
||||
@@ -1075,7 +1075,7 @@ func (s *SqlGroupStore) getGroupsAssociatedToChannelsByTeam(teamID string, opts
|
||||
if opts.Q != "" {
|
||||
pattern := fmt.Sprintf("%%%s%%", sanitizeSearchTerm(opts.Q, "\\"))
|
||||
operatorKeyword := "ILIKE"
|
||||
if s.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
if s.DriverName() == model.DatabaseDriverMysql {
|
||||
operatorKeyword = "LIKE"
|
||||
}
|
||||
query = query.Where(fmt.Sprintf("(ug.Name %[1]s ? OR ug.DisplayName %[1]s ?)", operatorKeyword), pattern, pattern)
|
||||
@@ -1195,7 +1195,7 @@ func (s *SqlGroupStore) GetGroups(page, perPage int, opts model.GroupSearchOpts)
|
||||
if opts.Q != "" {
|
||||
pattern := fmt.Sprintf("%%%s%%", sanitizeSearchTerm(opts.Q, "\\"))
|
||||
operatorKeyword := "ILIKE"
|
||||
if s.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
if s.DriverName() == model.DatabaseDriverMysql {
|
||||
operatorKeyword = "LIKE"
|
||||
}
|
||||
groupsQuery = groupsQuery.Where(fmt.Sprintf("(g.Name %[1]s ? OR g.DisplayName %[1]s ?)", operatorKeyword), pattern, pattern)
|
||||
@@ -1284,7 +1284,7 @@ func (s *SqlGroupStore) teamMembersMinusGroupMembersQuery(teamID string, groupID
|
||||
selectStr = "count(DISTINCT Users.Id)"
|
||||
} else {
|
||||
tmpl := "Users.*, coalesce(TeamMembers.SchemeGuest, false), TeamMembers.SchemeAdmin, TeamMembers.SchemeUser, %s AS GroupIDs"
|
||||
if s.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
if s.DriverName() == model.DatabaseDriverMysql {
|
||||
selectStr = fmt.Sprintf(tmpl, "group_concat(UserGroups.Id)")
|
||||
} else {
|
||||
selectStr = fmt.Sprintf(tmpl, "string_agg(UserGroups.Id, ',')")
|
||||
@@ -1362,7 +1362,7 @@ func (s *SqlGroupStore) channelMembersMinusGroupMembersQuery(channelID string, g
|
||||
selectStr = "count(DISTINCT Users.Id)"
|
||||
} else {
|
||||
tmpl := "Users.*, coalesce(ChannelMembers.SchemeGuest, false), ChannelMembers.SchemeAdmin, ChannelMembers.SchemeUser, %s AS GroupIDs"
|
||||
if s.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
if s.DriverName() == model.DatabaseDriverMysql {
|
||||
selectStr = fmt.Sprintf(tmpl, "group_concat(UserGroups.Id)")
|
||||
} else {
|
||||
selectStr = fmt.Sprintf(tmpl, "string_agg(UserGroups.Id, ',')")
|
||||
|
||||
@@ -215,7 +215,7 @@ func checkTeamsChannelsIntegrity(ss *SqlStore) model.IntegrityCheckResult {
|
||||
parentIdAttr: "TeamId",
|
||||
childName: "Channels",
|
||||
childIdAttr: "Id",
|
||||
filter: sq.NotEq{"CT.Type": []string{model.CHANNEL_DIRECT, model.CHANNEL_GROUP}},
|
||||
filter: sq.NotEq{"CT.Type": []string{model.ChannelTypeDirect, model.ChannelTypeGroup}},
|
||||
})
|
||||
res2 := checkParentChildIntegrity(ss, relationalCheckConfig{
|
||||
parentName: "Teams",
|
||||
@@ -223,7 +223,7 @@ func checkTeamsChannelsIntegrity(ss *SqlStore) model.IntegrityCheckResult {
|
||||
childName: "Channels",
|
||||
childIdAttr: "Id",
|
||||
canParentIdBeEmpty: true,
|
||||
filter: sq.Eq{"CT.Type": []string{model.CHANNEL_DIRECT, model.CHANNEL_GROUP}},
|
||||
filter: sq.Eq{"CT.Type": []string{model.ChannelTypeDirect, model.ChannelTypeGroup}},
|
||||
})
|
||||
data1 := res1.Data.(model.RelationalIntegrityCheckData)
|
||||
data2 := res2.Data.(model.RelationalIntegrityCheckData)
|
||||
|
||||
@@ -29,7 +29,7 @@ func createChannel(ss store.Store, teamId, creatorId string) *model.Channel {
|
||||
m.CreatorId = creatorId
|
||||
m.DisplayName = "Name"
|
||||
m.Name = "zz" + model.NewId() + "b"
|
||||
m.Type = model.CHANNEL_OPEN
|
||||
m.Type = model.ChannelTypeOpen
|
||||
c, _ := ss.Channel().Save(&m, -1)
|
||||
return c
|
||||
}
|
||||
@@ -41,7 +41,7 @@ func createChannelWithSchemeId(ss store.Store, schemeId *string) *model.Channel
|
||||
m.CreatorId = model.NewId()
|
||||
m.DisplayName = "Name"
|
||||
m.Name = "zz" + model.NewId() + "b"
|
||||
m.Type = model.CHANNEL_OPEN
|
||||
m.Type = model.ChannelTypeOpen
|
||||
c, _ := ss.Channel().Save(&m, -1)
|
||||
return c
|
||||
}
|
||||
@@ -49,7 +49,7 @@ func createChannelWithSchemeId(ss store.Store, schemeId *string) *model.Channel
|
||||
func createCommand(ss store.Store, userId, teamId string) *model.Command {
|
||||
m := model.Command{}
|
||||
m.CreatorId = userId
|
||||
m.Method = model.COMMAND_METHOD_POST
|
||||
m.Method = model.CommandMethodPost
|
||||
m.TeamId = teamId
|
||||
m.URL = "http://nowhere.com/"
|
||||
m.Trigger = "trigger"
|
||||
@@ -99,10 +99,10 @@ func createCompliance(ss store.Store, userId string) *model.Compliance {
|
||||
m := model.Compliance{}
|
||||
m.UserId = userId
|
||||
m.Desc = "Audit"
|
||||
m.Status = model.COMPLIANCE_STATUS_FAILED
|
||||
m.Status = model.ComplianceStatusFailed
|
||||
m.StartAt = model.GetMillis() - 1
|
||||
m.EndAt = model.GetMillis() + 1
|
||||
m.Type = model.COMPLIANCE_TYPE_ADHOC
|
||||
m.Type = model.ComplianceTypeAdhoc
|
||||
c, _ := ss.Compliance().Save(&m)
|
||||
return c
|
||||
}
|
||||
@@ -200,7 +200,7 @@ func createPreferences(ss store.Store, userId string) *model.Preferences {
|
||||
{
|
||||
UserId: userId,
|
||||
Name: model.NewId(),
|
||||
Category: model.PREFERENCE_CATEGORY_DIRECT_CHANNEL_SHOW,
|
||||
Category: model.PreferenceCategoryDirectChannelShow,
|
||||
Value: "somevalue",
|
||||
},
|
||||
}
|
||||
@@ -220,54 +220,54 @@ func createReaction(ss store.Store, userId, postId string) *model.Reaction {
|
||||
|
||||
func createDefaultRoles(ss store.Store) {
|
||||
ss.Role().Save(&model.Role{
|
||||
Name: model.TEAM_ADMIN_ROLE_ID,
|
||||
DisplayName: model.TEAM_ADMIN_ROLE_ID,
|
||||
Name: model.TeamAdminRoleId,
|
||||
DisplayName: model.TeamAdminRoleId,
|
||||
Permissions: []string{
|
||||
model.PERMISSION_DELETE_OTHERS_POSTS.Id,
|
||||
model.PermissionDeleteOthersPosts.Id,
|
||||
},
|
||||
})
|
||||
|
||||
ss.Role().Save(&model.Role{
|
||||
Name: model.TEAM_USER_ROLE_ID,
|
||||
DisplayName: model.TEAM_USER_ROLE_ID,
|
||||
Name: model.TeamUserRoleId,
|
||||
DisplayName: model.TeamUserRoleId,
|
||||
Permissions: []string{
|
||||
model.PERMISSION_VIEW_TEAM.Id,
|
||||
model.PERMISSION_ADD_USER_TO_TEAM.Id,
|
||||
model.PermissionViewTeam.Id,
|
||||
model.PermissionAddUserToTeam.Id,
|
||||
},
|
||||
})
|
||||
|
||||
ss.Role().Save(&model.Role{
|
||||
Name: model.TEAM_GUEST_ROLE_ID,
|
||||
DisplayName: model.TEAM_GUEST_ROLE_ID,
|
||||
Name: model.TeamGuestRoleId,
|
||||
DisplayName: model.TeamGuestRoleId,
|
||||
Permissions: []string{
|
||||
model.PERMISSION_VIEW_TEAM.Id,
|
||||
model.PermissionViewTeam.Id,
|
||||
},
|
||||
})
|
||||
|
||||
ss.Role().Save(&model.Role{
|
||||
Name: model.CHANNEL_ADMIN_ROLE_ID,
|
||||
DisplayName: model.CHANNEL_ADMIN_ROLE_ID,
|
||||
Name: model.ChannelAdminRoleId,
|
||||
DisplayName: model.ChannelAdminRoleId,
|
||||
Permissions: []string{
|
||||
model.PERMISSION_MANAGE_PUBLIC_CHANNEL_MEMBERS.Id,
|
||||
model.PERMISSION_MANAGE_PRIVATE_CHANNEL_MEMBERS.Id,
|
||||
model.PermissionManagePublicChannelMembers.Id,
|
||||
model.PermissionManagePrivateChannelMembers.Id,
|
||||
},
|
||||
})
|
||||
|
||||
ss.Role().Save(&model.Role{
|
||||
Name: model.CHANNEL_USER_ROLE_ID,
|
||||
DisplayName: model.CHANNEL_USER_ROLE_ID,
|
||||
Name: model.ChannelUserRoleId,
|
||||
DisplayName: model.ChannelUserRoleId,
|
||||
Permissions: []string{
|
||||
model.PERMISSION_READ_CHANNEL.Id,
|
||||
model.PERMISSION_CREATE_POST.Id,
|
||||
model.PermissionReadChannel.Id,
|
||||
model.PermissionCreatePost.Id,
|
||||
},
|
||||
})
|
||||
|
||||
ss.Role().Save(&model.Role{
|
||||
Name: model.CHANNEL_GUEST_ROLE_ID,
|
||||
DisplayName: model.CHANNEL_GUEST_ROLE_ID,
|
||||
Name: model.ChannelGuestRoleId,
|
||||
DisplayName: model.ChannelGuestRoleId,
|
||||
Permissions: []string{
|
||||
model.PERMISSION_READ_CHANNEL.Id,
|
||||
model.PERMISSION_CREATE_POST.Id,
|
||||
model.PermissionReadChannel.Id,
|
||||
model.PermissionCreatePost.Id,
|
||||
},
|
||||
})
|
||||
}
|
||||
@@ -277,7 +277,7 @@ func createScheme(ss store.Store) *model.Scheme {
|
||||
m.DisplayName = model.NewId()
|
||||
m.Name = model.NewId()
|
||||
m.Description = model.NewId()
|
||||
m.Scope = model.SCHEME_SCOPE_CHANNEL
|
||||
m.Scope = model.SchemeScopeChannel
|
||||
s, _ := ss.Scheme().Save(&m)
|
||||
return s
|
||||
}
|
||||
@@ -292,7 +292,7 @@ func createSession(ss store.Store, userId string) *model.Session {
|
||||
func createStatus(ss store.Store, userId string) *model.Status {
|
||||
m := model.Status{}
|
||||
m.UserId = userId
|
||||
m.Status = model.STATUS_ONLINE
|
||||
m.Status = model.StatusOnline
|
||||
ss.Status().SaveOrUpdate(&m)
|
||||
return &m
|
||||
}
|
||||
@@ -300,7 +300,7 @@ func createStatus(ss store.Store, userId string) *model.Status {
|
||||
func createTeam(ss store.Store) *model.Team {
|
||||
m := model.Team{}
|
||||
m.DisplayName = "DisplayName"
|
||||
m.Type = model.TEAM_OPEN
|
||||
m.Type = model.TeamOpen
|
||||
m.Email = "test@example.com"
|
||||
m.Name = "z-z-z" + model.NewRandomTeamName() + "b"
|
||||
t, _ := ss.Team().Save(&m)
|
||||
@@ -319,7 +319,7 @@ func createTeamWithSchemeId(ss store.Store, schemeId *string) *model.Team {
|
||||
m := model.Team{}
|
||||
m.SchemeId = schemeId
|
||||
m.DisplayName = "DisplayName"
|
||||
m.Type = model.TEAM_OPEN
|
||||
m.Type = model.TeamOpen
|
||||
m.Email = "test@example.com"
|
||||
m.Name = "z-z-z" + model.NewId() + "b"
|
||||
t, _ := ss.Team().Save(&m)
|
||||
|
||||
@@ -97,7 +97,7 @@ func (jss SqlJobStore) UpdateStatusOptimistically(id string, currentStatus strin
|
||||
Set("Status", newStatus).
|
||||
Where(sq.Eq{"Id": id, "Status": currentStatus})
|
||||
|
||||
if newStatus == model.JOB_STATUS_IN_PROGRESS {
|
||||
if newStatus == model.JobStatusInProgress {
|
||||
builder = builder.Set("StartAt", model.GetMillis())
|
||||
}
|
||||
query, args, err := builder.ToSql()
|
||||
|
||||
@@ -31,7 +31,7 @@ func newSqlLinkMetadataStore(sqlStore *SqlStore) store.LinkMetadataStore {
|
||||
}
|
||||
|
||||
func (s SqlLinkMetadataStore) createIndexesIfNotExists() {
|
||||
if s.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
if s.DriverName() == model.DatabaseDriverMysql {
|
||||
s.CreateCompositeIndexIfNotExists("idx_link_metadata_url_timestamp", "LinkMetadata", []string{"URL(512)", "Timestamp"})
|
||||
} else {
|
||||
s.CreateCompositeIndexIfNotExists("idx_link_metadata_url_timestamp", "LinkMetadata", []string{"URL", "Timestamp"})
|
||||
|
||||
@@ -296,9 +296,9 @@ func (as SqlOAuthStore) deleteApp(transaction *gorp.Transaction, clientId string
|
||||
func (as SqlOAuthStore) deleteOAuthAppSessions(transaction *gorp.Transaction, clientId string) error {
|
||||
|
||||
query := ""
|
||||
if as.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
if as.DriverName() == model.DatabaseDriverPostgres {
|
||||
query = "DELETE FROM Sessions s USING OAuthAccessData o WHERE o.Token = s.Token AND o.ClientId = :Id"
|
||||
} else if as.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
} else if as.DriverName() == model.DatabaseDriverMysql {
|
||||
query = "DELETE s.* FROM Sessions s INNER JOIN OAuthAccessData o ON o.Token = s.Token WHERE o.ClientId = :Id"
|
||||
}
|
||||
|
||||
@@ -323,7 +323,7 @@ func (as SqlOAuthStore) deleteAppExtras(transaction *gorp.Transaction, clientId
|
||||
Preferences
|
||||
WHERE
|
||||
Category = :Category
|
||||
AND Name = :Name`, map[string]interface{}{"Category": model.PREFERENCE_CATEGORY_AUTHORIZED_OAUTH_APP, "Name": clientId}); err != nil {
|
||||
AND Name = :Name`, map[string]interface{}{"Category": model.PreferenceCategoryAuthorizedOAuthApp, "Name": clientId}); err != nil {
|
||||
return errors.Wrapf(err, "failed to delete Preferences with name=%s", clientId)
|
||||
}
|
||||
|
||||
|
||||
@@ -58,9 +58,9 @@ func (ps SqlPluginStore) SaveOrUpdate(kv *model.PluginKeyValue) (*model.PluginKe
|
||||
Insert("PluginKeyValueStore").
|
||||
Columns("PluginId", "PKey", "PValue", "ExpireAt").
|
||||
Values(kv.PluginId, kv.Key, kv.Value, kv.ExpireAt)
|
||||
if ps.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
if ps.DriverName() == model.DatabaseDriverPostgres {
|
||||
query = query.SuffixExpr(sq.Expr("ON CONFLICT (pluginid, pkey) DO UPDATE SET PValue = ?, ExpireAt = ?", kv.Value, kv.ExpireAt))
|
||||
} else if ps.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
} else if ps.DriverName() == model.DatabaseDriverMysql {
|
||||
query = query.SuffixExpr(sq.Expr("ON DUPLICATE KEY UPDATE PValue = ?, ExpireAt = ?", kv.Value, kv.ExpireAt))
|
||||
}
|
||||
|
||||
@@ -144,7 +144,7 @@ func (ps SqlPluginStore) CompareAndSet(kv *model.PluginKeyValue, oldValue []byte
|
||||
// Failed to update
|
||||
return false, errors.Wrap(err, "unable to get rows affected")
|
||||
} else if rowsAffected == 0 {
|
||||
if ps.DriverName() == model.DATABASE_DRIVER_MYSQL && bytes.Equal(oldValue, kv.Value) {
|
||||
if ps.DriverName() == model.DatabaseDriverMysql && bytes.Equal(oldValue, kv.Value) {
|
||||
// ROW_COUNT on MySQL is zero even if the row existed but no changes to the row were required.
|
||||
// Check if the row exists with the required value to distinguish this case. Strictly speaking,
|
||||
// this isn't a good use of CompareAndSet anyway, since there's no corresponding guarantee of
|
||||
|
||||
@@ -132,7 +132,7 @@ func newSqlPostStore(sqlStore *SqlStore, metrics einterfaces.MetricsInterface) s
|
||||
s := &SqlPostStore{
|
||||
SqlStore: sqlStore,
|
||||
metrics: metrics,
|
||||
maxPostSizeCached: model.POST_MESSAGE_MAX_RUNES_V1,
|
||||
maxPostSizeCached: model.PostMessageMaxRunesV1,
|
||||
}
|
||||
|
||||
for _, db := range sqlStore.GetAllConns() {
|
||||
@@ -143,11 +143,11 @@ func newSqlPostStore(sqlStore *SqlStore, metrics einterfaces.MetricsInterface) s
|
||||
table.ColMap("RootId").SetMaxSize(26)
|
||||
table.ColMap("ParentId").SetMaxSize(26)
|
||||
table.ColMap("OriginalId").SetMaxSize(26)
|
||||
table.ColMap("Message").SetMaxSize(model.POST_MESSAGE_MAX_BYTES_V2)
|
||||
table.ColMap("Message").SetMaxSize(model.PostMessageMaxBytesV2)
|
||||
table.ColMap("Type").SetMaxSize(26)
|
||||
table.ColMap("Hashtags").SetMaxSize(1000)
|
||||
table.ColMap("Props").SetMaxSize(8000)
|
||||
table.ColMap("Filenames").SetMaxSize(model.POST_FILENAMES_MAX_RUNES)
|
||||
table.ColMap("Filenames").SetMaxSize(model.PostFilenamesMaxRunes)
|
||||
table.ColMap("FileIds").SetMaxSize(300)
|
||||
table.ColMap("RemoteId").SetMaxSize(26)
|
||||
}
|
||||
@@ -418,7 +418,7 @@ func (s *SqlPostStore) GetFlaggedPosts(userId string, offset int, limit int) (*m
|
||||
pl := model.NewPostList()
|
||||
|
||||
var posts []*model.Post
|
||||
if _, err := s.GetReplica().Select(&posts, "SELECT *, (SELECT count(Posts.Id) FROM Posts WHERE Posts.RootId = (CASE WHEN p.RootId = '' THEN p.Id ELSE p.RootId END) AND Posts.DeleteAt = 0) as ReplyCount FROM Posts p WHERE Id IN (SELECT Name FROM Preferences WHERE UserId = :UserId AND Category = :Category) AND DeleteAt = 0 ORDER BY CreateAt DESC LIMIT :Limit OFFSET :Offset", map[string]interface{}{"UserId": userId, "Category": model.PREFERENCE_CATEGORY_FLAGGED_POST, "Offset": offset, "Limit": limit}); err != nil {
|
||||
if _, err := s.GetReplica().Select(&posts, "SELECT *, (SELECT count(Posts.Id) FROM Posts WHERE Posts.RootId = (CASE WHEN p.RootId = '' THEN p.Id ELSE p.RootId END) AND Posts.DeleteAt = 0) as ReplyCount FROM Posts p WHERE Id IN (SELECT Name FROM Preferences WHERE UserId = :UserId AND Category = :Category) AND DeleteAt = 0 ORDER BY CreateAt DESC LIMIT :Limit OFFSET :Offset", map[string]interface{}{"UserId": userId, "Category": model.PreferenceCategoryFlaggedPost, "Offset": offset, "Limit": limit}); err != nil {
|
||||
return nil, errors.Wrap(err, "failed to find Posts")
|
||||
}
|
||||
|
||||
@@ -461,7 +461,7 @@ func (s *SqlPostStore) GetFlaggedPostsForTeam(userId, teamId string, offset int,
|
||||
ORDER BY CreateAt DESC
|
||||
LIMIT :Limit OFFSET :Offset`
|
||||
|
||||
if _, err := s.GetReplica().Select(&posts, query, map[string]interface{}{"UserId": userId, "Category": model.PREFERENCE_CATEGORY_FLAGGED_POST, "Offset": offset, "Limit": limit, "TeamId": teamId}); err != nil {
|
||||
if _, err := s.GetReplica().Select(&posts, query, map[string]interface{}{"UserId": userId, "Category": model.PreferenceCategoryFlaggedPost, "Offset": offset, "Limit": limit, "TeamId": teamId}); err != nil {
|
||||
return nil, errors.Wrap(err, "failed to find Posts")
|
||||
}
|
||||
|
||||
@@ -488,7 +488,7 @@ func (s *SqlPostStore) GetFlaggedPostsForChannel(userId, channelId string, offse
|
||||
ORDER BY CreateAt DESC
|
||||
LIMIT :Limit OFFSET :Offset`
|
||||
|
||||
if _, err := s.GetReplica().Select(&posts, query, map[string]interface{}{"UserId": userId, "Category": model.PREFERENCE_CATEGORY_FLAGGED_POST, "ChannelId": channelId, "Offset": offset, "Limit": limit}); err != nil {
|
||||
if _, err := s.GetReplica().Select(&posts, query, map[string]interface{}{"UserId": userId, "Category": model.PreferenceCategoryFlaggedPost, "ChannelId": channelId, "Offset": offset, "Limit": limit}); err != nil {
|
||||
return nil, errors.Wrap(err, "failed to find Posts")
|
||||
}
|
||||
for _, post := range posts {
|
||||
@@ -669,7 +669,7 @@ func (s *SqlPostStore) Delete(postId string, time int64, deleteByID string) erro
|
||||
return errors.Wrapf(err, "failed to delete Post with id=%s", postId)
|
||||
}
|
||||
|
||||
post.AddProp(model.POST_PROPS_DELETE_BY, deleteByID)
|
||||
post.AddProp(model.PostPropsDeleteBy, deleteByID)
|
||||
|
||||
_, err = s.GetMaster().Exec("UPDATE Posts SET DeleteAt = :DeleteAt, UpdateAt = :UpdateAt, Props = :Props WHERE Id = :Id OR RootId = :RootId", map[string]interface{}{"DeleteAt": time, "UpdateAt": time, "Id": postId, "RootId": postId, "Props": model.StringInterfaceToJson(post.GetProps())})
|
||||
if err != nil {
|
||||
@@ -980,7 +980,7 @@ func (s *SqlPostStore) GetPostsSince(options model.GetPostsSinceOptions, allowFr
|
||||
var query string
|
||||
|
||||
// union of IDs and then join to get full posts is faster in mysql
|
||||
if s.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
if s.DriverName() == model.DatabaseDriverMysql {
|
||||
query = `SELECT *` + replyCountQuery1 + ` FROM Posts p1 JOIN (
|
||||
(SELECT
|
||||
Id
|
||||
@@ -1008,7 +1008,7 @@ func (s *SqlPostStore) GetPostsSince(options model.GetPostsSinceOptions, allowFr
|
||||
LIMIT 1000) temp_tab))
|
||||
) j ON p1.Id = j.Id
|
||||
ORDER BY CreateAt ` + order
|
||||
} else if s.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
} else if s.DriverName() == model.DatabaseDriverPostgres {
|
||||
query = `WITH cte AS (SELECT
|
||||
*
|
||||
FROM
|
||||
@@ -1058,7 +1058,7 @@ func (s *SqlPostStore) HasAutoResponsePostByUserSince(options model.GetPostsSinc
|
||||
"ChannelId": options.ChannelId,
|
||||
"Time": options.Time,
|
||||
"UserId": userId,
|
||||
"Type": model.POST_AUTO_RESPONDER,
|
||||
"Type": model.PostTypeAutoResponder,
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
@@ -1141,7 +1141,7 @@ func (s *SqlPostStore) getPostsAround(before bool, options model.GetPostsOptions
|
||||
// We force MySQL to use the right index to prevent it from accidentally
|
||||
// using the index_merge_intersection optimization.
|
||||
// See MM-27575.
|
||||
if s.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
if s.DriverName() == model.DatabaseDriverMysql {
|
||||
table += " USE INDEX(idx_posts_channel_id_delete_at_create_at)"
|
||||
}
|
||||
columns := []string{"p.*"}
|
||||
@@ -1256,7 +1256,7 @@ func (s *SqlPostStore) getPostIdAroundTime(channelId string, time int64, before
|
||||
// We force MySQL to use the right index to prevent it from accidentally
|
||||
// using the index_merge_intersection optimization.
|
||||
// See MM-27575.
|
||||
if s.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
if s.DriverName() == model.DatabaseDriverMysql {
|
||||
table += " USE INDEX(idx_posts_channel_id_delete_at_create_at)"
|
||||
}
|
||||
|
||||
@@ -1298,7 +1298,7 @@ func (s *SqlPostStore) GetPostAfterTime(channelId string, time int64, collapsedT
|
||||
// We force MySQL to use the right index to prevent it from accidentally
|
||||
// using the index_merge_intersection optimization.
|
||||
// See MM-27575.
|
||||
if s.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
if s.DriverName() == model.DatabaseDriverMysql {
|
||||
table += " USE INDEX(idx_posts_channel_id_delete_at_create_at)"
|
||||
}
|
||||
conditions := sq.And{
|
||||
@@ -1350,7 +1350,7 @@ func (s *SqlPostStore) getRootPosts(channelId string, offset int, limit int, ski
|
||||
}
|
||||
|
||||
func (s *SqlPostStore) getParentsPosts(channelId string, offset int, limit int, skipFetchThreads bool) ([]*model.Post, error) {
|
||||
if s.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
if s.DriverName() == model.DatabaseDriverPostgres {
|
||||
return s.getParentsPostsPostgreSQL(channelId, offset, limit, skipFetchThreads)
|
||||
}
|
||||
|
||||
@@ -1630,7 +1630,7 @@ func (s *SqlPostStore) search(teamId string, userId string, params *model.Search
|
||||
Posts q2
|
||||
WHERE
|
||||
DeleteAt = 0
|
||||
AND Type NOT LIKE '` + model.POST_SYSTEM_MESSAGE_PREFIX + `%'
|
||||
AND Type NOT LIKE '` + model.PostSystemMessagePrefix + `%'
|
||||
POST_FILTER
|
||||
AND ChannelId IN (
|
||||
SELECT
|
||||
@@ -1683,7 +1683,7 @@ func (s *SqlPostStore) search(teamId string, userId string, params *model.Search
|
||||
if terms == "" && excludedTerms == "" {
|
||||
// we've already confirmed that we have a channel or user to search for
|
||||
searchQuery = strings.Replace(searchQuery, "SEARCH_CLAUSE", "", 1)
|
||||
} else if s.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
} else if s.DriverName() == model.DatabaseDriverPostgres {
|
||||
// Parse text for wildcards
|
||||
if wildcard, err := regexp.Compile(`\*($| )`); err == nil {
|
||||
terms = wildcard.ReplaceAllLiteralString(terms, ":* ")
|
||||
@@ -1705,7 +1705,7 @@ func (s *SqlPostStore) search(teamId string, userId string, params *model.Search
|
||||
|
||||
searchClause := fmt.Sprintf("AND to_tsvector('english', %s) @@ to_tsquery('english', :Terms)", searchType)
|
||||
searchQuery = strings.Replace(searchQuery, "SEARCH_CLAUSE", searchClause, 1)
|
||||
} else if s.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
} else if s.DriverName() == model.DatabaseDriverMysql {
|
||||
if searchType == "Message" {
|
||||
var err error
|
||||
terms, err = removeMysqlStopWordsFromTerms(terms)
|
||||
@@ -1800,7 +1800,7 @@ func (s *SqlPostStore) AnalyticsUserCountsWithPostsByDay(teamId string) (model.A
|
||||
ORDER BY Name DESC
|
||||
LIMIT 30`
|
||||
|
||||
if s.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
if s.DriverName() == model.DatabaseDriverPostgres {
|
||||
query =
|
||||
`SELECT
|
||||
TO_CHAR(DATE(TO_TIMESTAMP(Posts.CreateAt / 1000)), 'YYYY-MM-DD') AS Name, COUNT(DISTINCT Posts.UserId) AS Value
|
||||
@@ -1856,7 +1856,7 @@ func (s *SqlPostStore) AnalyticsPostCountsByDay(options *model.AnalyticsPostCoun
|
||||
ORDER BY Name DESC
|
||||
LIMIT 30`
|
||||
|
||||
if s.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
if s.DriverName() == model.DatabaseDriverPostgres {
|
||||
query =
|
||||
`SELECT
|
||||
TO_CHAR(DATE(TO_TIMESTAMP(Posts.CreateAt / 1000)), 'YYYY-MM-DD') AS Name, Count(Posts.Id) AS Value
|
||||
@@ -2068,7 +2068,7 @@ func (s *SqlPostStore) GetOldest() (*model.Post, error) {
|
||||
func (s *SqlPostStore) determineMaxPostSize() int {
|
||||
var maxPostSizeBytes int32
|
||||
|
||||
if s.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
if s.DriverName() == model.DatabaseDriverPostgres {
|
||||
// The Post.Message column in Postgres has historically been VARCHAR(4000), but
|
||||
// may be manually enlarged to support longer posts.
|
||||
if err := s.GetReplica().SelectOne(&maxPostSizeBytes, `
|
||||
@@ -2082,7 +2082,7 @@ func (s *SqlPostStore) determineMaxPostSize() int {
|
||||
`); err != nil {
|
||||
mlog.Warn("Unable to determine the maximum supported post size", mlog.Err(err))
|
||||
}
|
||||
} else if s.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
} else if s.DriverName() == model.DatabaseDriverMysql {
|
||||
// The Post.Message column in MySQL has historically been TEXT, with a maximum
|
||||
// limit of 65535.
|
||||
if err := s.GetReplica().SelectOne(&maxPostSizeBytes, `
|
||||
@@ -2108,8 +2108,8 @@ func (s *SqlPostStore) determineMaxPostSize() int {
|
||||
// To maintain backwards compatibility, don't yield a maximum post
|
||||
// size smaller than the previous limit, even though it wasn't
|
||||
// actually possible to store 4000 runes in all cases.
|
||||
if maxPostSize < model.POST_MESSAGE_MAX_RUNES_V1 {
|
||||
maxPostSize = model.POST_MESSAGE_MAX_RUNES_V1
|
||||
if maxPostSize < model.PostMessageMaxRunesV1 {
|
||||
maxPostSize = model.PostMessageMaxRunesV1
|
||||
}
|
||||
|
||||
mlog.Info("Post.Message has size restrictions", mlog.Int("max_characters", maxPostSize), mlog.Int32("max_bytes", maxPostSizeBytes))
|
||||
|
||||
@@ -39,7 +39,7 @@ func (s SqlPreferenceStore) deleteUnusedFeatures() {
|
||||
mlog.Debug("Deleting any unused pre-release features")
|
||||
sql, args, err := s.getQueryBuilder().
|
||||
Delete("Preferences").
|
||||
Where(sq.Eq{"Category": model.PREFERENCE_CATEGORY_ADVANCED_SETTINGS}).
|
||||
Where(sq.Eq{"Category": model.PreferenceCategoryAdvancedSettings}).
|
||||
Where(sq.Eq{"Value": "false"}).
|
||||
Where(sq.Like{"Name": store.FeatureTogglePrefix + "%"}).ToSql()
|
||||
if err != nil {
|
||||
@@ -84,9 +84,9 @@ func (s SqlPreferenceStore) save(transaction *gorp.Transaction, preference *mode
|
||||
Columns("UserId", "Category", "Name", "Value").
|
||||
Values(preference.UserId, preference.Category, preference.Name, preference.Value)
|
||||
|
||||
if s.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
if s.DriverName() == model.DatabaseDriverMysql {
|
||||
query = query.SuffixExpr(sq.Expr("ON DUPLICATE KEY UPDATE Value = ?", preference.Value))
|
||||
} else if s.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
} else if s.DriverName() == model.DatabaseDriverPostgres {
|
||||
query = query.SuffixExpr(sq.Expr("ON CONFLICT (userid, category, name) DO UPDATE SET Value = ?", preference.Value))
|
||||
} else {
|
||||
return store.NewErrNotImplemented("failed to update preference because of missing driver")
|
||||
@@ -237,7 +237,7 @@ func (s *SqlPreferenceStore) DeleteOrphanedRows(limit int) (deleted int64, err e
|
||||
LIMIT :Limit
|
||||
) AS A
|
||||
)`
|
||||
props := map[string]interface{}{"Limit": limit, "Category": model.PREFERENCE_CATEGORY_FLAGGED_POST}
|
||||
props := map[string]interface{}{"Limit": limit, "Category": model.PreferenceCategoryFlaggedPost}
|
||||
result, err := s.GetMaster().Exec(query, props)
|
||||
if err != nil {
|
||||
return
|
||||
@@ -257,7 +257,7 @@ func (s SqlPreferenceStore) CleanupFlagsBatch(limit int64) (int64, error) {
|
||||
sq.Select("Preferences.Name").
|
||||
From("Preferences").
|
||||
LeftJoin("Posts ON Preferences.Name = Posts.Id").
|
||||
Where(sq.Eq{"Preferences.Category": model.PREFERENCE_CATEGORY_FLAGGED_POST}).
|
||||
Where(sq.Eq{"Preferences.Category": model.PreferenceCategoryFlaggedPost}).
|
||||
Where(sq.Eq{"Posts.Id": nil}).
|
||||
Limit(uint64(limit)),
|
||||
"t").
|
||||
@@ -266,7 +266,7 @@ func (s SqlPreferenceStore) CleanupFlagsBatch(limit int64) (int64, error) {
|
||||
return int64(0), errors.Wrap(err, "could not build nested sql query to delete preference")
|
||||
}
|
||||
query, args, err := s.getQueryBuilder().Delete("Preferences").
|
||||
Where(sq.Eq{"Category": model.PREFERENCE_CATEGORY_FLAGGED_POST}).
|
||||
Where(sq.Eq{"Category": model.PreferenceCategoryFlaggedPost}).
|
||||
Where(sq.Expr("name IN ("+nameInQ+")", nameInArgs...)).
|
||||
ToSql()
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ func TestDeleteUnusedFeatures(t *testing.T) {
|
||||
StoreTest(t, func(t *testing.T, ss store.Store) {
|
||||
userId1 := model.NewId()
|
||||
userId2 := model.NewId()
|
||||
category := model.PREFERENCE_CATEGORY_ADVANCED_SETTINGS
|
||||
category := model.PreferenceCategoryAdvancedSettings
|
||||
feature1 := "feature1"
|
||||
feature2 := "feature2"
|
||||
|
||||
@@ -62,7 +62,7 @@ func TestDeleteUnusedFeatures(t *testing.T) {
|
||||
FROM Preferences
|
||||
WHERE Category = :Category
|
||||
AND Value = :Val
|
||||
AND Name LIKE '`+store.FeatureTogglePrefix+`%'`, map[string]interface{}{"Category": model.PREFERENCE_CATEGORY_ADVANCED_SETTINGS, "Val": "false"}); err != nil {
|
||||
AND Name LIKE '`+store.FeatureTogglePrefix+`%'`, map[string]interface{}{"Category": model.PreferenceCategoryAdvancedSettings, "Val": "false"}); err != nil {
|
||||
require.NoError(t, err)
|
||||
} else if val != 0 {
|
||||
require.Fail(t, "Found %d features with value 'false', expected all to be deleted", val)
|
||||
@@ -73,7 +73,7 @@ func TestDeleteUnusedFeatures(t *testing.T) {
|
||||
FROM Preferences
|
||||
WHERE Category = :Category
|
||||
AND Value = :Val
|
||||
AND Name LIKE '`+store.FeatureTogglePrefix+`%'`, map[string]interface{}{"Category": model.PREFERENCE_CATEGORY_ADVANCED_SETTINGS, "Val": "true"}); err != nil {
|
||||
AND Name LIKE '`+store.FeatureTogglePrefix+`%'`, map[string]interface{}{"Category": model.PreferenceCategoryAdvancedSettings, "Val": "true"}); err != nil {
|
||||
require.NoError(t, err)
|
||||
} else if val == 0 {
|
||||
require.Fail(t, "Found %d features with value 'true', expected to find at least %d features", val, 2)
|
||||
|
||||
@@ -260,7 +260,7 @@ func (s *SqlReactionStore) saveReactionAndUpdatePost(transaction *gorp.Transacti
|
||||
"RemoteId": reaction.RemoteId,
|
||||
}
|
||||
|
||||
if s.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
if s.DriverName() == model.DatabaseDriverMysql {
|
||||
if _, err := transaction.Exec(
|
||||
`INSERT INTO
|
||||
Reactions
|
||||
@@ -271,7 +271,7 @@ func (s *SqlReactionStore) saveReactionAndUpdatePost(transaction *gorp.Transacti
|
||||
UpdateAt = :UpdateAt, DeleteAt = 0, RemoteId = :RemoteId`, params); err != nil {
|
||||
return err
|
||||
}
|
||||
} else if s.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
} else if s.DriverName() == model.DatabaseDriverPostgres {
|
||||
if _, err := transaction.Exec(
|
||||
`INSERT INTO
|
||||
Reactions
|
||||
|
||||
@@ -180,7 +180,7 @@ func (s sqlRemoteClusterStore) SetLastPingAt(remoteClusterId string) error {
|
||||
|
||||
func (s *sqlRemoteClusterStore) createIndexesIfNotExists() {
|
||||
uniquenessColumns := []string{"SiteUrl", "RemoteTeamId"}
|
||||
if s.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
if s.DriverName() == model.DatabaseDriverMysql {
|
||||
uniquenessColumns = []string{"RemoteTeamId", "SiteUrl(168)"}
|
||||
}
|
||||
s.CreateUniqueCompositeIndexIfNotExists(RemoteClusterSiteURLUniqueIndex, "RemoteClusters", uniquenessColumns)
|
||||
|
||||
@@ -793,7 +793,7 @@ func genericRetentionPoliciesDeletion(
|
||||
if err != nil {
|
||||
return 0, errors.Wrap(err, r.Table+"_tosql")
|
||||
}
|
||||
if s.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
if s.DriverName() == model.DatabaseDriverPostgres {
|
||||
primaryKeysStr := "(" + strings.Join(r.PrimaryKeys, ",") + ")"
|
||||
query = `
|
||||
DELETE FROM ` + r.Table + ` WHERE ` + primaryKeysStr + ` IN (
|
||||
|
||||
@@ -325,9 +325,9 @@ func (s *SqlRoleStore) channelHigherScopedPermissionsQuery(roleNames []string) s
|
||||
return fmt.Sprintf(
|
||||
sqlTmpl,
|
||||
strings.Join(roleNames, "', '"),
|
||||
model.CHANNEL_GUEST_ROLE_ID,
|
||||
model.CHANNEL_USER_ROLE_ID,
|
||||
model.CHANNEL_ADMIN_ROLE_ID,
|
||||
model.ChannelGuestRoleId,
|
||||
model.ChannelUserRoleId,
|
||||
model.ChannelAdminRoleId,
|
||||
)
|
||||
}
|
||||
|
||||
@@ -342,9 +342,9 @@ func (s *SqlRoleStore) ChannelHigherScopedPermissions(roleNames []string) (map[s
|
||||
roleNameHigherScopedPermissions := map[string]*model.RolePermissions{}
|
||||
|
||||
for _, rp := range rolesPermissions {
|
||||
roleNameHigherScopedPermissions[rp.GuestRoleName] = &model.RolePermissions{RoleID: model.CHANNEL_GUEST_ROLE_ID, Permissions: strings.Split(rp.HigherScopedGuestPermissions, " ")}
|
||||
roleNameHigherScopedPermissions[rp.UserRoleName] = &model.RolePermissions{RoleID: model.CHANNEL_USER_ROLE_ID, Permissions: strings.Split(rp.HigherScopedUserPermissions, " ")}
|
||||
roleNameHigherScopedPermissions[rp.AdminRoleName] = &model.RolePermissions{RoleID: model.CHANNEL_ADMIN_ROLE_ID, Permissions: strings.Split(rp.HigherScopedAdminPermissions, " ")}
|
||||
roleNameHigherScopedPermissions[rp.GuestRoleName] = &model.RolePermissions{RoleID: model.ChannelGuestRoleId, Permissions: strings.Split(rp.HigherScopedGuestPermissions, " ")}
|
||||
roleNameHigherScopedPermissions[rp.UserRoleName] = &model.RolePermissions{RoleID: model.ChannelUserRoleId, Permissions: strings.Split(rp.HigherScopedUserPermissions, " ")}
|
||||
roleNameHigherScopedPermissions[rp.AdminRoleName] = &model.RolePermissions{RoleID: model.ChannelAdminRoleId, Permissions: strings.Split(rp.HigherScopedAdminPermissions, " ")}
|
||||
}
|
||||
|
||||
return roleNameHigherScopedPermissions, nil
|
||||
@@ -355,7 +355,7 @@ func (s *SqlRoleStore) AllChannelSchemeRoles() ([]*model.Role, error) {
|
||||
Select("Roles.*").
|
||||
From("Schemes").
|
||||
Join("Roles ON Schemes.DefaultChannelGuestRole = Roles.Name OR Schemes.DefaultChannelUserRole = Roles.Name OR Schemes.DefaultChannelAdminRole = Roles.Name").
|
||||
Where(sq.Eq{"Schemes.Scope": model.SCHEME_SCOPE_CHANNEL}).
|
||||
Where(sq.Eq{"Schemes.Scope": model.SchemeScopeChannel}).
|
||||
Where(sq.Eq{"Roles.DeleteAt": 0}).
|
||||
Where(sq.Eq{"Schemes.DeleteAt": 0})
|
||||
|
||||
@@ -387,7 +387,7 @@ func (s *SqlRoleStore) ChannelRolesUnderTeamRole(roleName string) ([]*model.Role
|
||||
Join("Channels ON Channels.TeamId = Teams.Id").
|
||||
Join("Schemes AS ChannelSchemes ON Channels.SchemeId = ChannelSchemes.Id").
|
||||
Join("Roles AS ChannelSchemeRoles ON (ChannelSchemeRoles.Name = ChannelSchemes.DefaultChannelGuestRole OR ChannelSchemeRoles.Name = ChannelSchemes.DefaultChannelUserRole OR ChannelSchemeRoles.Name = ChannelSchemes.DefaultChannelAdminRole)").
|
||||
Where(sq.Eq{"HigherScopedSchemes.Scope": model.SCHEME_SCOPE_TEAM}).
|
||||
Where(sq.Eq{"HigherScopedSchemes.Scope": model.SchemeScopeTeam}).
|
||||
Where(sq.Eq{"HigherScopedRoles.Name": roleName}).
|
||||
Where(sq.Eq{"HigherScopedRoles.DeleteAt": 0}).
|
||||
Where(sq.Eq{"HigherScopedSchemes.DeleteAt": 0}).
|
||||
|
||||
@@ -25,9 +25,9 @@ func newSqlSchemeStore(sqlStore *SqlStore) store.SchemeStore {
|
||||
for _, db := range sqlStore.GetAllConns() {
|
||||
table := db.AddTableWithName(model.Scheme{}, "Schemes").SetKeys(false, "Id")
|
||||
table.ColMap("Id").SetMaxSize(26)
|
||||
table.ColMap("Name").SetMaxSize(model.SCHEME_NAME_MAX_LENGTH).SetUnique(true)
|
||||
table.ColMap("DisplayName").SetMaxSize(model.SCHEME_DISPLAY_NAME_MAX_LENGTH)
|
||||
table.ColMap("Description").SetMaxSize(model.SCHEME_DESCRIPTION_MAX_LENGTH)
|
||||
table.ColMap("Name").SetMaxSize(model.SchemeNameMaxLength).SetUnique(true)
|
||||
table.ColMap("DisplayName").SetMaxSize(model.SchemeDisplayNameMaxLength)
|
||||
table.ColMap("Description").SetMaxSize(model.SchemeDescriptionMaxLength)
|
||||
table.ColMap("Scope").SetMaxSize(32)
|
||||
table.ColMap("DefaultTeamAdminRole").SetMaxSize(64)
|
||||
table.ColMap("DefaultTeamUserRole").SetMaxSize(64)
|
||||
@@ -83,7 +83,7 @@ func (s *SqlSchemeStore) Save(scheme *model.Scheme) (*model.Scheme, error) {
|
||||
|
||||
func (s *SqlSchemeStore) createScheme(scheme *model.Scheme, transaction *gorp.Transaction) (*model.Scheme, error) {
|
||||
// Fetch the default system scheme roles to populate default permissions.
|
||||
defaultRoleNames := []string{model.TEAM_ADMIN_ROLE_ID, model.TEAM_USER_ROLE_ID, model.TEAM_GUEST_ROLE_ID, model.CHANNEL_ADMIN_ROLE_ID, model.CHANNEL_USER_ROLE_ID, model.CHANNEL_GUEST_ROLE_ID}
|
||||
defaultRoleNames := []string{model.TeamAdminRoleId, model.TeamUserRoleId, model.TeamGuestRoleId, model.ChannelAdminRoleId, model.ChannelUserRoleId, model.ChannelGuestRoleId}
|
||||
defaultRoles := make(map[string]*model.Role)
|
||||
roles, err := s.SqlStore.Role().GetByNames(defaultRoleNames)
|
||||
if err != nil {
|
||||
@@ -92,18 +92,18 @@ func (s *SqlSchemeStore) createScheme(scheme *model.Scheme, transaction *gorp.Tr
|
||||
|
||||
for _, role := range roles {
|
||||
switch role.Name {
|
||||
case model.TEAM_ADMIN_ROLE_ID:
|
||||
defaultRoles[model.TEAM_ADMIN_ROLE_ID] = role
|
||||
case model.TEAM_USER_ROLE_ID:
|
||||
defaultRoles[model.TEAM_USER_ROLE_ID] = role
|
||||
case model.TEAM_GUEST_ROLE_ID:
|
||||
defaultRoles[model.TEAM_GUEST_ROLE_ID] = role
|
||||
case model.CHANNEL_ADMIN_ROLE_ID:
|
||||
defaultRoles[model.CHANNEL_ADMIN_ROLE_ID] = role
|
||||
case model.CHANNEL_USER_ROLE_ID:
|
||||
defaultRoles[model.CHANNEL_USER_ROLE_ID] = role
|
||||
case model.CHANNEL_GUEST_ROLE_ID:
|
||||
defaultRoles[model.CHANNEL_GUEST_ROLE_ID] = role
|
||||
case model.TeamAdminRoleId:
|
||||
defaultRoles[model.TeamAdminRoleId] = role
|
||||
case model.TeamUserRoleId:
|
||||
defaultRoles[model.TeamUserRoleId] = role
|
||||
case model.TeamGuestRoleId:
|
||||
defaultRoles[model.TeamGuestRoleId] = role
|
||||
case model.ChannelAdminRoleId:
|
||||
defaultRoles[model.ChannelAdminRoleId] = role
|
||||
case model.ChannelUserRoleId:
|
||||
defaultRoles[model.ChannelUserRoleId] = role
|
||||
case model.ChannelGuestRoleId:
|
||||
defaultRoles[model.ChannelGuestRoleId] = role
|
||||
}
|
||||
}
|
||||
|
||||
@@ -112,12 +112,12 @@ func (s *SqlSchemeStore) createScheme(scheme *model.Scheme, transaction *gorp.Tr
|
||||
}
|
||||
|
||||
// Create the appropriate default roles for the scheme.
|
||||
if scheme.Scope == model.SCHEME_SCOPE_TEAM {
|
||||
if scheme.Scope == model.SchemeScopeTeam {
|
||||
// Team Admin Role
|
||||
teamAdminRole := &model.Role{
|
||||
Name: model.NewId(),
|
||||
DisplayName: fmt.Sprintf("Team Admin Role for Scheme %s", scheme.Name),
|
||||
Permissions: defaultRoles[model.TEAM_ADMIN_ROLE_ID].Permissions,
|
||||
Permissions: defaultRoles[model.TeamAdminRoleId].Permissions,
|
||||
SchemeManaged: true,
|
||||
}
|
||||
|
||||
@@ -131,7 +131,7 @@ func (s *SqlSchemeStore) createScheme(scheme *model.Scheme, transaction *gorp.Tr
|
||||
teamUserRole := &model.Role{
|
||||
Name: model.NewId(),
|
||||
DisplayName: fmt.Sprintf("Team User Role for Scheme %s", scheme.Name),
|
||||
Permissions: defaultRoles[model.TEAM_USER_ROLE_ID].Permissions,
|
||||
Permissions: defaultRoles[model.TeamUserRoleId].Permissions,
|
||||
SchemeManaged: true,
|
||||
}
|
||||
|
||||
@@ -145,7 +145,7 @@ func (s *SqlSchemeStore) createScheme(scheme *model.Scheme, transaction *gorp.Tr
|
||||
teamGuestRole := &model.Role{
|
||||
Name: model.NewId(),
|
||||
DisplayName: fmt.Sprintf("Team Guest Role for Scheme %s", scheme.Name),
|
||||
Permissions: defaultRoles[model.TEAM_GUEST_ROLE_ID].Permissions,
|
||||
Permissions: defaultRoles[model.TeamGuestRoleId].Permissions,
|
||||
SchemeManaged: true,
|
||||
}
|
||||
|
||||
@@ -156,16 +156,16 @@ func (s *SqlSchemeStore) createScheme(scheme *model.Scheme, transaction *gorp.Tr
|
||||
scheme.DefaultTeamGuestRole = savedRole.Name
|
||||
}
|
||||
|
||||
if scheme.Scope == model.SCHEME_SCOPE_TEAM || scheme.Scope == model.SCHEME_SCOPE_CHANNEL {
|
||||
if scheme.Scope == model.SchemeScopeTeam || scheme.Scope == model.SchemeScopeChannel {
|
||||
// Channel Admin Role
|
||||
channelAdminRole := &model.Role{
|
||||
Name: model.NewId(),
|
||||
DisplayName: fmt.Sprintf("Channel Admin Role for Scheme %s", scheme.Name),
|
||||
Permissions: defaultRoles[model.CHANNEL_ADMIN_ROLE_ID].Permissions,
|
||||
Permissions: defaultRoles[model.ChannelAdminRoleId].Permissions,
|
||||
SchemeManaged: true,
|
||||
}
|
||||
|
||||
if scheme.Scope == model.SCHEME_SCOPE_CHANNEL {
|
||||
if scheme.Scope == model.SchemeScopeChannel {
|
||||
channelAdminRole.Permissions = []string{}
|
||||
}
|
||||
|
||||
@@ -179,11 +179,11 @@ func (s *SqlSchemeStore) createScheme(scheme *model.Scheme, transaction *gorp.Tr
|
||||
channelUserRole := &model.Role{
|
||||
Name: model.NewId(),
|
||||
DisplayName: fmt.Sprintf("Channel User Role for Scheme %s", scheme.Name),
|
||||
Permissions: defaultRoles[model.CHANNEL_USER_ROLE_ID].Permissions,
|
||||
Permissions: defaultRoles[model.ChannelUserRoleId].Permissions,
|
||||
SchemeManaged: true,
|
||||
}
|
||||
|
||||
if scheme.Scope == model.SCHEME_SCOPE_CHANNEL {
|
||||
if scheme.Scope == model.SchemeScopeChannel {
|
||||
channelUserRole.Permissions = filterModerated(channelUserRole.Permissions)
|
||||
}
|
||||
|
||||
@@ -197,11 +197,11 @@ func (s *SqlSchemeStore) createScheme(scheme *model.Scheme, transaction *gorp.Tr
|
||||
channelGuestRole := &model.Role{
|
||||
Name: model.NewId(),
|
||||
DisplayName: fmt.Sprintf("Channel Guest Role for Scheme %s", scheme.Name),
|
||||
Permissions: defaultRoles[model.CHANNEL_GUEST_ROLE_ID].Permissions,
|
||||
Permissions: defaultRoles[model.ChannelGuestRoleId].Permissions,
|
||||
SchemeManaged: true,
|
||||
}
|
||||
|
||||
if scheme.Scope == model.SCHEME_SCOPE_CHANNEL {
|
||||
if scheme.Scope == model.SchemeScopeChannel {
|
||||
channelGuestRole.Permissions = filterModerated(channelGuestRole.Permissions)
|
||||
}
|
||||
|
||||
@@ -277,13 +277,13 @@ func (s *SqlSchemeStore) Delete(schemeId string) (*model.Scheme, error) {
|
||||
}
|
||||
|
||||
// Update any teams or channels using this scheme to the default scheme.
|
||||
if scheme.Scope == model.SCHEME_SCOPE_TEAM {
|
||||
if scheme.Scope == model.SchemeScopeTeam {
|
||||
if _, err := s.GetMaster().Exec("UPDATE Teams SET SchemeId = '' WHERE SchemeId = :SchemeId", map[string]interface{}{"SchemeId": schemeId}); err != nil {
|
||||
return nil, errors.Wrapf(err, "failed to update Teams with schemeId=%s", schemeId)
|
||||
}
|
||||
|
||||
s.Team().ClearCaches()
|
||||
} else if scheme.Scope == model.SCHEME_SCOPE_CHANNEL {
|
||||
} else if scheme.Scope == model.SchemeScopeChannel {
|
||||
if _, err := s.GetMaster().Exec("UPDATE Channels SET SchemeId = '' WHERE SchemeId = :SchemeId", map[string]interface{}{"SchemeId": schemeId}); err != nil {
|
||||
return nil, errors.Wrapf(err, "failed to update Channels with schemeId=%s", schemeId)
|
||||
}
|
||||
@@ -294,7 +294,7 @@ func (s *SqlSchemeStore) Delete(schemeId string) (*model.Scheme, error) {
|
||||
|
||||
// Delete the roles belonging to the scheme.
|
||||
roleNames := []string{scheme.DefaultChannelGuestRole, scheme.DefaultChannelUserRole, scheme.DefaultChannelAdminRole}
|
||||
if scheme.Scope == model.SCHEME_SCOPE_TEAM {
|
||||
if scheme.Scope == model.SchemeScopeTeam {
|
||||
roleNames = append(roleNames, scheme.DefaultTeamGuestRole, scheme.DefaultTeamUserRole, scheme.DefaultTeamAdminRole)
|
||||
}
|
||||
|
||||
|
||||
@@ -283,7 +283,7 @@ func (me SqlSessionStore) Cleanup(expiryTime int64, batchSize int64) {
|
||||
mlog.Debug("Cleaning up session store.")
|
||||
|
||||
var query string
|
||||
if me.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
if me.DriverName() == model.DatabaseDriverPostgres {
|
||||
query = "DELETE FROM Sessions WHERE Id = any (array (SELECT Id FROM Sessions WHERE ExpiresAt != 0 AND :ExpiresAt > ExpiresAt LIMIT :Limit))"
|
||||
} else {
|
||||
query = "DELETE FROM Sessions WHERE ExpiresAt != 0 AND :ExpiresAt > ExpiresAt LIMIT :Limit"
|
||||
|
||||
@@ -654,7 +654,7 @@ func (s SqlSharedChannelStore) UpdateUserLastSyncAt(userID string, channelID str
|
||||
args := map[string]interface{}{"UserId": userID, "ChannelId": channelID, "RemoteId": remoteID}
|
||||
|
||||
var query string
|
||||
if s.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
if s.DriverName() == model.DatabaseDriverPostgres {
|
||||
query = `
|
||||
UPDATE
|
||||
SharedChannelUsers AS scu
|
||||
@@ -665,7 +665,7 @@ func (s SqlSharedChannelStore) UpdateUserLastSyncAt(userID string, channelID str
|
||||
WHERE
|
||||
Users.Id = scu.UserId AND scu.UserId = :UserId AND scu.ChannelId = :ChannelId AND scu.RemoteId = :RemoteId
|
||||
`
|
||||
} else if s.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
} else if s.DriverName() == model.DatabaseDriverMysql {
|
||||
query = `
|
||||
UPDATE
|
||||
SharedChannelUsers AS scu
|
||||
@@ -725,7 +725,7 @@ func (s SqlSharedChannelStore) UpsertAttachment(attachment *model.SharedChannelA
|
||||
"LastSyncAt": attachment.LastSyncAt,
|
||||
}
|
||||
|
||||
if s.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
if s.DriverName() == model.DatabaseDriverMysql {
|
||||
if _, err := s.GetMaster().Exec(
|
||||
`INSERT INTO
|
||||
SharedChannelAttachments
|
||||
@@ -736,7 +736,7 @@ func (s SqlSharedChannelStore) UpsertAttachment(attachment *model.SharedChannelA
|
||||
LastSyncAt = :LastSyncAt`, params); err != nil {
|
||||
return "", err
|
||||
}
|
||||
} else if s.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
} else if s.DriverName() == model.DatabaseDriverPostgres {
|
||||
if _, err := s.GetMaster().Exec(
|
||||
`INSERT INTO
|
||||
SharedChannelAttachments
|
||||
|
||||
@@ -110,7 +110,7 @@ func (s SqlStatusStore) updateExpiredStatuses(t *gorp.Transaction) ([]*model.Sta
|
||||
From("Status").
|
||||
Where(
|
||||
sq.And{
|
||||
sq.Eq{"Status": model.STATUS_DND},
|
||||
sq.Eq{"Status": model.StatusDnd},
|
||||
sq.Gt{"DNDEndTime": 0},
|
||||
sq.LtOrEq{"DNDEndTime": currUnixTime},
|
||||
},
|
||||
@@ -126,13 +126,13 @@ func (s SqlStatusStore) updateExpiredStatuses(t *gorp.Transaction) ([]*model.Sta
|
||||
Update("Status").
|
||||
Where(
|
||||
sq.And{
|
||||
sq.Eq{"Status": model.STATUS_DND},
|
||||
sq.Eq{"Status": model.StatusDnd},
|
||||
sq.Gt{"DNDEndTime": 0},
|
||||
sq.LtOrEq{"DNDEndTime": currUnixTime},
|
||||
},
|
||||
).
|
||||
Set("Status", sq.Expr("PrevStatus")).
|
||||
Set("PrevStatus", model.STATUS_DND).
|
||||
Set("PrevStatus", model.StatusDnd).
|
||||
Set("DNDEndTime", 0).
|
||||
Set("Manual", false).
|
||||
ToSql()
|
||||
@@ -149,7 +149,7 @@ func (s SqlStatusStore) updateExpiredStatuses(t *gorp.Transaction) ([]*model.Sta
|
||||
}
|
||||
|
||||
func (s SqlStatusStore) UpdateExpiredDNDStatuses() ([]*model.Status, error) {
|
||||
if s.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
if s.DriverName() == model.DatabaseDriverMysql {
|
||||
transaction, err := s.GetMaster().Begin()
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "UpdateExpiredDNDStatuses: begin_transaction")
|
||||
@@ -165,7 +165,7 @@ func (s SqlStatusStore) UpdateExpiredDNDStatuses() ([]*model.Status, error) {
|
||||
|
||||
for _, status := range statuses {
|
||||
status.Status = status.PrevStatus
|
||||
status.PrevStatus = model.STATUS_DND
|
||||
status.PrevStatus = model.StatusDnd
|
||||
status.DNDEndTime = 0
|
||||
status.Manual = false
|
||||
}
|
||||
@@ -177,13 +177,13 @@ func (s SqlStatusStore) UpdateExpiredDNDStatuses() ([]*model.Status, error) {
|
||||
Update("Status").
|
||||
Where(
|
||||
sq.And{
|
||||
sq.Eq{"Status": model.STATUS_DND},
|
||||
sq.Eq{"Status": model.StatusDnd},
|
||||
sq.Gt{"DNDEndTime": 0},
|
||||
sq.LtOrEq{"DNDEndTime": time.Now().UTC().Unix()},
|
||||
},
|
||||
).
|
||||
Set("Status", sq.Expr("PrevStatus")).
|
||||
Set("PrevStatus", model.STATUS_DND).
|
||||
Set("PrevStatus", model.StatusDnd).
|
||||
Set("DNDEndTime", 0).
|
||||
Set("Manual", false).
|
||||
Suffix("RETURNING *").
|
||||
@@ -215,7 +215,7 @@ func (s SqlStatusStore) UpdateExpiredDNDStatuses() ([]*model.Status, error) {
|
||||
}
|
||||
|
||||
func (s SqlStatusStore) ResetAll() error {
|
||||
if _, err := s.GetMaster().Exec("UPDATE Status SET Status = :Status WHERE Manual = false", map[string]interface{}{"Status": model.STATUS_OFFLINE}); err != nil {
|
||||
if _, err := s.GetMaster().Exec("UPDATE Status SET Status = :Status WHERE Manual = false", map[string]interface{}{"Status": model.StatusOffline}); err != nil {
|
||||
return errors.Wrap(err, "failed to update Statuses")
|
||||
}
|
||||
return nil
|
||||
|
||||
@@ -179,7 +179,7 @@ func New(settings model.SqlSettings, metrics einterfaces.MetricsInterface) *SqlS
|
||||
|
||||
store.initConnection()
|
||||
|
||||
if *settings.DriverName == model.DATABASE_DRIVER_POSTGRES {
|
||||
if *settings.DriverName == model.DatabaseDriverPostgres {
|
||||
ver, err := store.GetDbVersion(true)
|
||||
if err != nil {
|
||||
mlog.Critical("Cannot get DB version.", mlog.Err(err))
|
||||
@@ -347,14 +347,14 @@ func getDBMap(settings *model.SqlSettings, db *dbsql.DB) *gorp.DbMap {
|
||||
connectionTimeout := time.Duration(*settings.QueryTimeout) * time.Second
|
||||
var dbMap *gorp.DbMap
|
||||
switch *settings.DriverName {
|
||||
case model.DATABASE_DRIVER_MYSQL:
|
||||
case model.DatabaseDriverMysql:
|
||||
dbMap = &gorp.DbMap{
|
||||
Db: db,
|
||||
TypeConverter: mattermConverter{},
|
||||
Dialect: gorp.MySQLDialect{Engine: "InnoDB", Encoding: "UTF8MB4"},
|
||||
QueryTimeout: connectionTimeout,
|
||||
}
|
||||
case model.DATABASE_DRIVER_POSTGRES:
|
||||
case model.DatabaseDriverPostgres:
|
||||
dbMap = &gorp.DbMap{
|
||||
Db: db,
|
||||
TypeConverter: mattermConverter{},
|
||||
@@ -383,7 +383,7 @@ func (ss *SqlStore) Context() context.Context {
|
||||
|
||||
func (ss *SqlStore) initConnection() {
|
||||
dataSource := *ss.settings.DataSource
|
||||
if ss.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
if ss.DriverName() == model.DatabaseDriverMysql {
|
||||
// TODO: We ignore the readTimeout datasource parameter for MySQL since QueryTimeout
|
||||
// covers that already. Ideally we'd like to do this only for the upgrade
|
||||
// step. To be reviewed in MM-35789.
|
||||
@@ -437,13 +437,13 @@ func (ss *SqlStore) GetCurrentSchemaVersion() string {
|
||||
// that can be parsed by callers.
|
||||
func (ss *SqlStore) GetDbVersion(numerical bool) (string, error) {
|
||||
var sqlVersion string
|
||||
if ss.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
if ss.DriverName() == model.DatabaseDriverPostgres {
|
||||
if numerical {
|
||||
sqlVersion = `SHOW server_version_num`
|
||||
} else {
|
||||
sqlVersion = `SHOW server_version`
|
||||
}
|
||||
} else if ss.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
} else if ss.DriverName() == model.DatabaseDriverMysql {
|
||||
sqlVersion = `SELECT version()`
|
||||
} else {
|
||||
return "", errors.New("Not supported driver")
|
||||
@@ -564,15 +564,15 @@ func (ss *SqlStore) MarkSystemRanUnitTests() {
|
||||
return
|
||||
}
|
||||
|
||||
unitTests := props[model.SYSTEM_RAN_UNIT_TESTS]
|
||||
unitTests := props[model.SystemRanUnitTests]
|
||||
if unitTests == "" {
|
||||
systemTests := &model.System{Name: model.SYSTEM_RAN_UNIT_TESTS, Value: "1"}
|
||||
systemTests := &model.System{Name: model.SystemRanUnitTests, Value: "1"}
|
||||
ss.System().Save(systemTests)
|
||||
}
|
||||
}
|
||||
|
||||
func (ss *SqlStore) DoesTableExist(tableName string) bool {
|
||||
if ss.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
if ss.DriverName() == model.DatabaseDriverPostgres {
|
||||
count, err := ss.GetMaster().SelectInt(
|
||||
`SELECT count(relname) FROM pg_class WHERE relname=$1`,
|
||||
strings.ToLower(tableName),
|
||||
@@ -586,7 +586,7 @@ func (ss *SqlStore) DoesTableExist(tableName string) bool {
|
||||
|
||||
return count > 0
|
||||
|
||||
} else if ss.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
} else if ss.DriverName() == model.DatabaseDriverMysql {
|
||||
|
||||
count, err := ss.GetMaster().SelectInt(
|
||||
`SELECT
|
||||
@@ -617,7 +617,7 @@ func (ss *SqlStore) DoesTableExist(tableName string) bool {
|
||||
}
|
||||
|
||||
func (ss *SqlStore) DoesColumnExist(tableName string, columnName string) bool {
|
||||
if ss.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
if ss.DriverName() == model.DatabaseDriverPostgres {
|
||||
count, err := ss.GetMaster().SelectInt(
|
||||
`SELECT COUNT(0)
|
||||
FROM pg_attribute
|
||||
@@ -640,7 +640,7 @@ func (ss *SqlStore) DoesColumnExist(tableName string, columnName string) bool {
|
||||
|
||||
return count > 0
|
||||
|
||||
} else if ss.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
} else if ss.DriverName() == model.DatabaseDriverMysql {
|
||||
|
||||
count, err := ss.GetMaster().SelectInt(
|
||||
`SELECT
|
||||
@@ -674,7 +674,7 @@ func (ss *SqlStore) DoesColumnExist(tableName string, columnName string) bool {
|
||||
// GetColumnInfo returns data type information about the given column.
|
||||
func (ss *SqlStore) GetColumnInfo(tableName, columnName string) (*ColumnInfo, error) {
|
||||
var columnInfo ColumnInfo
|
||||
if ss.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
if ss.DriverName() == model.DatabaseDriverPostgres {
|
||||
err := ss.GetMaster().SelectOne(&columnInfo,
|
||||
`SELECT data_type as DataType,
|
||||
COALESCE(character_maximum_length, 0) as CharMaximumLength
|
||||
@@ -686,7 +686,7 @@ func (ss *SqlStore) GetColumnInfo(tableName, columnName string) (*ColumnInfo, er
|
||||
return nil, err
|
||||
}
|
||||
return &columnInfo, nil
|
||||
} else if ss.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
} else if ss.DriverName() == model.DatabaseDriverMysql {
|
||||
err := ss.GetMaster().SelectOne(&columnInfo,
|
||||
`SELECT data_type as DataType,
|
||||
COALESCE(character_maximum_length, 0) as CharMaximumLength
|
||||
@@ -706,11 +706,11 @@ func (ss *SqlStore) GetColumnInfo(tableName, columnName string) (*ColumnInfo, er
|
||||
// IsVarchar returns true if the column type matches one of the varchar types
|
||||
// either in MySQL or PostgreSQL.
|
||||
func (ss *SqlStore) IsVarchar(columnType string) bool {
|
||||
if ss.DriverName() == model.DATABASE_DRIVER_POSTGRES && columnType == "character varying" {
|
||||
if ss.DriverName() == model.DatabaseDriverPostgres && columnType == "character varying" {
|
||||
return true
|
||||
}
|
||||
|
||||
if ss.DriverName() == model.DATABASE_DRIVER_MYSQL && columnType == "varchar" {
|
||||
if ss.DriverName() == model.DatabaseDriverMysql && columnType == "varchar" {
|
||||
return true
|
||||
}
|
||||
|
||||
@@ -718,7 +718,7 @@ func (ss *SqlStore) IsVarchar(columnType string) bool {
|
||||
}
|
||||
|
||||
func (ss *SqlStore) DoesTriggerExist(triggerName string) bool {
|
||||
if ss.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
if ss.DriverName() == model.DatabaseDriverPostgres {
|
||||
count, err := ss.GetMaster().SelectInt(`
|
||||
SELECT
|
||||
COUNT(0)
|
||||
@@ -736,7 +736,7 @@ func (ss *SqlStore) DoesTriggerExist(triggerName string) bool {
|
||||
|
||||
return count > 0
|
||||
|
||||
} else if ss.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
} else if ss.DriverName() == model.DatabaseDriverMysql {
|
||||
count, err := ss.GetMaster().SelectInt(`
|
||||
SELECT
|
||||
COUNT(0)
|
||||
@@ -769,7 +769,7 @@ func (ss *SqlStore) CreateColumnIfNotExists(tableName string, columnName string,
|
||||
return false
|
||||
}
|
||||
|
||||
if ss.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
if ss.DriverName() == model.DatabaseDriverPostgres {
|
||||
_, err := ss.GetMaster().ExecNoTimeout("ALTER TABLE " + tableName + " ADD " + columnName + " " + postgresColType + " DEFAULT '" + defaultValue + "'")
|
||||
if err != nil {
|
||||
mlog.Critical("Failed to create column", mlog.Err(err))
|
||||
@@ -779,7 +779,7 @@ func (ss *SqlStore) CreateColumnIfNotExists(tableName string, columnName string,
|
||||
|
||||
return true
|
||||
|
||||
} else if ss.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
} else if ss.DriverName() == model.DatabaseDriverMysql {
|
||||
_, err := ss.GetMaster().ExecNoTimeout("ALTER TABLE " + tableName + " ADD " + columnName + " " + mySqlColType + " DEFAULT '" + defaultValue + "'")
|
||||
if err != nil {
|
||||
mlog.Critical("Failed to create column", mlog.Err(err))
|
||||
@@ -803,7 +803,7 @@ func (ss *SqlStore) CreateColumnIfNotExistsNoDefault(tableName string, columnNam
|
||||
return false
|
||||
}
|
||||
|
||||
if ss.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
if ss.DriverName() == model.DatabaseDriverPostgres {
|
||||
_, err := ss.GetMaster().ExecNoTimeout("ALTER TABLE " + tableName + " ADD " + columnName + " " + postgresColType)
|
||||
if err != nil {
|
||||
mlog.Critical("Failed to create column", mlog.Err(err))
|
||||
@@ -813,7 +813,7 @@ func (ss *SqlStore) CreateColumnIfNotExistsNoDefault(tableName string, columnNam
|
||||
|
||||
return true
|
||||
|
||||
} else if ss.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
} else if ss.DriverName() == model.DatabaseDriverMysql {
|
||||
_, err := ss.GetMaster().ExecNoTimeout("ALTER TABLE " + tableName + " ADD " + columnName + " " + mySqlColType)
|
||||
if err != nil {
|
||||
mlog.Critical("Failed to create column", mlog.Err(err))
|
||||
@@ -868,9 +868,9 @@ func (ss *SqlStore) RenameColumnIfExists(tableName string, oldColumnName string,
|
||||
}
|
||||
|
||||
var err error
|
||||
if ss.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
if ss.DriverName() == model.DatabaseDriverMysql {
|
||||
_, err = ss.GetMaster().ExecNoTimeout("ALTER TABLE " + tableName + " CHANGE " + oldColumnName + " " + newColumnName + " " + colType)
|
||||
} else if ss.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
} else if ss.DriverName() == model.DatabaseDriverPostgres {
|
||||
_, err = ss.GetMaster().ExecNoTimeout("ALTER TABLE " + tableName + " RENAME COLUMN " + oldColumnName + " TO " + newColumnName)
|
||||
}
|
||||
|
||||
@@ -890,9 +890,9 @@ func (ss *SqlStore) GetMaxLengthOfColumnIfExists(tableName string, columnName st
|
||||
|
||||
var result string
|
||||
var err error
|
||||
if ss.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
if ss.DriverName() == model.DatabaseDriverMysql {
|
||||
result, err = ss.GetMaster().SelectStr("SELECT CHARACTER_MAXIMUM_LENGTH FROM information_schema.columns WHERE table_name = '" + tableName + "' AND COLUMN_NAME = '" + columnName + "'")
|
||||
} else if ss.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
} else if ss.DriverName() == model.DatabaseDriverPostgres {
|
||||
result, err = ss.GetMaster().SelectStr("SELECT character_maximum_length FROM information_schema.columns WHERE table_name = '" + strings.ToLower(tableName) + "' AND column_name = '" + strings.ToLower(columnName) + "'")
|
||||
}
|
||||
|
||||
@@ -911,9 +911,9 @@ func (ss *SqlStore) AlterColumnTypeIfExists(tableName string, columnName string,
|
||||
}
|
||||
|
||||
var err error
|
||||
if ss.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
if ss.DriverName() == model.DatabaseDriverMysql {
|
||||
_, err = ss.GetMaster().ExecNoTimeout("ALTER TABLE " + tableName + " MODIFY " + columnName + " " + mySqlColType)
|
||||
} else if ss.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
} else if ss.DriverName() == model.DatabaseDriverPostgres {
|
||||
_, err = ss.GetMaster().ExecNoTimeout("ALTER TABLE " + strings.ToLower(tableName) + " ALTER COLUMN " + strings.ToLower(columnName) + " TYPE " + postgresColType)
|
||||
}
|
||||
|
||||
@@ -948,14 +948,14 @@ func (ss *SqlStore) AlterDefaultIfColumnExists(tableName string, columnName stri
|
||||
}
|
||||
|
||||
var defaultValue string
|
||||
if ss.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
if ss.DriverName() == model.DatabaseDriverMysql {
|
||||
// Some column types in MySQL cannot have defaults, so don't try to configure anything.
|
||||
if mySqlColDefault == nil {
|
||||
return true
|
||||
}
|
||||
|
||||
defaultValue = *mySqlColDefault
|
||||
} else if ss.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
} else if ss.DriverName() == model.DatabaseDriverPostgres {
|
||||
// Postgres doesn't have the same limitation, but preserve the interface.
|
||||
if postgresColDefault == nil {
|
||||
return true
|
||||
@@ -992,7 +992,7 @@ func (ss *SqlStore) AlterPrimaryKey(tableName string, columnNames []string) bool
|
||||
var err error
|
||||
// get the current primary key as a comma separated list of columns
|
||||
switch ss.DriverName() {
|
||||
case model.DATABASE_DRIVER_MYSQL:
|
||||
case model.DatabaseDriverMysql:
|
||||
query := `
|
||||
SELECT GROUP_CONCAT(column_name ORDER BY seq_in_index) AS PK
|
||||
FROM
|
||||
@@ -1004,7 +1004,7 @@ func (ss *SqlStore) AlterPrimaryKey(tableName string, columnNames []string) bool
|
||||
GROUP BY
|
||||
index_name`
|
||||
currentPrimaryKey, err = ss.GetMaster().SelectStr(query, tableName)
|
||||
case model.DATABASE_DRIVER_POSTGRES:
|
||||
case model.DatabaseDriverPostgres:
|
||||
query := `
|
||||
SELECT string_agg(a.attname, ',') AS pk
|
||||
FROM
|
||||
@@ -1031,9 +1031,9 @@ func (ss *SqlStore) AlterPrimaryKey(tableName string, columnNames []string) bool
|
||||
}
|
||||
// alter primary key
|
||||
var alterQuery string
|
||||
if ss.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
if ss.DriverName() == model.DatabaseDriverMysql {
|
||||
alterQuery = "ALTER TABLE " + tableName + " DROP PRIMARY KEY, ADD PRIMARY KEY (" + primaryKey + ")"
|
||||
} else if ss.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
} else if ss.DriverName() == model.DatabaseDriverPostgres {
|
||||
alterQuery = "ALTER TABLE " + tableName + " DROP CONSTRAINT " + strings.ToLower(tableName) + "_pkey, ADD PRIMARY KEY (" + strings.ToLower(primaryKey) + ")"
|
||||
}
|
||||
_, err = ss.GetMaster().ExecNoTimeout(alterQuery)
|
||||
@@ -1076,7 +1076,7 @@ func (ss *SqlStore) createIndexIfNotExists(indexName string, tableName string, c
|
||||
uniqueStr = "UNIQUE "
|
||||
}
|
||||
|
||||
if ss.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
if ss.DriverName() == model.DatabaseDriverPostgres {
|
||||
_, errExists := ss.GetMaster().SelectStr("SELECT $1::regclass", indexName)
|
||||
// It should fail if the index does not exist
|
||||
if errExists == nil {
|
||||
@@ -1109,7 +1109,7 @@ func (ss *SqlStore) createIndexIfNotExists(indexName string, tableName string, c
|
||||
time.Sleep(time.Second)
|
||||
os.Exit(ExitCreateIndexPostgres)
|
||||
}
|
||||
} else if ss.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
} else if ss.DriverName() == model.DatabaseDriverMysql {
|
||||
|
||||
count, err := ss.GetMaster().SelectInt("SELECT COUNT(0) AS index_exists FROM information_schema.statistics WHERE TABLE_SCHEMA = DATABASE() and table_name = ? AND index_name = ?", tableName, indexName)
|
||||
if err != nil {
|
||||
@@ -1168,7 +1168,7 @@ func (ss *SqlStore) CreateForeignKeyIfNotExists(
|
||||
|
||||
func (ss *SqlStore) RemoveIndexIfExists(indexName string, tableName string) bool {
|
||||
|
||||
if ss.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
if ss.DriverName() == model.DatabaseDriverPostgres {
|
||||
_, err := ss.GetMaster().SelectStr("SELECT $1::regclass", indexName)
|
||||
// It should fail if the index does not exist
|
||||
if err != nil {
|
||||
@@ -1183,7 +1183,7 @@ func (ss *SqlStore) RemoveIndexIfExists(indexName string, tableName string) bool
|
||||
}
|
||||
|
||||
return true
|
||||
} else if ss.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
} else if ss.DriverName() == model.DatabaseDriverMysql {
|
||||
|
||||
count, err := ss.GetMaster().SelectInt("SELECT COUNT(0) AS index_exists FROM information_schema.statistics WHERE TABLE_SCHEMA = DATABASE() and table_name = ? AND index_name = ?", tableName, indexName)
|
||||
if err != nil {
|
||||
@@ -1443,7 +1443,7 @@ func (ss *SqlStore) DropAllTables() {
|
||||
|
||||
func (ss *SqlStore) getQueryBuilder() sq.StatementBuilderType {
|
||||
builder := sq.StatementBuilder.PlaceholderFormat(sq.Question)
|
||||
if ss.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
if ss.DriverName() == model.DatabaseDriverPostgres {
|
||||
builder = builder.PlaceholderFormat(sq.Dollar)
|
||||
}
|
||||
return builder
|
||||
@@ -1478,7 +1478,7 @@ func (ss *SqlStore) migrate(direction migrationDirection) error {
|
||||
conn := setupConnection("migrations", dataSource, ss.settings)
|
||||
defer conn.Db.Close()
|
||||
|
||||
if ss.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
if ss.DriverName() == model.DatabaseDriverMysql {
|
||||
driver, err = mysqlmigrate.WithInstance(conn.Db, &mysqlmigrate.Config{})
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -1535,7 +1535,7 @@ func (ss *SqlStore) migrate(direction migrationDirection) error {
|
||||
func (ss *SqlStore) appendMultipleStatementsFlag(dataSource string) (string, error) {
|
||||
// We need to tell the MySQL driver that we want to use multiStatements
|
||||
// in order to make migrations work.
|
||||
if ss.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
if ss.DriverName() == model.DatabaseDriverMysql {
|
||||
config, err := mysql.ParseDSN(dataSource)
|
||||
if err != nil {
|
||||
return "", err
|
||||
|
||||
@@ -104,14 +104,14 @@ func initStores() {
|
||||
if os.Getenv("IS_CI") == "true" {
|
||||
switch os.Getenv("MM_SQLSETTINGS_DRIVERNAME") {
|
||||
case "mysql":
|
||||
storeTypes = append(storeTypes, newStoreType("MySQL", model.DATABASE_DRIVER_MYSQL))
|
||||
storeTypes = append(storeTypes, newStoreType("MySQL", model.DatabaseDriverMysql))
|
||||
case "postgres":
|
||||
storeTypes = append(storeTypes, newStoreType("PostgreSQL", model.DATABASE_DRIVER_POSTGRES))
|
||||
storeTypes = append(storeTypes, newStoreType("PostgreSQL", model.DatabaseDriverPostgres))
|
||||
}
|
||||
} else {
|
||||
storeTypes = append(storeTypes,
|
||||
newStoreType("MySQL", model.DATABASE_DRIVER_MYSQL),
|
||||
newStoreType("PostgreSQL", model.DATABASE_DRIVER_POSTGRES),
|
||||
newStoreType("MySQL", model.DatabaseDriverMysql),
|
||||
newStoreType("PostgreSQL", model.DatabaseDriverPostgres),
|
||||
)
|
||||
}
|
||||
|
||||
@@ -165,7 +165,7 @@ func tearDownStores() {
|
||||
// before the fix in MM-28397.
|
||||
// Keeping it here to help avoiding future regressions.
|
||||
func TestStoreLicenseRace(t *testing.T) {
|
||||
settings := makeSqlSettings(model.DATABASE_DRIVER_POSTGRES)
|
||||
settings := makeSqlSettings(model.DatabaseDriverPostgres)
|
||||
store := New(*settings, nil)
|
||||
defer func() {
|
||||
store.Close()
|
||||
@@ -251,7 +251,7 @@ func TestGetReplica(t *testing.T) {
|
||||
testCase := testCase
|
||||
t.Run(testCase.Description+" with license", func(t *testing.T) {
|
||||
|
||||
settings := makeSqlSettings(model.DATABASE_DRIVER_POSTGRES)
|
||||
settings := makeSqlSettings(model.DatabaseDriverPostgres)
|
||||
dataSourceReplicas := []string{}
|
||||
dataSourceSearchReplicas := []string{}
|
||||
for i := 0; i < testCase.DataSourceReplicaNum; i++ {
|
||||
@@ -321,7 +321,7 @@ func TestGetReplica(t *testing.T) {
|
||||
|
||||
t.Run(testCase.Description+" without license", func(t *testing.T) {
|
||||
|
||||
settings := makeSqlSettings(model.DATABASE_DRIVER_POSTGRES)
|
||||
settings := makeSqlSettings(model.DatabaseDriverPostgres)
|
||||
dataSourceReplicas := []string{}
|
||||
dataSourceSearchReplicas := []string{}
|
||||
for i := 0; i < testCase.DataSourceReplicaNum; i++ {
|
||||
@@ -389,8 +389,8 @@ func TestGetReplica(t *testing.T) {
|
||||
|
||||
func TestGetDbVersion(t *testing.T) {
|
||||
testDrivers := []string{
|
||||
model.DATABASE_DRIVER_POSTGRES,
|
||||
model.DATABASE_DRIVER_MYSQL,
|
||||
model.DatabaseDriverPostgres,
|
||||
model.DatabaseDriverMysql,
|
||||
}
|
||||
|
||||
for _, driver := range testDrivers {
|
||||
@@ -408,8 +408,8 @@ func TestGetDbVersion(t *testing.T) {
|
||||
|
||||
func TestUpAndDownMigrations(t *testing.T) {
|
||||
testDrivers := []string{
|
||||
model.DATABASE_DRIVER_POSTGRES,
|
||||
model.DATABASE_DRIVER_MYSQL,
|
||||
model.DatabaseDriverPostgres,
|
||||
model.DatabaseDriverMysql,
|
||||
}
|
||||
|
||||
for _, driver := range testDrivers {
|
||||
@@ -493,7 +493,7 @@ func TestGetAllConns(t *testing.T) {
|
||||
testCase := testCase
|
||||
t.Run(testCase.Description, func(t *testing.T) {
|
||||
t.Parallel()
|
||||
settings := makeSqlSettings(model.DATABASE_DRIVER_POSTGRES)
|
||||
settings := makeSqlSettings(model.DatabaseDriverPostgres)
|
||||
dataSourceReplicas := []string{}
|
||||
dataSourceSearchReplicas := []string{}
|
||||
for i := 0; i < testCase.DataSourceReplicaNum; i++ {
|
||||
@@ -560,8 +560,8 @@ func TestVersionString(t *testing.T) {
|
||||
|
||||
func TestReplicaLagQuery(t *testing.T) {
|
||||
testDrivers := []string{
|
||||
model.DATABASE_DRIVER_POSTGRES,
|
||||
model.DATABASE_DRIVER_MYSQL,
|
||||
model.DatabaseDriverPostgres,
|
||||
model.DatabaseDriverMysql,
|
||||
}
|
||||
|
||||
for _, driver := range testDrivers {
|
||||
@@ -570,10 +570,10 @@ func TestReplicaLagQuery(t *testing.T) {
|
||||
var tableName string
|
||||
// Just any random query which returns a row in (string, int) format.
|
||||
switch driver {
|
||||
case model.DATABASE_DRIVER_POSTGRES:
|
||||
case model.DatabaseDriverPostgres:
|
||||
query = `SELECT relname, count(relname) FROM pg_class WHERE relname='posts' GROUP BY relname`
|
||||
tableName = "posts"
|
||||
case model.DATABASE_DRIVER_MYSQL:
|
||||
case model.DatabaseDriverMysql:
|
||||
query = `SELECT table_name, count(table_name) FROM information_schema.tables WHERE table_name='Posts' and table_schema=Database() GROUP BY table_name`
|
||||
tableName = "Posts"
|
||||
}
|
||||
@@ -621,19 +621,19 @@ func TestAppendMultipleStatementsFlagMysql(t *testing.T) {
|
||||
"Should append multiStatements param to the DSN path with existing params",
|
||||
"user:rand?&ompasswith@character@unix(/var/run/mysqld/mysqld.sock)/mattermost?writeTimeout=30s",
|
||||
"user:rand?&ompasswith@character@unix(/var/run/mysqld/mysqld.sock)/mattermost?writeTimeout=30s&multiStatements=true",
|
||||
model.DATABASE_DRIVER_MYSQL,
|
||||
model.DatabaseDriverMysql,
|
||||
},
|
||||
{
|
||||
"Should append multiStatements param to the DSN path with no existing params",
|
||||
"user:rand?&ompasswith@character@unix(/var/run/mysqld/mysqld.sock)/mattermost",
|
||||
"user:rand?&ompasswith@character@unix(/var/run/mysqld/mysqld.sock)/mattermost?multiStatements=true",
|
||||
model.DATABASE_DRIVER_MYSQL,
|
||||
model.DatabaseDriverMysql,
|
||||
},
|
||||
{
|
||||
"Should not multiStatements param to the DSN when driver is not MySQL",
|
||||
"user:rand?&ompasswith@character@unix(/var/run/mysqld/mysqld.sock)/mattermost",
|
||||
"user:rand?&ompasswith@character@unix(/var/run/mysqld/mysqld.sock)/mattermost",
|
||||
model.DATABASE_DRIVER_POSTGRES,
|
||||
model.DatabaseDriverPostgres,
|
||||
},
|
||||
}
|
||||
|
||||
@@ -649,9 +649,9 @@ func TestAppendMultipleStatementsFlagMysql(t *testing.T) {
|
||||
|
||||
func makeSqlSettings(driver string) *model.SqlSettings {
|
||||
switch driver {
|
||||
case model.DATABASE_DRIVER_POSTGRES:
|
||||
case model.DatabaseDriverPostgres:
|
||||
return storetest.MakeSqlSettings(driver, false)
|
||||
case model.DATABASE_DRIVER_MYSQL:
|
||||
case model.DatabaseDriverMysql:
|
||||
return storetest.MakeSqlSettings(driver, false)
|
||||
}
|
||||
|
||||
@@ -667,9 +667,9 @@ func TestExecNoTimeout(t *testing.T) {
|
||||
defer func() {
|
||||
sqlStore.master.QueryTimeout = timeout
|
||||
}()
|
||||
if sqlStore.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
if sqlStore.DriverName() == model.DatabaseDriverMysql {
|
||||
query = `SELECT SLEEP(2);`
|
||||
} else if sqlStore.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
} else if sqlStore.DriverName() == model.DatabaseDriverPostgres {
|
||||
query = `SELECT pg_sleep(2);`
|
||||
}
|
||||
_, err := sqlStore.GetMaster().ExecNoTimeout(query)
|
||||
@@ -678,7 +678,7 @@ func TestExecNoTimeout(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestMySQLReadTimeout(t *testing.T) {
|
||||
settings := makeSqlSettings(model.DATABASE_DRIVER_MYSQL)
|
||||
settings := makeSqlSettings(model.DatabaseDriverMysql)
|
||||
dataSource := *settings.DataSource
|
||||
config, err := mysql.ParseDSN(dataSource)
|
||||
require.NoError(t, err)
|
||||
@@ -741,13 +741,13 @@ func TestAlterDefaultIfColumnExists(t *testing.T) {
|
||||
ok := sqlStore.AlterDefaultIfColumnExists("Posts", "Id", model.NewString(""), model.NewString(""))
|
||||
require.True(t, ok)
|
||||
|
||||
if sqlStore.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
if sqlStore.DriverName() == model.DatabaseDriverMysql {
|
||||
query = `SELECT column_default
|
||||
FROM information_schema.columns
|
||||
WHERE table_schema = DATABASE()
|
||||
AND table_name = 'Posts'
|
||||
AND column_name = 'Id'`
|
||||
} else if sqlStore.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
} else if sqlStore.DriverName() == model.DatabaseDriverPostgres {
|
||||
query = `SELECT column_default
|
||||
FROM information_schema.columns
|
||||
WHERE table_name = 'posts'
|
||||
@@ -757,9 +757,9 @@ func TestAlterDefaultIfColumnExists(t *testing.T) {
|
||||
err := sqlStore.GetMaster().SelectOne(&def, query)
|
||||
require.NoError(t, err)
|
||||
require.NotNil(t, def)
|
||||
if sqlStore.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
if sqlStore.DriverName() == model.DatabaseDriverMysql {
|
||||
require.Equal(t, "", *def)
|
||||
} else if sqlStore.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
} else if sqlStore.DriverName() == model.DatabaseDriverPostgres {
|
||||
require.Equal(t, "''::character varying", *def)
|
||||
}
|
||||
})
|
||||
@@ -771,9 +771,9 @@ func TestAlterDefaultIfColumnExists(t *testing.T) {
|
||||
err := sqlStore.GetMaster().SelectOne(&def, query)
|
||||
require.NoError(t, err)
|
||||
require.NotNil(t, def)
|
||||
if sqlStore.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
if sqlStore.DriverName() == model.DatabaseDriverMysql {
|
||||
require.Equal(t, "", *def)
|
||||
} else if sqlStore.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
} else if sqlStore.DriverName() == model.DatabaseDriverPostgres {
|
||||
require.Equal(t, "''::character varying", *def)
|
||||
}
|
||||
})
|
||||
@@ -794,9 +794,9 @@ func TestAlterDefaultIfColumnExists(t *testing.T) {
|
||||
err := sqlStore.GetMaster().SelectOne(&def, query)
|
||||
require.NoError(t, err)
|
||||
require.NotNil(t, def)
|
||||
if sqlStore.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
if sqlStore.DriverName() == model.DatabaseDriverMysql {
|
||||
require.Equal(t, "test", *def)
|
||||
} else if sqlStore.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
} else if sqlStore.DriverName() == model.DatabaseDriverPostgres {
|
||||
require.Equal(t, "'test'::character varying", *def)
|
||||
}
|
||||
|
||||
@@ -808,13 +808,13 @@ func TestAlterDefaultIfColumnExists(t *testing.T) {
|
||||
ok := sqlStore.AlterDefaultIfColumnExists("Posts", "UpdateAt", model.NewString("0"), model.NewString("0"))
|
||||
require.True(t, ok)
|
||||
|
||||
if sqlStore.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
if sqlStore.DriverName() == model.DatabaseDriverMysql {
|
||||
query = `SELECT column_default
|
||||
FROM information_schema.columns
|
||||
WHERE table_schema = DATABASE()
|
||||
AND table_name = 'Posts'
|
||||
AND column_name = 'UpdateAt'`
|
||||
} else if sqlStore.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
} else if sqlStore.DriverName() == model.DatabaseDriverPostgres {
|
||||
query = `SELECT column_default
|
||||
FROM information_schema.columns
|
||||
WHERE table_name = 'posts'
|
||||
|
||||
@@ -68,9 +68,9 @@ func (s SqlSystemStore) SaveOrUpdateWithWarnMetricHandling(system *model.System)
|
||||
}
|
||||
}
|
||||
|
||||
if strings.HasPrefix(system.Name, model.WARN_METRIC_STATUS_STORE_PREFIX) && (system.Value == model.WARN_METRIC_STATUS_RUNONCE || system.Value == model.WARN_METRIC_STATUS_LIMIT_REACHED) {
|
||||
if err := s.SaveOrUpdate(&model.System{Name: model.SYSTEM_WARN_METRIC_LAST_RUN_TIMESTAMP_KEY, Value: strconv.FormatInt(utils.MillisFromTime(time.Now()), 10)}); err != nil {
|
||||
return errors.Wrapf(err, "failed to save system property with name=%s", model.SYSTEM_WARN_METRIC_LAST_RUN_TIMESTAMP_KEY)
|
||||
if strings.HasPrefix(system.Name, model.WarnMetricStatusStorePrefix) && (system.Value == model.WarnMetricStatusRunonce || system.Value == model.WarnMetricStatusLimitReached) {
|
||||
if err := s.SaveOrUpdate(&model.System{Name: model.SystemWarnMetricLastRunTimestampKey, Value: strconv.FormatInt(utils.MillisFromTime(time.Now()), 10)}); err != nil {
|
||||
return errors.Wrapf(err, "failed to save system property with name=%s", model.SystemWarnMetricLastRunTimestampKey)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -105,11 +105,11 @@ func getTeamRoles(schemeGuest, schemeUser, schemeAdmin bool, defaultTeamGuestRol
|
||||
// them from ExplicitRoles field.
|
||||
for _, role := range roles {
|
||||
switch role {
|
||||
case model.TEAM_GUEST_ROLE_ID:
|
||||
case model.TeamGuestRoleId:
|
||||
result.schemeGuest = true
|
||||
case model.TEAM_USER_ROLE_ID:
|
||||
case model.TeamUserRoleId:
|
||||
result.schemeUser = true
|
||||
case model.TEAM_ADMIN_ROLE_ID:
|
||||
case model.TeamAdminRoleId:
|
||||
result.schemeAdmin = true
|
||||
default:
|
||||
result.explicitRoles = append(result.explicitRoles, role)
|
||||
@@ -124,21 +124,21 @@ func getTeamRoles(schemeGuest, schemeUser, schemeAdmin bool, defaultTeamGuestRol
|
||||
if defaultTeamGuestRole != "" {
|
||||
schemeImpliedRoles = append(schemeImpliedRoles, defaultTeamGuestRole)
|
||||
} else {
|
||||
schemeImpliedRoles = append(schemeImpliedRoles, model.TEAM_GUEST_ROLE_ID)
|
||||
schemeImpliedRoles = append(schemeImpliedRoles, model.TeamGuestRoleId)
|
||||
}
|
||||
}
|
||||
if result.schemeUser {
|
||||
if defaultTeamUserRole != "" {
|
||||
schemeImpliedRoles = append(schemeImpliedRoles, defaultTeamUserRole)
|
||||
} else {
|
||||
schemeImpliedRoles = append(schemeImpliedRoles, model.TEAM_USER_ROLE_ID)
|
||||
schemeImpliedRoles = append(schemeImpliedRoles, model.TeamUserRoleId)
|
||||
}
|
||||
}
|
||||
if result.schemeAdmin {
|
||||
if defaultTeamAdminRole != "" {
|
||||
schemeImpliedRoles = append(schemeImpliedRoles, defaultTeamAdminRole)
|
||||
} else {
|
||||
schemeImpliedRoles = append(schemeImpliedRoles, model.TEAM_ADMIN_ROLE_ID)
|
||||
schemeImpliedRoles = append(schemeImpliedRoles, model.TeamAdminRoleId)
|
||||
}
|
||||
}
|
||||
for _, impliedRole := range schemeImpliedRoles {
|
||||
@@ -400,7 +400,7 @@ func (s SqlTeamStore) teamSearchQuery(opts *model.TeamSearch, countQuery bool) s
|
||||
term = wildcardSearchTerm(term)
|
||||
|
||||
operatorKeyword := "ILIKE"
|
||||
if s.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
if s.DriverName() == model.DatabaseDriverMysql {
|
||||
operatorKeyword = "LIKE"
|
||||
}
|
||||
|
||||
@@ -1264,11 +1264,11 @@ func (s SqlTeamStore) MigrateTeamMembers(fromTeamId string, fromUserId string) (
|
||||
member.SchemeGuest = sql.NullBool{Bool: false, Valid: true}
|
||||
}
|
||||
for _, role := range roles {
|
||||
if role == model.TEAM_ADMIN_ROLE_ID {
|
||||
if role == model.TeamAdminRoleId {
|
||||
member.SchemeAdmin = sql.NullBool{Bool: true, Valid: true}
|
||||
} else if role == model.TEAM_USER_ROLE_ID {
|
||||
} else if role == model.TeamUserRoleId {
|
||||
member.SchemeUser = sql.NullBool{Bool: true, Valid: true}
|
||||
} else if role == model.TEAM_GUEST_ROLE_ID {
|
||||
} else if role == model.TeamGuestRoleId {
|
||||
member.SchemeGuest = sql.NullBool{Bool: true, Valid: true}
|
||||
} else {
|
||||
newRoles = append(newRoles, role)
|
||||
|
||||
@@ -25,7 +25,7 @@ func newSqlTermsOfServiceStore(sqlStore *SqlStore, metrics einterfaces.MetricsIn
|
||||
table := db.AddTableWithName(model.TermsOfService{}, "TermsOfService").SetKeys(false, "Id")
|
||||
table.ColMap("Id").SetMaxSize(26)
|
||||
table.ColMap("UserId").SetMaxSize(26)
|
||||
table.ColMap("Text").SetMaxSize(model.POST_MESSAGE_MAX_BYTES_V2)
|
||||
table.ColMap("Text").SetMaxSize(model.PostMessageMaxBytesV2)
|
||||
}
|
||||
|
||||
return s
|
||||
|
||||
@@ -69,7 +69,7 @@ func (s SqlTokenStore) GetByToken(tokenString string) (*model.Token, error) {
|
||||
|
||||
func (s SqlTokenStore) Cleanup() {
|
||||
mlog.Debug("Cleaning up token store.")
|
||||
deltime := model.GetMillis() - model.MAX_TOKEN_EXIPRY_TIME
|
||||
deltime := model.GetMillis() - model.MaxTokenExipryTime
|
||||
if _, err := s.GetMaster().Exec("DELETE FROM Tokens WHERE CreateAt < :DelTime", map[string]interface{}{"DelTime": deltime}); err != nil {
|
||||
mlog.Error("Unable to cleanup token store.")
|
||||
}
|
||||
|
||||
@@ -273,7 +273,7 @@ func upgradeDatabaseToVersion33(sqlStore *SqlStore) {
|
||||
if shouldPerformUpgrade(sqlStore, Version320, Version330) {
|
||||
if sqlStore.DoesColumnExist("Users", "ThemeProps") {
|
||||
params := map[string]interface{}{
|
||||
"Category": model.PREFERENCE_CATEGORY_THEME,
|
||||
"Category": model.PreferenceCategoryTheme,
|
||||
"Name": "",
|
||||
}
|
||||
|
||||
@@ -284,12 +284,12 @@ func upgradeDatabaseToVersion33(sqlStore *SqlStore) {
|
||||
defer finalizeTransaction(transaction)
|
||||
|
||||
// increase size of Value column of Preferences table to match the size of the ThemeProps column
|
||||
if sqlStore.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
if sqlStore.DriverName() == model.DatabaseDriverPostgres {
|
||||
if _, err := transaction.ExecNoTimeout("ALTER TABLE Preferences ALTER COLUMN Value TYPE varchar(2000)"); err != nil {
|
||||
themeMigrationFailed(err)
|
||||
return
|
||||
}
|
||||
} else if sqlStore.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
} else if sqlStore.DriverName() == model.DatabaseDriverMysql {
|
||||
if _, err := transaction.ExecNoTimeout("ALTER TABLE Preferences MODIFY Value text"); err != nil {
|
||||
themeMigrationFailed(err)
|
||||
return
|
||||
@@ -301,7 +301,7 @@ func upgradeDatabaseToVersion33(sqlStore *SqlStore) {
|
||||
`INSERT INTO
|
||||
Preferences(UserId, Category, Name, Value)
|
||||
SELECT
|
||||
Id, '`+model.PREFERENCE_CATEGORY_THEME+`', '', ThemeProps
|
||||
Id, '`+model.PreferenceCategoryTheme+`', '', ThemeProps
|
||||
FROM
|
||||
Users
|
||||
WHERE
|
||||
@@ -323,7 +323,7 @@ func upgradeDatabaseToVersion33(sqlStore *SqlStore) {
|
||||
|
||||
// rename solarized_* code themes to solarized-* to match client changes in 3.0
|
||||
var data model.Preferences
|
||||
if _, err := sqlStore.GetMaster().Select(&data, "SELECT * FROM Preferences WHERE Category = '"+model.PREFERENCE_CATEGORY_THEME+"' AND Value LIKE '%solarized_%'"); err == nil {
|
||||
if _, err := sqlStore.GetMaster().Select(&data, "SELECT * FROM Preferences WHERE Category = '"+model.PreferenceCategoryTheme+"' AND Value LIKE '%solarized_%'"); err == nil {
|
||||
for i := range data {
|
||||
data[i].Value = strings.Replace(data[i].Value, "solarized_", "solarized-", -1)
|
||||
}
|
||||
@@ -418,7 +418,7 @@ func upgradeDatabaseToVersion38(sqlStore *SqlStore) {
|
||||
|
||||
func upgradeDatabaseToVersion39(sqlStore *SqlStore) {
|
||||
if shouldPerformUpgrade(sqlStore, Version380, Version390) {
|
||||
sqlStore.CreateColumnIfNotExists("OAuthAccessData", "Scope", "varchar(128)", "varchar(128)", model.DEFAULT_SCOPE)
|
||||
sqlStore.CreateColumnIfNotExists("OAuthAccessData", "Scope", "varchar(128)", "varchar(128)", model.DefaultScope)
|
||||
sqlStore.RemoveTableIfExists("PasswordRecovery")
|
||||
|
||||
saveSchemaVersion(sqlStore, Version390)
|
||||
@@ -635,7 +635,7 @@ func upgradeDatabaseToVersion56(sqlStore *SqlStore) {
|
||||
// migrating user's accepted terms of service data into the new table
|
||||
sqlStore.GetMaster().ExecNoTimeout("INSERT INTO UserTermsOfService SELECT Id, AcceptedTermsOfServiceId as TermsOfServiceId, :CreateAt FROM Users WHERE AcceptedTermsOfServiceId != \"\" AND AcceptedTermsOfServiceId IS NOT NULL", map[string]interface{}{"CreateAt": model.GetMillis()})
|
||||
|
||||
if sqlStore.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
if sqlStore.DriverName() == model.DatabaseDriverPostgres {
|
||||
sqlStore.RemoveIndexIfExists("idx_users_email_lower", "lower(Email)")
|
||||
sqlStore.RemoveIndexIfExists("idx_users_username_lower", "lower(Username)")
|
||||
sqlStore.RemoveIndexIfExists("idx_users_nickname_lower", "lower(Nickname)")
|
||||
@@ -667,7 +667,7 @@ func upgradeDatabaseToVersion58(sqlStore *SqlStore) {
|
||||
sqlStore.AlterColumnTypeIfExists("IncomingWebhooks", "Description", "text", "VARCHAR(500)")
|
||||
sqlStore.AlterColumnTypeIfExists("OutgoingWebhooks", "IconURL", "text", "VARCHAR(1024)")
|
||||
sqlStore.RemoveDefaultIfColumnExists("OutgoingWebhooks", "Username")
|
||||
if sqlStore.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
if sqlStore.DriverName() == model.DatabaseDriverPostgres {
|
||||
sqlStore.RemoveDefaultIfColumnExists("OutgoingWebhooks", "IconURL")
|
||||
}
|
||||
sqlStore.AlterDefaultIfColumnExists("OutgoingWebhooks", "Username", model.NewString("NULL"), nil)
|
||||
@@ -751,9 +751,9 @@ func upgradeDatabaseToVersion515(sqlStore *SqlStore) {
|
||||
|
||||
func upgradeDatabaseToVersion516(sqlStore *SqlStore) {
|
||||
if shouldPerformUpgrade(sqlStore, Version5150, Version5160) {
|
||||
if sqlStore.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
if sqlStore.DriverName() == model.DatabaseDriverPostgres {
|
||||
sqlStore.GetMaster().ExecNoTimeout("ALTER TABLE Tokens ALTER COLUMN Extra TYPE varchar(2048)")
|
||||
} else if sqlStore.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
} else if sqlStore.DriverName() == model.DatabaseDriverMysql {
|
||||
sqlStore.GetMaster().ExecNoTimeout("ALTER TABLE Tokens MODIFY Extra text")
|
||||
}
|
||||
saveSchemaVersion(sqlStore, Version5160)
|
||||
@@ -952,7 +952,7 @@ func upgradeDatabaseToVersion529(sqlStore *SqlStore) {
|
||||
sqlStore.CreateColumnIfNotExistsNoDefault("Threads", "ChannelId", "VARCHAR(26)", "VARCHAR(26)")
|
||||
|
||||
updateThreadChannelsQuery := "UPDATE Threads INNER JOIN Posts ON Posts.Id=Threads.PostId SET Threads.ChannelId=Posts.ChannelId WHERE Threads.ChannelId IS NULL"
|
||||
if sqlStore.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
if sqlStore.DriverName() == model.DatabaseDriverPostgres {
|
||||
updateThreadChannelsQuery = "UPDATE Threads SET ChannelId=Posts.ChannelId FROM Posts WHERE Posts.Id=Threads.PostId AND Threads.ChannelId IS NULL"
|
||||
}
|
||||
if _, err := sqlStore.GetMaster().ExecNoTimeout(updateThreadChannelsQuery); err != nil {
|
||||
@@ -998,7 +998,7 @@ func hasMissingMigrationsVersion532(sqlStore *SqlStore) bool {
|
||||
return true
|
||||
}
|
||||
|
||||
if sqlStore.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
if sqlStore.DriverName() == model.DatabaseDriverPostgres {
|
||||
if !sqlStore.IsVarchar(scIdInfo.DataType) || scIdInfo.CharMaximumLength != 300 {
|
||||
return true
|
||||
}
|
||||
@@ -1027,7 +1027,7 @@ func upgradeDatabaseToVersion532(sqlStore *SqlStore) {
|
||||
if hasMissingMigrationsVersion532(sqlStore) {
|
||||
// this migration was reverted on MySQL due to performance reasons. Doing
|
||||
// it only on PostgreSQL for the time being.
|
||||
if sqlStore.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
if sqlStore.DriverName() == model.DatabaseDriverPostgres {
|
||||
// allow 10 files per post
|
||||
sqlStore.AlterColumnTypeIfExists("Posts", "FileIds", "text", "varchar(300)")
|
||||
}
|
||||
@@ -1073,7 +1073,7 @@ func upgradeDatabaseToVersion535(sqlStore *SqlStore) {
|
||||
mlog.Error("Error updating RemoteId,ReqFileId in UploadsSession table", mlog.Err(err))
|
||||
}
|
||||
uniquenessColumns := []string{"SiteUrl", "RemoteTeamId"}
|
||||
if sqlStore.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
if sqlStore.DriverName() == model.DatabaseDriverMysql {
|
||||
uniquenessColumns = []string{"RemoteTeamId", "SiteUrl(168)"}
|
||||
}
|
||||
sqlStore.CreateUniqueCompositeIndexIfNotExists(RemoteClusterSiteURLUniqueIndex, "RemoteClusters", uniquenessColumns)
|
||||
@@ -1114,7 +1114,7 @@ func rootCountMigration(sqlStore *SqlStore) {
|
||||
ChannelMembers.MentionCount > 0
|
||||
SET MentionCountRoot = ChannelMembers.MentionCount - q.UnreadMentions
|
||||
`
|
||||
if sqlStore.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
if sqlStore.DriverName() == model.DatabaseDriverPostgres {
|
||||
updateMentionCountRootQuery = `
|
||||
WITH q AS (` + mentionCountRootCTE + `)
|
||||
UPDATE channelmembers
|
||||
@@ -1137,7 +1137,7 @@ func rootCountMigration(sqlStore *SqlStore) {
|
||||
sqlStore.AlterDefaultIfColumnExists("ChannelMembers", "MsgCountRoot", model.NewString("0"), model.NewString("0"))
|
||||
|
||||
forceIndex := ""
|
||||
if sqlStore.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
if sqlStore.DriverName() == model.DatabaseDriverMysql {
|
||||
forceIndex = "FORCE INDEX(idx_posts_channel_id_update_at)"
|
||||
}
|
||||
totalMsgCountRootCTE := `
|
||||
@@ -1158,7 +1158,7 @@ func rootCountMigration(sqlStore *SqlStore) {
|
||||
UPDATE ChannelMembers CM SET MsgCountRoot=TotalMsgCountRoot
|
||||
FROM q WHERE q.id=CM.ChannelId AND LastViewedAt >= q.lastrootpostat;
|
||||
`
|
||||
if sqlStore.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
if sqlStore.DriverName() == model.DatabaseDriverMysql {
|
||||
updateChannels = `
|
||||
UPDATE Channels
|
||||
INNER Join (` + totalMsgCountRootCTE + `) as q
|
||||
@@ -1246,7 +1246,7 @@ func fixCRTThreadCountsAndUnreads(sqlStore *SqlStore) {
|
||||
UPDATE ThreadMemberships set LastViewed = q.CM_LastViewedAt + 1, UnreadMentions = 0, LastUpdated = :Now
|
||||
FROM q WHERE ThreadMemberships.Postid = q.PostId AND ThreadMemberships.UserId = q.UserId
|
||||
`
|
||||
if sqlStore.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
if sqlStore.DriverName() == model.DatabaseDriverMysql {
|
||||
updateThreadMembershipQuery = `
|
||||
UPDATE ThreadMemberships
|
||||
INNER JOIN (` + threadMembershipsCTE + `) as q
|
||||
@@ -1280,7 +1280,7 @@ func fixCRTChannelMembershipCounts(sqlStore *SqlStore) {
|
||||
WHERE ChannelMembers.Channelid = Channels.Id AND ChannelMembers.LastViewedAt >= Channels.LastPostAt;
|
||||
`
|
||||
|
||||
if sqlStore.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
if sqlStore.DriverName() == model.DatabaseDriverMysql {
|
||||
channelMembershipsCountsAndMentions = `
|
||||
UPDATE ChannelMembers
|
||||
INNER JOIN Channels on Channels.Id = ChannelMembers.ChannelId
|
||||
|
||||
@@ -146,7 +146,7 @@ func createChannelWithLastPostAt(ss store.Store, teamId, creatorId string, lastP
|
||||
m.CreatorId = creatorId
|
||||
m.DisplayName = "Name"
|
||||
m.Name = "zz" + model.NewId() + "b"
|
||||
m.Type = model.CHANNEL_OPEN
|
||||
m.Type = model.ChannelTypeOpen
|
||||
return ss.Channel().Save(&m, -1)
|
||||
}
|
||||
|
||||
|
||||
@@ -71,9 +71,9 @@ func (s SqlUserAccessTokenStore) Delete(tokenId string) error {
|
||||
func (s SqlUserAccessTokenStore) deleteSessionsAndTokensById(transaction *gorp.Transaction, tokenId string) error {
|
||||
|
||||
query := ""
|
||||
if s.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
if s.DriverName() == model.DatabaseDriverPostgres {
|
||||
query = "DELETE FROM Sessions s USING UserAccessTokens o WHERE o.Token = s.Token AND o.Id = :Id"
|
||||
} else if s.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
} else if s.DriverName() == model.DatabaseDriverMysql {
|
||||
query = "DELETE s.* FROM Sessions s INNER JOIN UserAccessTokens o ON o.Token = s.Token WHERE o.Id = :Id"
|
||||
}
|
||||
|
||||
@@ -112,9 +112,9 @@ func (s SqlUserAccessTokenStore) DeleteAllForUser(userId string) error {
|
||||
|
||||
func (s SqlUserAccessTokenStore) deleteSessionsandTokensByUser(transaction *gorp.Transaction, userId string) error {
|
||||
query := ""
|
||||
if s.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
if s.DriverName() == model.DatabaseDriverPostgres {
|
||||
query = "DELETE FROM Sessions s USING UserAccessTokens o WHERE o.Token = s.Token AND o.UserId = :UserId"
|
||||
} else if s.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
} else if s.DriverName() == model.DatabaseDriverMysql {
|
||||
query = "DELETE s.* FROM Sessions s INNER JOIN UserAccessTokens o ON o.Token = s.Token WHERE o.UserId = :UserId"
|
||||
}
|
||||
|
||||
@@ -224,9 +224,9 @@ func (s SqlUserAccessTokenStore) UpdateTokenDisable(tokenId string) error {
|
||||
|
||||
func (s SqlUserAccessTokenStore) deleteSessionsAndDisableToken(transaction *gorp.Transaction, tokenId string) error {
|
||||
query := ""
|
||||
if s.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
if s.DriverName() == model.DatabaseDriverPostgres {
|
||||
query = "DELETE FROM Sessions s USING UserAccessTokens o WHERE o.Token = s.Token AND o.Id = :Id"
|
||||
} else if s.DriverName() == model.DATABASE_DRIVER_MYSQL {
|
||||
} else if s.DriverName() == model.DatabaseDriverMysql {
|
||||
query = "DELETE s.* FROM Sessions s INNER JOIN UserAccessTokens o ON o.Token = s.Token WHERE o.Id = :Id"
|
||||
}
|
||||
|
||||
|
||||
@@ -26,10 +26,10 @@ const (
|
||||
)
|
||||
|
||||
var (
|
||||
UserSearchTypeNames_NO_FULL_NAME = []string{"Username", "Nickname"}
|
||||
UserSearchTypeNames = []string{"Username", "FirstName", "LastName", "Nickname"}
|
||||
UserSearchTypeAll_NO_FULL_NAME = []string{"Username", "Nickname", "Email"}
|
||||
UserSearchTypeAll = []string{"Username", "FirstName", "LastName", "Nickname", "Email"}
|
||||
UserSearchTypeNamesNoFullName = []string{"Username", "Nickname"}
|
||||
UserSearchTypeNames = []string{"Username", "FirstName", "LastName", "Nickname"}
|
||||
UserSearchTypeAllNoFullName = []string{"Username", "Nickname", "Email"}
|
||||
UserSearchTypeAll = []string{"Username", "FirstName", "LastName", "Nickname", "Email"}
|
||||
)
|
||||
|
||||
type SqlUserStore struct {
|
||||
@@ -86,7 +86,7 @@ func (us SqlUserStore) createIndexesIfNotExists() {
|
||||
us.CreateIndexIfNotExists("idx_users_create_at", "Users", "CreateAt")
|
||||
us.CreateIndexIfNotExists("idx_users_delete_at", "Users", "DeleteAt")
|
||||
|
||||
if us.DriverName() == model.DATABASE_DRIVER_POSTGRES {
|
||||
if us.DriverName() == model.DatabaseDriverPostgres {
|
||||
us.CreateIndexIfNotExists("idx_users_email_lower_textpattern", "Users", "lower(Email) text_pattern_ops")
|
||||
us.CreateIndexIfNotExists("idx_users_username_lower_textpattern", "Users", "lower(Username) text_pattern_ops")
|
||||
us.CreateIndexIfNotExists("idx_users_nickname_lower_textpattern", "Users", "lower(Nickname) text_pattern_ops")
|
||||
@@ -95,9 +95,9 @@ func (us SqlUserStore) createIndexesIfNotExists() {
|
||||
}
|
||||
|
||||
us.CreateFullTextIndexIfNotExists("idx_users_all_txt", "Users", strings.Join(UserSearchTypeAll, ", "))
|
||||
us.CreateFullTextIndexIfNotExists("idx_users_all_no_full_name_txt", "Users", strings.Join(UserSearchTypeAll_NO_FULL_NAME, ", "))
|
||||
us.CreateFullTextIndexIfNotExists("idx_users_all_no_full_name_txt", "Users", strings.Join(UserSearchTypeAllNoFullName, ", "))
|
||||
us.CreateFullTextIndexIfNotExists("idx_users_names_txt", "Users", strings.Join(UserSearchTypeNames, ", "))
|
||||
us.CreateFullTextIndexIfNotExists("idx_users_names_no_full_name_txt", "Users", strings.Join(UserSearchTypeNames_NO_FULL_NAME, ", "))
|
||||
us.CreateFullTextIndexIfNotExists("idx_users_names_no_full_name_txt", "Users", strings.Join(UserSearchTypeNamesNoFullName, ", "))
|
||||
}
|
||||
|
||||
func (us SqlUserStore) Save(user *model.User) (*model.User, error) {
|
||||
@@ -464,7 +464,7 @@ func (us SqlUserStore) GetEtagForAllProfiles() string {
|
||||
}
|
||||
|
||||
func (us SqlUserStore) GetAllProfiles(options *model.UserGetOptions) ([]*model.User, error) {
|
||||
isPostgreSQL := us.DriverName() == model.DATABASE_DRIVER_POSTGRES
|
||||
isPostgreSQL := us.DriverName() == model.DatabaseDriverPostgres
|
||||
query := us.usersQuery.
|
||||
OrderBy("u.Username ASC").
|
||||
Offset(uint64(options.Page * options.PerPage)).Limit(uint64(options.PerPage))
|
||||
@@ -519,10 +519,10 @@ func applyMultiRoleFilters(query sq.SelectBuilder, systemRoles []string, teamRol
|
||||
for _, role := range systemRoles {
|
||||
queryRole := wildcardSearchTerm(role)
|
||||
switch role {
|
||||
case model.SYSTEM_USER_ROLE_ID:
|
||||
case model.SystemUserRoleId:
|
||||
// If querying for a `system_user` ensure that the user is only a system_user.
|
||||
sqOr = append(sqOr, sq.Eq{"u.Roles": role})
|
||||
case model.SYSTEM_GUEST_ROLE_ID, model.SYSTEM_ADMIN_ROLE_ID, model.SYSTEM_USER_MANAGER_ROLE_ID, model.SYSTEM_READ_ONLY_ADMIN_ROLE_ID, model.SYSTEM_MANAGER_ROLE_ID:
|
||||
case model.SystemGuestRoleId, model.SystemAdminRoleId, model.SystemUserManagerRoleId, model.SystemReadOnlyAdminRoleId, model.SystemManagerRoleId:
|
||||
// If querying for any other roles search using a wildcard.
|
||||
if isPostgreSQL {
|
||||
sqOr = append(sqOr, sq.ILike{"u.Roles": queryRole})
|
||||
@@ -537,19 +537,19 @@ func applyMultiRoleFilters(query sq.SelectBuilder, systemRoles []string, teamRol
|
||||
if len(channelRoles) > 0 && channelRoles[0] != "" {
|
||||
for _, channelRole := range channelRoles {
|
||||
switch channelRole {
|
||||
case model.CHANNEL_ADMIN_ROLE_ID:
|
||||
case model.ChannelAdminRoleId:
|
||||
if isPostgreSQL {
|
||||
sqOr = append(sqOr, sq.And{sq.Eq{"cm.SchemeAdmin": true}, sq.NotILike{"u.Roles": wildcardSearchTerm(model.SYSTEM_ADMIN_ROLE_ID)}})
|
||||
sqOr = append(sqOr, sq.And{sq.Eq{"cm.SchemeAdmin": true}, sq.NotILike{"u.Roles": wildcardSearchTerm(model.SystemAdminRoleId)}})
|
||||
} else {
|
||||
sqOr = append(sqOr, sq.And{sq.Eq{"cm.SchemeAdmin": true}, sq.NotLike{"u.Roles": wildcardSearchTerm(model.SYSTEM_ADMIN_ROLE_ID)}})
|
||||
sqOr = append(sqOr, sq.And{sq.Eq{"cm.SchemeAdmin": true}, sq.NotLike{"u.Roles": wildcardSearchTerm(model.SystemAdminRoleId)}})
|
||||
}
|
||||
case model.CHANNEL_USER_ROLE_ID:
|
||||
case model.ChannelUserRoleId:
|
||||
if isPostgreSQL {
|
||||
sqOr = append(sqOr, sq.And{sq.Eq{"cm.SchemeUser": true}, sq.Eq{"cm.SchemeAdmin": false}, sq.NotILike{"u.Roles": wildcardSearchTerm(model.SYSTEM_ADMIN_ROLE_ID)}})
|
||||
sqOr = append(sqOr, sq.And{sq.Eq{"cm.SchemeUser": true}, sq.Eq{"cm.SchemeAdmin": false}, sq.NotILike{"u.Roles": wildcardSearchTerm(model.SystemAdminRoleId)}})
|
||||
} else {
|
||||
sqOr = append(sqOr, sq.And{sq.Eq{"cm.SchemeUser": true}, sq.Eq{"cm.SchemeAdmin": false}, sq.NotLike{"u.Roles": wildcardSearchTerm(model.SYSTEM_ADMIN_ROLE_ID)}})
|
||||
sqOr = append(sqOr, sq.And{sq.Eq{"cm.SchemeUser": true}, sq.Eq{"cm.SchemeAdmin": false}, sq.NotLike{"u.Roles": wildcardSearchTerm(model.SystemAdminRoleId)}})
|
||||
}
|
||||
case model.CHANNEL_GUEST_ROLE_ID:
|
||||
case model.ChannelGuestRoleId:
|
||||
sqOr = append(sqOr, sq.Eq{"cm.SchemeGuest": true})
|
||||
}
|
||||
}
|
||||
@@ -558,19 +558,19 @@ func applyMultiRoleFilters(query sq.SelectBuilder, systemRoles []string, teamRol
|
||||
if len(teamRoles) > 0 && teamRoles[0] != "" {
|
||||
for _, teamRole := range teamRoles {
|
||||
switch teamRole {
|
||||
case model.TEAM_ADMIN_ROLE_ID:
|
||||
case model.TeamAdminRoleId:
|
||||
if isPostgreSQL {
|
||||
sqOr = append(sqOr, sq.And{sq.Eq{"tm.SchemeAdmin": true}, sq.NotILike{"u.Roles": wildcardSearchTerm(model.SYSTEM_ADMIN_ROLE_ID)}})
|
||||
sqOr = append(sqOr, sq.And{sq.Eq{"tm.SchemeAdmin": true}, sq.NotILike{"u.Roles": wildcardSearchTerm(model.SystemAdminRoleId)}})
|
||||
} else {
|
||||
sqOr = append(sqOr, sq.And{sq.Eq{"tm.SchemeAdmin": true}, sq.NotLike{"u.Roles": wildcardSearchTerm(model.SYSTEM_ADMIN_ROLE_ID)}})
|
||||
sqOr = append(sqOr, sq.And{sq.Eq{"tm.SchemeAdmin": true}, sq.NotLike{"u.Roles": wildcardSearchTerm(model.SystemAdminRoleId)}})
|
||||
}
|
||||
case model.TEAM_USER_ROLE_ID:
|
||||
case model.TeamUserRoleId:
|
||||
if isPostgreSQL {
|
||||
sqOr = append(sqOr, sq.And{sq.Eq{"tm.SchemeUser": true}, sq.Eq{"tm.SchemeAdmin": false}, sq.NotILike{"u.Roles": wildcardSearchTerm(model.SYSTEM_ADMIN_ROLE_ID)}})
|
||||
sqOr = append(sqOr, sq.And{sq.Eq{"tm.SchemeUser": true}, sq.Eq{"tm.SchemeAdmin": false}, sq.NotILike{"u.Roles": wildcardSearchTerm(model.SystemAdminRoleId)}})
|
||||
} else {
|
||||
sqOr = append(sqOr, sq.And{sq.Eq{"tm.SchemeUser": true}, sq.Eq{"tm.SchemeAdmin": false}, sq.NotLike{"u.Roles": wildcardSearchTerm(model.SYSTEM_ADMIN_ROLE_ID)}})
|
||||
sqOr = append(sqOr, sq.And{sq.Eq{"tm.SchemeUser": true}, sq.Eq{"tm.SchemeAdmin": false}, sq.NotLike{"u.Roles": wildcardSearchTerm(model.SystemAdminRoleId)}})
|
||||
}
|
||||
case model.TEAM_GUEST_ROLE_ID:
|
||||
case model.TeamGuestRoleId:
|
||||
sqOr = append(sqOr, sq.Eq{"tm.SchemeGuest": true})
|
||||
}
|
||||
}
|
||||
@@ -639,7 +639,7 @@ func (us SqlUserStore) GetEtagForProfiles(teamId string) string {
|
||||
}
|
||||
|
||||
func (us SqlUserStore) GetProfiles(options *model.UserGetOptions) ([]*model.User, error) {
|
||||
isPostgreSQL := us.DriverName() == model.DATABASE_DRIVER_POSTGRES
|
||||
isPostgreSQL := us.DriverName() == model.DatabaseDriverPostgres
|
||||
query := us.usersQuery.
|
||||
Join("TeamMembers tm ON ( tm.UserId = u.Id AND tm.DeleteAt = 0 )").
|
||||
Where("tm.TeamId = ?", options.InTeamId).
|
||||
@@ -830,7 +830,7 @@ func (us SqlUserStore) GetProfilesNotInChannel(teamId string, channelId string,
|
||||
}
|
||||
|
||||
func (us SqlUserStore) GetProfilesWithoutTeam(options *model.UserGetOptions) ([]*model.User, error) {
|
||||
isPostgreSQL := us.DriverName() == model.DATABASE_DRIVER_POSTGRES
|
||||
isPostgreSQL := us.DriverName() == model.DatabaseDriverPostgres
|
||||
query := us.usersQuery.
|
||||
Where(`(
|
||||
SELECT
|
||||
@@ -1018,7 +1018,7 @@ func (us SqlUserStore) GetProfileByGroupChannelIdsForUser(userId string, channel
|
||||
From("Users u").
|
||||
Join("ChannelMembers cm ON u.Id = cm.UserId").
|
||||
Join("Channels c ON cm.ChannelId = c.Id").
|
||||
Where(sq.Eq{"c.Type": model.CHANNEL_GROUP, "cm.ChannelId": channelIds}).
|
||||
Where(sq.Eq{"c.Type": model.ChannelTypeGroup, "cm.ChannelId": channelIds}).
|
||||
Where(isMemberQuery).
|
||||
Where(sq.NotEq{"u.Id": userId}).
|
||||
OrderBy("u.Username ASC")
|
||||
@@ -1220,7 +1220,7 @@ func (us SqlUserStore) PermanentDelete(userId string) error {
|
||||
}
|
||||
|
||||
func (us SqlUserStore) Count(options model.UserCountOptions) (int64, error) {
|
||||
isPostgreSQL := us.DriverName() == model.DATABASE_DRIVER_POSTGRES
|
||||
isPostgreSQL := us.DriverName() == model.DatabaseDriverPostgres
|
||||
query := us.getQueryBuilder().Select("COUNT(DISTINCT u.Id)").From("Users AS u")
|
||||
|
||||
if !options.IncludeDeleted {
|
||||
@@ -1465,17 +1465,17 @@ func (us SqlUserStore) performSearch(query sq.SelectBuilder, term string, option
|
||||
if options.AllowFullNames {
|
||||
searchType = UserSearchTypeAll
|
||||
} else {
|
||||
searchType = UserSearchTypeAll_NO_FULL_NAME
|
||||
searchType = UserSearchTypeAllNoFullName
|
||||
}
|
||||
} else {
|
||||
if options.AllowFullNames {
|
||||
searchType = UserSearchTypeNames
|
||||
} else {
|
||||
searchType = UserSearchTypeNames_NO_FULL_NAME
|
||||
searchType = UserSearchTypeNamesNoFullName
|
||||
}
|
||||
}
|
||||
|
||||
isPostgreSQL := us.DriverName() == model.DATABASE_DRIVER_POSTGRES
|
||||
isPostgreSQL := us.DriverName() == model.DatabaseDriverPostgres
|
||||
|
||||
query = applyRoleFilter(query, options.Role, isPostgreSQL)
|
||||
query = applyMultiRoleFilters(query, options.Roles, options.TeamRoles, options.ChannelRoles, isPostgreSQL)
|
||||
@@ -1899,9 +1899,9 @@ func (us SqlUserStore) DemoteUserToGuest(userID string) (*model.User, error) {
|
||||
|
||||
newRoles := []string{}
|
||||
for _, role := range roles {
|
||||
if role == model.SYSTEM_USER_ROLE_ID {
|
||||
newRoles = append(newRoles, model.SYSTEM_GUEST_ROLE_ID)
|
||||
} else if role != model.SYSTEM_ADMIN_ROLE_ID {
|
||||
if role == model.SystemUserRoleId {
|
||||
newRoles = append(newRoles, model.SystemGuestRoleId)
|
||||
} else if role != model.SystemAdminRoleId {
|
||||
newRoles = append(newRoles, role)
|
||||
}
|
||||
}
|
||||
|
||||
Ссылка в новой задаче
Block a user