package schema

// Partial definition from https://www.peeringdb.com/apidocs/

type IX struct {
	ID       int64   `json:"id"`
	OrgID    int64   `json:"org_id"`
	Name     string  `json:"name"`
	IXLanSet []IXLan `json:"ixlan_set"`
}

type IXLan struct {
	ID     int64  `json:"id"`
	Name   string `json:"name"`
	NetSet []Net  `json:"net_set"`
}

type Net struct {
	ID    int64  `json:"id"`
	OrgID int64  `json:"org_id"`
	Name  string `json:"name"`
	ASN   int64  `json:"asn"`
}

type NetIXLan struct {
	ID    int64  `json:"id"`
	NetID int64  `json:"net_id"`
	IXID  int64  `json:"ix_id"`
	Name  string `json:"name"`
	Speed int64  `json:"speed"`
	ASN   int64  `json:"asn"`
	IPv4  string `json:"ipaddr4"`
	IPv6  string `json:"ipaddr6"`
}
