Implement compliance endpoints for APIv4 (#5683)
* Implement compliance endpoints for APIv4 * Add paging to get reports endpoint
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
a284cd8c18
Коммит
3ebfb36953
@@ -87,17 +87,17 @@ func (us SqlComplianceStore) Update(compliance *model.Compliance) StoreChannel {
|
||||
return storeChannel
|
||||
}
|
||||
|
||||
func (s SqlComplianceStore) GetAll() StoreChannel {
|
||||
func (s SqlComplianceStore) GetAll(offset, limit int) StoreChannel {
|
||||
|
||||
storeChannel := make(StoreChannel, 1)
|
||||
|
||||
go func() {
|
||||
result := StoreResult{}
|
||||
|
||||
query := "SELECT * FROM Compliances ORDER BY CreateAt DESC"
|
||||
query := "SELECT * FROM Compliances ORDER BY CreateAt DESC LIMIT :Limit OFFSET :Offset"
|
||||
|
||||
var compliances model.Compliances
|
||||
if _, err := s.GetReplica().Select(&compliances, query); err != nil {
|
||||
if _, err := s.GetReplica().Select(&compliances, query, map[string]interface{}{"Offset": offset, "Limit": limit}); err != nil {
|
||||
result.Err = model.NewLocAppError("SqlComplianceStore.Get", "store.sql_compliance.get.finding.app_error", nil, err.Error())
|
||||
} else {
|
||||
result.Data = compliances
|
||||
|
||||
@@ -20,7 +20,7 @@ func TestSqlComplianceStore(t *testing.T) {
|
||||
Must(store.Compliance().Save(compliance2))
|
||||
time.Sleep(100 * time.Millisecond)
|
||||
|
||||
c := store.Compliance().GetAll()
|
||||
c := store.Compliance().GetAll(0, 1000)
|
||||
result := <-c
|
||||
compliances := result.Data.(model.Compliances)
|
||||
|
||||
@@ -31,7 +31,7 @@ func TestSqlComplianceStore(t *testing.T) {
|
||||
compliance2.Status = model.COMPLIANCE_STATUS_FAILED
|
||||
Must(store.Compliance().Update(compliance2))
|
||||
|
||||
c = store.Compliance().GetAll()
|
||||
c = store.Compliance().GetAll(0, 1000)
|
||||
result = <-c
|
||||
compliances = result.Data.(model.Compliances)
|
||||
|
||||
@@ -39,6 +39,22 @@ func TestSqlComplianceStore(t *testing.T) {
|
||||
t.Fatal()
|
||||
}
|
||||
|
||||
c = store.Compliance().GetAll(0, 1)
|
||||
result = <-c
|
||||
compliances = result.Data.(model.Compliances)
|
||||
|
||||
if len(compliances) != 1 {
|
||||
t.Fatal("should only have returned 1")
|
||||
}
|
||||
|
||||
c = store.Compliance().GetAll(1, 1)
|
||||
result = <-c
|
||||
compliances = result.Data.(model.Compliances)
|
||||
|
||||
if len(compliances) != 1 {
|
||||
t.Fatal("should only have returned 1")
|
||||
}
|
||||
|
||||
rc2 := (<-store.Compliance().Get(compliance2.Id)).Data.(*model.Compliance)
|
||||
if rc2.Status != compliance2.Status {
|
||||
t.Fatal()
|
||||
|
||||
@@ -228,7 +228,7 @@ type ComplianceStore interface {
|
||||
Save(compliance *model.Compliance) StoreChannel
|
||||
Update(compliance *model.Compliance) StoreChannel
|
||||
Get(id string) StoreChannel
|
||||
GetAll() StoreChannel
|
||||
GetAll(offset, limit int) StoreChannel
|
||||
ComplianceExport(compliance *model.Compliance) StoreChannel
|
||||
}
|
||||
|
||||
|
||||
Ссылка в новой задаче
Block a user