43 lines
1.0 KiB
Go
Raw Normal View History

2019-06-03 09:32:43 +00:00
package arn
import "github.com/aerogo/nano"
// ClientErrorReport saves JavaScript errors that happen in web clients like browsers.
type ClientErrorReport struct {
Message string `json:"message"`
Stack string `json:"stack"`
FileName string `json:"fileName"`
LineNumber int `json:"lineNumber"`
ColumnNumber int `json:"columnNumber"`
hasID
2019-06-03 09:32:43 +00:00
hasCreator
}
2019-11-04 07:34:00 +00:00
// StreamClientErrorReports returns a stream of all client error reports.
2019-06-03 09:32:43 +00:00
func StreamClientErrorReports() <-chan *ClientErrorReport {
channel := make(chan *ClientErrorReport, nano.ChannelBufferSize)
go func() {
for obj := range DB.All("ClientErrorReport") {
channel <- obj.(*ClientErrorReport)
}
close(channel)
}()
return channel
}
2019-11-04 07:34:00 +00:00
// AllClientErrorReports returns a slice of all client error reports.
2019-06-03 09:32:43 +00:00
func AllClientErrorReports() []*ClientErrorReport {
all := make([]*ClientErrorReport, 0, DB.Collection("ClientErrorReport").Count())
stream := StreamClientErrorReports()
for obj := range stream {
all = append(all, obj)
}
return all
}