MM-11728: Avoid Archived channels editions throught Patch (#9335)

Этот коммит содержится в:
Jesús Espino
2018-09-03 17:07:51 +02:00
коммит произвёл Carlos Tadeu Panato Junior
родитель 9f46512759
Коммит 72560311a2
3 изменённых файлов: 15 добавлений и 0 удалений

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

@@ -5006,6 +5006,10 @@
"id": "store.sql_channel.update.app_error", "id": "store.sql_channel.update.app_error",
"translation": "We couldn't update the channel" "translation": "We couldn't update the channel"
}, },
{
"id": "store.sql_channel.update.archived_channel.app_error",
"translation": "You can not modify an archived channel"
},
{ {
"id": "store.sql_channel.update.exists.app_error", "id": "store.sql_channel.update.exists.app_error",
"translation": "A channel with that handle already exists" "translation": "A channel with that handle already exists"

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

@@ -463,6 +463,11 @@ func (s SqlChannelStore) Update(channel *model.Channel) store.StoreChannel {
return store.Do(func(result *store.StoreResult) { return store.Do(func(result *store.StoreResult) {
channel.PreUpdate() channel.PreUpdate()
if channel.DeleteAt != 0 {
result.Err = model.NewAppError("SqlChannelStore.Update", "store.sql_channel.update.archived_channel.app_error", nil, "", http.StatusBadRequest)
return
}
if result.Err = channel.IsValid(); result.Err != nil { if result.Err = channel.IsValid(); result.Err != nil {
return return
} }

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

@@ -220,6 +220,12 @@ func testChannelStoreUpdate(t *testing.T, ss store.Store) {
t.Fatal(err) t.Fatal(err)
} }
o1.DeleteAt = 100
if err := (<-ss.Channel().Update(&o1)).Err; err == nil {
t.Fatal("Update should have failed because channel is archived")
}
o1.DeleteAt = 0
o1.Id = "missing" o1.Id = "missing"
if err := (<-ss.Channel().Update(&o1)).Err; err == nil { if err := (<-ss.Channel().Update(&o1)).Err; err == nil {
t.Fatal("Update should have failed because of missing key") t.Fatal("Update should have failed because of missing key")