116 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			116 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Go
		
	
	
	
| package rollbar
 | |
| 
 | |
| import "strconv"
 | |
| 
 | |
| type Event interface {
 | |
| 	Tags() map[string]string
 | |
| 	Fields() map[string]interface{}
 | |
| }
 | |
| 
 | |
| type DummyEvent struct {
 | |
| 	EventName string `json:"event_name"`
 | |
| }
 | |
| 
 | |
| type NewItemDataItemLastOccurence struct {
 | |
| 	Language string `json:"language"`
 | |
| 	Level    string `json:"level"`
 | |
| }
 | |
| 
 | |
| type NewItemDataItem struct {
 | |
| 	Id            int                          `json:"id"`
 | |
| 	Environment   string                       `json:"environment"`
 | |
| 	ProjectId     int                          `json:"project_id"`
 | |
| 	LastOccurence NewItemDataItemLastOccurence `json:"last_occurrence"`
 | |
| }
 | |
| 
 | |
| type NewItemData struct {
 | |
| 	Item NewItemDataItem `json:"item"`
 | |
| }
 | |
| 
 | |
| type NewItem struct {
 | |
| 	EventName string      `json:"event_name"`
 | |
| 	Data      NewItemData `json:"data"`
 | |
| }
 | |
| 
 | |
| func (ni *NewItem) Tags() map[string]string {
 | |
| 	return map[string]string{
 | |
| 		"event":       ni.EventName,
 | |
| 		"environment": ni.Data.Item.Environment,
 | |
| 		"project_id":  strconv.Itoa(ni.Data.Item.ProjectId),
 | |
| 		"language":    ni.Data.Item.LastOccurence.Language,
 | |
| 		"level":       ni.Data.Item.LastOccurence.Level,
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func (ni *NewItem) Fields() map[string]interface{} {
 | |
| 	return map[string]interface{}{
 | |
| 		"id": ni.Data.Item.Id,
 | |
| 	}
 | |
| }
 | |
| 
 | |
| type OccurrenceDataOccurrence struct {
 | |
| 	Language string `json:"language"`
 | |
| 	Level    string `json:"level"`
 | |
| }
 | |
| 
 | |
| type OccurrenceDataItem struct {
 | |
| 	Id          int    `json:"id"`
 | |
| 	Environment string `json:"environment"`
 | |
| 	ProjectId   int    `json:"project_id"`
 | |
| }
 | |
| 
 | |
| type OccurrenceData struct {
 | |
| 	Item       OccurrenceDataItem       `json:"item"`
 | |
| 	Occurrence OccurrenceDataOccurrence `json:"occurrence"`
 | |
| }
 | |
| 
 | |
| type Occurrence struct {
 | |
| 	EventName string         `json:"event_name"`
 | |
| 	Data      OccurrenceData `json:"data"`
 | |
| }
 | |
| 
 | |
| func (o *Occurrence) Tags() map[string]string {
 | |
| 	return map[string]string{
 | |
| 		"event":       o.EventName,
 | |
| 		"environment": o.Data.Item.Environment,
 | |
| 		"project_id":  strconv.Itoa(o.Data.Item.ProjectId),
 | |
| 		"language":    o.Data.Occurrence.Language,
 | |
| 		"level":       o.Data.Occurrence.Level,
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func (o *Occurrence) Fields() map[string]interface{} {
 | |
| 	return map[string]interface{}{
 | |
| 		"id": o.Data.Item.Id,
 | |
| 	}
 | |
| }
 | |
| 
 | |
| type DeployDataDeploy struct {
 | |
| 	Id          int    `json:"id"`
 | |
| 	Environment string `json:"environment"`
 | |
| 	ProjectId   int    `json:"project_id"`
 | |
| }
 | |
| 
 | |
| type DeployData struct {
 | |
| 	Deploy DeployDataDeploy `json:"deploy"`
 | |
| }
 | |
| 
 | |
| type Deploy struct {
 | |
| 	EventName string     `json:"event_name"`
 | |
| 	Data      DeployData `json:"data"`
 | |
| }
 | |
| 
 | |
| func (ni *Deploy) Tags() map[string]string {
 | |
| 	return map[string]string{
 | |
| 		"event":       ni.EventName,
 | |
| 		"environment": ni.Data.Deploy.Environment,
 | |
| 		"project_id":  strconv.Itoa(ni.Data.Deploy.ProjectId),
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func (ni *Deploy) Fields() map[string]interface{} {
 | |
| 	return map[string]interface{}{
 | |
| 		"id": ni.Data.Deploy.Id,
 | |
| 	}
 | |
| }
 |