func TestOAuthStoreUpdateApp(t *testing.T) { Setup() a1 := model.OAuthApp{} a1.CreatorId = model.NewId() a1.Name = "TestApp" + model.NewId() a1.CallbackUrls = []string{"https://nowhere.com"} a1.Homepage = "https://nowhere.com" Must(store.OAuth().SaveApp(&a1)) a1.CreateAt = 1 a1.ClientSecret = "pwd" a1.CreatorId = "12345678901234567890123456" a1.Name = "NewName" if result := <-store.OAuth().UpdateApp(&a1); result.Err != nil { t.Fatal(result.Err) } else { ua1 := (result.Data.([2]*model.OAuthApp)[0]) if ua1.Name != "NewName" { t.Fatal("name did not update") } if ua1.CreateAt == 1 { t.Fatal("create at should not have updated") } if ua1.CreatorId == "12345678901234567890123456" { t.Fatal("creator id should not have updated") } } }
func (as SqlOAuthStore) UpdateApp(app *model.OAuthApp) StoreChannel { storeChannel := make(StoreChannel) go func() { result := StoreResult{} app.PreUpdate() if result.Err = app.IsValid(); result.Err != nil { storeChannel <- result close(storeChannel) return } if oldAppResult, err := as.GetMaster().Get(model.OAuthApp{}, app.Id); err != nil { result.Err = model.NewLocAppError("SqlOAuthStore.UpdateApp", "store.sql_oauth.update_app.finding.app_error", nil, "app_id="+app.Id+", "+err.Error()) } else if oldAppResult == nil { result.Err = model.NewLocAppError("SqlOAuthStore.UpdateApp", "store.sql_oauth.update_app.find.app_error", nil, "app_id="+app.Id) } else { oldApp := oldAppResult.(*model.OAuthApp) app.CreateAt = oldApp.CreateAt app.ClientSecret = oldApp.ClientSecret app.CreatorId = oldApp.CreatorId if count, err := as.GetMaster().Update(app); err != nil { result.Err = model.NewLocAppError("SqlOAuthStore.UpdateApp", "store.sql_oauth.update_app.updating.app_error", nil, "app_id="+app.Id+", "+err.Error()) } else if count != 1 { result.Err = model.NewLocAppError("SqlOAuthStore.UpdateApp", "store.sql_oauth.update_app.update.app_error", nil, "app_id="+app.Id) } else { result.Data = [2]*model.OAuthApp{app, oldApp} } } storeChannel <- result close(storeChannel) }() return storeChannel }
func (as SqlOAuthStore) UpdateApp(app *model.OAuthApp) StoreChannel { storeChannel := make(StoreChannel) go func() { result := StoreResult{} app.PreUpdate() if result.Err = app.IsValid(); result.Err != nil { storeChannel <- result close(storeChannel) return } if oldAppResult, err := as.GetMaster().Get(model.OAuthApp{}, app.Id); err != nil { result.Err = model.NewAppError("SqlOAuthStore.UpdateApp", "We encountered an error finding the app", "app_id="+app.Id+", "+err.Error()) } else if oldAppResult == nil { result.Err = model.NewAppError("SqlOAuthStore.UpdateApp", "We couldn't find the existing app to update", "app_id="+app.Id) } else { oldApp := oldAppResult.(*model.OAuthApp) app.CreateAt = oldApp.CreateAt app.ClientSecret = oldApp.ClientSecret app.CreatorId = oldApp.CreatorId if count, err := as.GetMaster().Update(app); err != nil { result.Err = model.NewAppError("SqlOAuthStore.UpdateApp", "We encountered an error updating the app", "app_id="+app.Id+", "+err.Error()) } else if count != 1 { result.Err = model.NewAppError("SqlOAuthStore.UpdateApp", "We couldn't update the app", "app_id="+app.Id) } else { result.Data = [2]*model.OAuthApp{app, oldApp} } } storeChannel <- result close(storeChannel) }() return storeChannel }