Implement endpoint for APIv4: GET /users/{user_id}/audits (#5472)

Этот коммит содержится в:
Saturnino Abril
2017-02-21 21:07:57 +09:00
коммит произвёл George Goldberg
родитель 7068307a1c
Коммит 5c19d9be7f
7 изменённых файлов: 113 добавлений и 47 удалений

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

@@ -54,7 +54,7 @@ func (s SqlAuditStore) Save(audit *model.Audit) StoreChannel {
return storeChannel
}
func (s SqlAuditStore) Get(user_id string, limit int) StoreChannel {
func (s SqlAuditStore) Get(user_id string, offset int, limit int) StoreChannel {
storeChannel := make(StoreChannel, 1)
@@ -75,10 +75,10 @@ func (s SqlAuditStore) Get(user_id string, limit int) StoreChannel {
query += " WHERE UserId = :user_id"
}
query += " ORDER BY CreateAt DESC LIMIT :limit"
query += " ORDER BY CreateAt DESC LIMIT :limit OFFSET :offset"
var audits model.Audits
if _, err := s.GetReplica().Select(&audits, query, map[string]interface{}{"user_id": user_id, "limit": limit}); err != nil {
if _, err := s.GetReplica().Select(&audits, query, map[string]interface{}{"user_id": user_id, "limit": limit, "offset": offset}); err != nil {
result.Err = model.NewLocAppError("SqlAuditStore.Get", "store.sql_audit.get.finding.app_error", nil, "user_id="+user_id)
} else {
result.Data = audits

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

@@ -4,9 +4,10 @@
package store
import (
"github.com/mattermost/platform/model"
"testing"
"time"
"github.com/mattermost/platform/model"
)
func TestSqlAuditStore(t *testing.T) {
@@ -25,7 +26,7 @@ func TestSqlAuditStore(t *testing.T) {
time.Sleep(100 * time.Millisecond)
c := store.Audit().Get(audit.UserId, 100)
c := store.Audit().Get(audit.UserId, 0, 100)
result := <-c
audits := result.Data.(model.Audits)
@@ -37,7 +38,7 @@ func TestSqlAuditStore(t *testing.T) {
t.Fatal("Failed to save property for extra info")
}
c = store.Audit().Get("missing", 100)
c = store.Audit().Get("missing", 0, 100)
result = <-c
audits = result.Data.(model.Audits)
@@ -45,7 +46,7 @@ func TestSqlAuditStore(t *testing.T) {
t.Fatal("Should have returned empty because user_id is missing")
}
c = store.Audit().Get("", 100)
c = store.Audit().Get("", 0, 100)
result = <-c
audits = result.Data.(model.Audits)

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

@@ -208,7 +208,7 @@ type SessionStore interface {
type AuditStore interface {
Save(audit *model.Audit) StoreChannel
Get(user_id string, limit int) StoreChannel
Get(user_id string, offset int, limit int) StoreChannel
PermanentDeleteByUser(userId string) StoreChannel
}