package data

import (
	"github.com/scraperwall/asndb"
	"github.com/scraperwall/geoip"
)

// Ping is used as a primitive way to validate that a browser has JS
type Ping struct {
	Timestamp     int64        `bson:"timestamp" json:"timestamp" form:"timestamp"`
	Checksum      string       `bson:"checksum" json:"checksum" form:"checksum"`
	Remote        string       `bson:"remote" json:"remote" form:"remote"`
	URL           string       `bson:"url" json:"url" form:"url"`
	Source        string       `bson:"source" json:"source" form:"source"`
	XForwardedFor string       `bson:"x_forwarded_for" json:"x-forwarded-for" form:"x_forwarded_for"`
	XRealIP       string       `bson:"x_real_ip" json:"x-real-ip" form:"x_real_ip"`
	XScwIP        string       `bson:"x_scw_ip" json:"x-scw-ip" form:"x_scw_ip"`
	ASN           *asndb.ASN   `bson:"asn" json:"asn" form:"asn"`
	GeoIP         *geoip.GeoIP `bson:"geoip" json:"geoip" form:"geoip"`
	ClientID      string       `bson:"clientid" json:"clientid" form:"clientid"`
}