openstates/bill_node.go

118 lines
4.4 KiB
Go

package openstates
type BillNode struct {
Id string `json:"id"`
LegislativeSession *LegislativeSessionNode `json:"legislativeSession"`
Identifier string `json:"identifier"`
Title string `json:"title"`
FromOrganization string `json:"fromOrganization"`
Classification []string `json:"classification"`
Subject []string `json:"subject"`
Abstracts []BillAbstractNode `json:"abstracts"`
OtherTitles []BillTitleNode `json:"otherTitles"`
OtherIdentifiers []BillIdentifierNode `json:"otherIdentifiers"`
Actions []BillActionNode `json:"actions"`
Sponsorships []BillSponsorshipNode `json:"sponsorships"`
RelatedBills []RelatedBillNode `json:"relatedBills"`
Versions []BillDocumentNode `json:"versions"`
Documents []BillDocumentNode `json:"documents"`
Votes []VoteEventNode `json:"votes"`
Sources []LinkNode `json:"sources"`
OpenStatesUrl string `json:"openStatesUrl"`
CreatedAt string `json:"createdAt"`
UpdatedAt string `json:"updatedAt"`
Extras string `json:"extras"`
}
type BillAbstractNode struct {
Abstract string `json:"abstract"`
Note string `json:"note"`
Date string `json:"date"`
}
type BillTitleNode struct {
Title string `json:"title"`
Note string `json:"note"`
}
type BillIdentifierNode struct {
Identifier string `json:"identifier"`
Scheme string `json:"scheme"`
Note string `json:"note"`
}
type BillActionNode struct {
Organization *OrganizationNode `json:"organization"`
Description string `json:"description"`
Date string `json:"date"`
Classification []ActionType `json:"classification"`
Order int `json:"order"`
Extras string `json:"extras"`
Vote *VoteEventNode `json:"vote"`
RelatedEntities []RelatedEntityNode `json:"relatedEntities"`
}
type RelatedEntityNode struct {
Name string `json:"name"`
EntityType EntityType `json:"entityType"`
Organization *OrganizationNode `json:"organization"`
Person *PersonNode `json:"person"`
}
type BillSponsorshipNode struct {
Name string `json:"name"`
EntityType EntityType `json:"entityType"`
Organization *OrganizationNode `json:"organization"`
Person *PersonNode `json:"person"`
Primary bool `json:"primary"`
Classification string `json:"classification"`
}
type RelatedBillNode struct {
Identifier string `json:"identifier"`
LegislativeSession string `json:"legislativeSession"`
RelationType string `json:"relationType"`
RelatedBill *BillNode `json:"relatedBill"`
}
type BillDocumentNode struct {
Note string `json:"note"`
Date string `json:"date"`
Links []MimetypeLinkNode `json:"links"`
}
type MimetypeLinkNode struct {
MediaType string `json:"mediaType"`
Url string `json:"url"`
Text string `json:"text"`
}
type VoteEventNode struct {
Id string `json:"id"`
Identifier string `json:"identifier"`
MotionText string `json:"motionText"`
MotionClassification []string `json:"motionClassification"`
StartDate string `json:"startDate"`
Result string `json:"result"`
Organization *OrganizationNode `json:"organization"`
BillAction *BillActionNode `json:"billAction"`
Votes []PersonVoteNode `json:"votes"`
Counts []VoteCountNode `json:"counts"`
Sources []string `json:"sources"`
CreatedAt string `json:"createdAt"`
UpdatedAt string `json:"updatedAt"`
Extras string `json:"extras"`
}
type PersonVoteNode struct {
Option string `json:"option"`
VoterName string `json:"voterName"`
Voter *PersonNode `json:"voter"`
Note string `json:"note"`
}
type VoteCountNode struct {
Option string `json:"option"`
Value int `json:"value"`
}