Fix #10973. AnalyticsUserCountsWithPostsByDay is sync now (#11012)

* Fix #10975. AnalyticsUserCountsWithPostsByDay is sync now

* revert modifications to go.mod and go.sum

* removed unnecessary else sentence

* Querys identation
Этот коммит содержится в:
Rodrigo Villablanca Vásquez
2019-06-11 15:06:40 -04:00
коммит произвёл Jesús Espino
родитель 969c032a1e
Коммит 28cf642ccb
5 изменённых файлов: 55 добавлений и 53 удалений

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

@@ -171,11 +171,7 @@ func (a *App) GetAnalytics(name string, teamId string) (model.AnalyticsRows, *mo
return rows, nil return rows, nil
} }
r := <-a.Srv.Store.Post().AnalyticsUserCountsWithPostsByDay(teamId) return a.Srv.Store.Post().AnalyticsUserCountsWithPostsByDay(teamId)
if r.Err != nil {
return nil, r.Err
}
return r.Data.(model.AnalyticsRows), nil
} else if name == "extra_counts" { } else if name == "extra_counts" {
var rows model.AnalyticsRows = make([]*model.AnalyticsRow, 6) var rows model.AnalyticsRows = make([]*model.AnalyticsRow, 6)
rows[0] = &model.AnalyticsRow{Name: "file_post_count", Value: 0} rows[0] = &model.AnalyticsRow{Name: "file_post_count", Value: 0}

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

@@ -952,8 +952,7 @@ func (s *SqlPostStore) Search(teamId string, userId string, params *model.Search
}) })
} }
func (s *SqlPostStore) AnalyticsUserCountsWithPostsByDay(teamId string) store.StoreChannel { func (s *SqlPostStore) AnalyticsUserCountsWithPostsByDay(teamId string) (model.AnalyticsRows, *model.AppError) {
return store.Do(func(result *store.StoreResult) {
query := query :=
`SELECT DISTINCT `SELECT DISTINCT
DATE(FROM_UNIXTIME(Posts.CreateAt / 1000)) AS Name, DATE(FROM_UNIXTIME(Posts.CreateAt / 1000)) AS Name,
@@ -998,11 +997,9 @@ func (s *SqlPostStore) AnalyticsUserCountsWithPostsByDay(teamId string) store.St
query, query,
map[string]interface{}{"TeamId": teamId, "StartTime": start, "EndTime": end}) map[string]interface{}{"TeamId": teamId, "StartTime": start, "EndTime": end})
if err != nil { if err != nil {
result.Err = model.NewAppError("SqlPostStore.AnalyticsUserCountsWithPostsByDay", "store.sql_post.analytics_user_counts_posts_by_day.app_error", nil, err.Error(), http.StatusInternalServerError) return nil, model.NewAppError("SqlPostStore.AnalyticsUserCountsWithPostsByDay", "store.sql_post.analytics_user_counts_posts_by_day.app_error", nil, err.Error(), http.StatusInternalServerError)
} else {
result.Data = rows
} }
}) return rows, nil
} }
func (s *SqlPostStore) AnalyticsPostCountsByDay(teamId string) store.StoreChannel { func (s *SqlPostStore) AnalyticsPostCountsByDay(teamId string) store.StoreChannel {

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

@@ -226,7 +226,7 @@ type PostStore interface {
GetPostsSince(channelId string, time int64, allowFromCache bool) StoreChannel GetPostsSince(channelId string, time int64, allowFromCache bool) StoreChannel
GetEtag(channelId string, allowFromCache bool) string GetEtag(channelId string, allowFromCache bool) string
Search(teamId string, userId string, params *model.SearchParams) StoreChannel Search(teamId string, userId string, params *model.SearchParams) StoreChannel
AnalyticsUserCountsWithPostsByDay(teamId string) StoreChannel AnalyticsUserCountsWithPostsByDay(teamId string) (model.AnalyticsRows, *model.AppError)
AnalyticsPostCountsByDay(teamId string) StoreChannel AnalyticsPostCountsByDay(teamId string) StoreChannel
AnalyticsPostCount(teamId string, mustHaveFile bool, mustHaveHashtag bool) StoreChannel AnalyticsPostCount(teamId string, mustHaveFile bool, mustHaveHashtag bool) StoreChannel
ClearCaches() ClearCaches()

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

@@ -46,19 +46,28 @@ func (_m *PostStore) AnalyticsPostCountsByDay(teamId string) store.StoreChannel
} }
// AnalyticsUserCountsWithPostsByDay provides a mock function with given fields: teamId // AnalyticsUserCountsWithPostsByDay provides a mock function with given fields: teamId
func (_m *PostStore) AnalyticsUserCountsWithPostsByDay(teamId string) store.StoreChannel { func (_m *PostStore) AnalyticsUserCountsWithPostsByDay(teamId string) (model.AnalyticsRows, *model.AppError) {
ret := _m.Called(teamId) ret := _m.Called(teamId)
var r0 store.StoreChannel var r0 model.AnalyticsRows
if rf, ok := ret.Get(0).(func(string) store.StoreChannel); ok { if rf, ok := ret.Get(0).(func(string) model.AnalyticsRows); ok {
r0 = rf(teamId) r0 = rf(teamId)
} else { } else {
if ret.Get(0) != nil { if ret.Get(0) != nil {
r0 = ret.Get(0).(store.StoreChannel) r0 = ret.Get(0).(model.AnalyticsRows)
} }
} }
return r0 var r1 *model.AppError
if rf, ok := ret.Get(1).(func(string) *model.AppError); ok {
r1 = rf(teamId)
} else {
if ret.Get(1) != nil {
r1 = ret.Get(1).(*model.AppError)
}
}
return r0, r1
} }
// ClearCaches provides a mock function with given fields: // ClearCaches provides a mock function with given fields:

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

@@ -1226,15 +1226,15 @@ func testUserCountsWithPostsByDay(t *testing.T, ss store.Store) {
o2a.Message = "zz" + model.NewId() + "b" o2a.Message = "zz" + model.NewId() + "b"
_ = store.Must(ss.Post().Save(o2a)).(*model.Post) _ = store.Must(ss.Post().Save(o2a)).(*model.Post)
if r1 := <-ss.Post().AnalyticsUserCountsWithPostsByDay(t1.Id); r1.Err != nil { if r1, err := ss.Post().AnalyticsUserCountsWithPostsByDay(t1.Id); err != nil {
t.Fatal(r1.Err) t.Fatal(err)
} else { } else {
row1 := r1.Data.(model.AnalyticsRows)[0] row1 := r1[0]
if row1.Value != 2 { if row1.Value != 2 {
t.Fatal("wrong value") t.Fatal("wrong value")
} }
row2 := r1.Data.(model.AnalyticsRows)[1] row2 := r1[1]
if row2.Value != 1 { if row2.Value != 1 {
t.Fatal("wrong value") t.Fatal("wrong value")
} }