[16331] Migrated Channel.SaveMember to sync by default (#11158) (#11624)

* Added - golang version validation.

* Updated error message to include the minor version that is supported.

* Fixed issue with variable.

* Renamed variable.

* Added - golang version validation.

Added validation for major and minor versions of go.

* Fixed the way the validation is performed.

* Changed function declaration (define validate_go_version) to a target (validate_go_version).

* remove unneeded call to validate_go_version

* [16331] Migrated Channel.SaveMember to sync by default (#10613)

* Used require.Nil to check for err variable instaed of using panic with if statement.

* Used require.Nil to check for err variable instaed of using panic with if statement in user_store

* fixed errors about shadowing with err variable.

* Fixed issue with vet tool validation.

* Fixed go fmt tool validation.
Этот коммит содержится в:
Max Vovshin
2019-07-18 17:26:22 +03:00
коммит произвёл Jesús Espino
родитель 4ada8aacd4
Коммит 5f61047d02
10 изменённых файлов: 293 добавлений и 192 удалений

Просмотреть файл

@@ -1291,34 +1291,31 @@ var CHANNEL_MEMBERS_WITH_SCHEME_SELECT_QUERY = `
Schemes TeamScheme ON Teams.SchemeId = TeamScheme.Id
`
func (s SqlChannelStore) SaveMember(member *model.ChannelMember) store.StoreChannel {
return store.Do(func(result *store.StoreResult) {
defer s.InvalidateAllChannelMembersForUser(member.UserId)
func (s SqlChannelStore) SaveMember(member *model.ChannelMember) (*model.ChannelMember, *model.AppError) {
defer s.InvalidateAllChannelMembersForUser(member.UserId)
// Grab the channel we are saving this member to
channel, errCh := s.GetFromMaster(member.ChannelId)
if errCh != nil {
result.Err = errCh
return
}
// Grab the channel we are saving this member to
channel, errCh := s.GetFromMaster(member.ChannelId)
if errCh != nil {
return nil, errCh
}
transaction, err := s.GetMaster().Begin()
if err != nil {
result.Err = model.NewAppError("SqlChannelStore.SaveMember", "store.sql_channel.save_member.open_transaction.app_error", nil, err.Error(), http.StatusInternalServerError)
return
}
defer finalizeTransaction(transaction)
transaction, err := s.GetMaster().Begin()
if err != nil {
return nil, model.NewAppError("SqlChannelStore.SaveMember", "store.sql_channel.save_member.open_transaction.app_error", nil, err.Error(), http.StatusInternalServerError)
}
defer finalizeTransaction(transaction)
*result = s.saveMemberT(transaction, member, channel)
if result.Err != nil {
return
}
storeResult := s.saveMemberT(transaction, member, channel)
if storeResult.Err != nil {
return nil, storeResult.Err
}
if err := transaction.Commit(); err != nil {
result.Err = model.NewAppError("SqlChannelStore.SaveMember", "store.sql_channel.save_member.commit_transaction.app_error", nil, err.Error(), http.StatusInternalServerError)
return
}
})
if err := transaction.Commit(); err != nil {
return nil, model.NewAppError("SqlChannelStore.SaveMember", "store.sql_channel.save_member.commit_transaction.app_error", nil, err.Error(), http.StatusInternalServerError)
}
return storeResult.Data.(*model.ChannelMember), nil
}
func (s SqlChannelStore) saveMemberT(transaction *gorp.Transaction, member *model.ChannelMember, channel *model.Channel) store.StoreResult {