Documentation ¶
Index ¶
- Constants
- Variables
- func ToCSV(c []Candidatura) ([]byte, error)
- type CandidateForDB
- type Candidato
- func (*Candidato) Descriptor() ([]byte, []int)
- func (m *Candidato) GetBiografia() string
- func (m *Candidato) GetCPF() string
- func (m *Candidato) GetEmail() string
- func (m *Candidato) GetEstadoCivil() string
- func (m *Candidato) GetFacebook() string
- func (m *Candidato) GetGenero() string
- func (m *Candidato) GetGrauInstrucao() string
- func (m *Candidato) GetInstagram() string
- func (m *Candidato) GetMunicipio() string
- func (m *Candidato) GetNascimento() *timestamp.Timestamp
- func (m *Candidato) GetNome() string
- func (m *Candidato) GetOcupacao() string
- func (m *Candidato) GetPhotoURL() string
- func (m *Candidato) GetRaca() string
- func (m *Candidato) GetSite() string
- func (m *Candidato) GetTituloEleitoral() string
- func (m *Candidato) GetTwitter() string
- func (m *Candidato) GetUF() string
- func (*Candidato) ProtoMessage()
- func (m *Candidato) Reset()
- func (m *Candidato) String() string
- func (m *Candidato) XXX_DiscardUnknown()
- func (m *Candidato) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *Candidato) XXX_Merge(src proto.Message)
- func (m *Candidato) XXX_Size() int
- func (m *Candidato) XXX_Unmarshal(b []byte) error
- type Candidatura
- func (*Candidatura) Descriptor() ([]byte, []int)
- func (m *Candidatura) GetAptdao() string
- func (m *Candidatura) GetCandidato() *Candidato
- func (m *Candidatura) GetCargo() string
- func (m *Candidatura) GetDeclarouBens() bool
- func (m *Candidatura) GetDeferimento() string
- func (m *Candidatura) GetDescricao() string
- func (m *Candidatura) GetLegendaPartido() string
- func (m *Candidatura) GetLegislatura() int64
- func (m *Candidatura) GetMunicipio() string
- func (m *Candidatura) GetNomeColigacao() string
- func (m *Candidatura) GetNomePartido() string
- func (m *Candidatura) GetNomeUrna() string
- func (m *Candidatura) GetNumeroPartido() int64
- func (m *Candidatura) GetNumeroUrna() int64
- func (m *Candidatura) GetPartidosColigacao() string
- func (m *Candidatura) GetSequencialCandidato() string
- func (m *Candidatura) GetSituacaoPrimeiroTurno() string
- func (m *Candidatura) GetSituacaoSegundoTurno() string
- func (m *Candidatura) GetTipoAgremiacao() string
- func (m *Candidatura) GetUF() string
- func (*Candidatura) ProtoMessage()
- func (m *Candidatura) Reset()
- func (m *Candidatura) String() string
- func (c *Candidatura) ToJSON() ([]byte, error)
- func (m *Candidatura) XXX_DiscardUnknown()
- func (m *Candidatura) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *Candidatura) XXX_Merge(src proto.Message)
- func (m *Candidatura) XXX_Size() int
- func (m *Candidatura) XXX_Unmarshal(b []byte) error
- type Contact
- type Location
- type VotingCity
Constants ¶
const ( // CandidaturesCollection é o nome da coleção das candidaturas. CandidaturesCollection = "candidatures" // LocationsCollection é o nome da coleção de estados e suas cidades LocationsCollection = "locations" )
Variables ¶
var ( // RolesMap is as map that create alias for candidates roles RolesMap = map[string]string{ "VEREADOR": "LM", "VICE-PREFEITO": "VEM", "PREFEITO": "EM", } )
Functions ¶
func ToCSV ¶
func ToCSV(c []Candidatura) ([]byte, error)
ToCSV converte a candidatura para um conjunto de strings
Types ¶
type CandidateForDB ¶
type CandidateForDB struct { SequencialCandidate string `datastore:"sequencial_candidate,omitempty" bson:"sequencial_candidate,omitempty"` // ID sequencial do candidato no sistema do TSE. Description string `datastore:"description,omitempty" bson:"description,omitempty"` // Description do candidato. Biography string `datastore:"biography,omitempty" bson:"biography,omitempty"` // Biography do candidato. PhotoURL string `datastore:"photo_url,omitempty" bson:"photo_url,omitempty"` // URL da foto do candidato. LegalCode string `datastore:"legal_code,omitempty" bson:"legal_code,omitempty"` // CPF do candidato. Party string `datastore:"party,omitempty" bson:"party,omitempty"` // Partido do candidato. Name string `datastore:"name,omitempty" bson:"name,omitempty"` // Nome natural de pessoa física do candidato. BallotName string `datastore:"ballot_name,omitempty" bson:"ballot_name,omitempty"` // Nome do candidato na urna. BallotNumber int `datastore:"ballot_number,omitempty" bson:"ballot_number,omitempty"` // Número do candidato na urna. Email string `datastore:"email,omitempty" bson:"email,omitempty"` // Email do candidato. Role string `datastore:"role,omitempty" bson:"role,omitempty"` // Cargo do candidato (como vereador ou prefeito). State string `datastore:"state,omitempty" bson:"state,omitempty"` // Estado da eleição. City string `datastore:"city,omitempty" bson:"city,omitempty"` // Cidade da eleição. Year int `datastore:"year,omitempty" bson:"year,omitempty"` // Ano da eleição. Tags []string `datastore:"tags,omitempty" bson:"tags,omitempty"` // Tags do candidato. Gender string `datastore:"gender,omitempty" bson:"gender,omitempty"` // Gênero do candidato. Transparency float64 `datastore:"transparency,omitempty" bson:"transparency,omitempty"` // Porcentagem de transparência do candidato. Contact *Contact `datastore:"contact,omitempty" bson:"contact,omitempty"` // Dados de contato do candidato. Recurrent bool `datastore:"recurrent,omitempty" bson:"recurrent,omitempty"` // Flag que indica se candidato participou do último pleito. }
CandidateForDB é uma struct que contem alguns dos atributos da struct Candidatura. Essa struct é usada somente para persistência em banco e para atender requisitos da UI do site.
type Candidato ¶
type Candidato struct { UF string `protobuf:"bytes,1,opt,name=UF,proto3" json:"uf_origem" csv:"uf_origem"` Municipio string `protobuf:"bytes,2,opt,name=Municipio,proto3" json:"municipio_origem" csv:"municipio_origem"` Nascimento *timestamp.Timestamp `protobuf:"bytes,3,opt,name=Nascimento,proto3" json:"nascimento" csv:"nascimento"` TituloEleitoral string `protobuf:"bytes,4,opt,name=TituloEleitoral,proto3" json:"titulo_eleitoral" csv:"titulo_eleitoral"` Genero string `protobuf:"bytes,5,opt,name=Genero,proto3" json:"genero" csv:"genero"` GrauInstrucao string `protobuf:"bytes,6,opt,name=GrauInstrucao,proto3" json:"grau_instrucao" csv:"grau_instrucao"` EstadoCivil string `protobuf:"bytes,7,opt,name=EstadoCivil,proto3" json:"estado_civil" csv:"estado_civil"` Raca string `protobuf:"bytes,8,opt,name=Raca,proto3" json:"raca" csv:"raca"` Ocupacao string `protobuf:"bytes,9,opt,name=Ocupacao,proto3" json:"ocupacao" csv:"ocupacao"` CPF string `protobuf:"bytes,10,opt,name=CPF,proto3" json:"cpf" csv:"cpf"` Nome string `protobuf:"bytes,11,opt,name=Nome,proto3" json:"nome" csv:"nome"` Email string `protobuf:"bytes,12,opt,name=Email,proto3" json:"email" csv:"email"` PhotoURL string `protobuf:"bytes,13,opt,name=PhotoURL,proto3" json:"photo_url" csv:"photo_url"` Site string `protobuf:"bytes,14,opt,name=Site,proto3" json:"site" csv:"site"` Instagram string `protobuf:"bytes,15,opt,name=Instagram,proto3" json:"instagram" csv:"instagram"` Twitter string `protobuf:"bytes,16,opt,name=Twitter,proto3" json:"twitter" csv:"twitter"` Facebook string `protobuf:"bytes,17,opt,name=Facebook,proto3" json:"facebook" csv:"facebook"` Biografia string `protobuf:"bytes,18,opt,name=Biografia,proto3" json:"biografia" csv:"biografia"` XXX_NoUnkeyedLiteral struct{} `json:"-" csv:"-"` XXX_unrecognized []byte `json:"-" csv:"-"` XXX_sizecache int32 `json:"-" csv:"-"` }
func (*Candidato) Descriptor ¶
func (*Candidato) GetBiografia ¶
func (*Candidato) GetEstadoCivil ¶
func (*Candidato) GetFacebook ¶
func (*Candidato) GetGrauInstrucao ¶
func (*Candidato) GetInstagram ¶
func (*Candidato) GetMunicipio ¶
func (*Candidato) GetNascimento ¶
func (*Candidato) GetOcupacao ¶
func (*Candidato) GetPhotoURL ¶
func (*Candidato) GetTituloEleitoral ¶
func (*Candidato) GetTwitter ¶
func (*Candidato) ProtoMessage ¶
func (*Candidato) ProtoMessage()
func (*Candidato) XXX_DiscardUnknown ¶
func (m *Candidato) XXX_DiscardUnknown()
func (*Candidato) XXX_Marshal ¶
func (*Candidato) XXX_Unmarshal ¶
type Candidatura ¶
type Candidatura struct { Legislatura int64 `protobuf:"varint,1,opt,name=Legislatura,proto3" json:"leg" csv:"leg"` Cargo string `protobuf:"bytes,2,opt,name=Cargo,proto3" json:"cargo" csv:"cargo"` UF string `protobuf:"bytes,3,opt,name=UF,proto3" json:"uf" csv:"uf"` Municipio string `protobuf:"bytes,4,opt,name=Municipio,proto3" json:"municipio" csv:"municipio"` NumeroUrna int64 `protobuf:"varint,5,opt,name=NumeroUrna,proto3" json:"numero_urna" csv:"numero_urna"` NomeUrna string `protobuf:"bytes,6,opt,name=NomeUrna,proto3" json:"nome_urna" csv:"nome_urna"` Aptdao string `protobuf:"bytes,7,opt,name=Aptdao,proto3" json:"aptidao" csv:"aptidao"` Deferimento string `protobuf:"bytes,8,opt,name=Deferimento,proto3" json:"deferimento" csv:"deferimento"` TipoAgremiacao string `protobuf:"bytes,9,opt,name=TipoAgremiacao,proto3" json:"tipo_agremiacao" csv:"tipo_agremiacao"` NumeroPartido int64 `protobuf:"varint,10,opt,name=NumeroPartido,proto3" json:"numero_partio" csv:"numero_partido"` LegendaPartido string `protobuf:"bytes,11,opt,name=LegendaPartido,proto3" json:"legenda_partido" csv:"legenda_partido"` NomePartido string `protobuf:"bytes,12,opt,name=NomePartido,proto3" json:"nome_partido" csv:"nome_partido"` NomeColigacao string `protobuf:"bytes,13,opt,name=NomeColigacao,proto3" json:"nome_coligacao" csv:"nome_coligacao"` PartidosColigacao string `protobuf:"bytes,14,opt,name=PartidosColigacao,proto3" json:"partidos_coligacao" csv:"partidos_coligacao"` DeclarouBens bool `protobuf:"varint,15,opt,name=DeclarouBens,proto3" json:"declarou_bens" csv:"declarou_bens"` SituacaoPrimeiroTurno string `protobuf:"bytes,16,opt,name=SituacaoPrimeiroTurno,proto3" json:"situacao_1turno" csv:"situacao_1turno"` SituacaoSegundoTurno string `protobuf:"bytes,17,opt,name=SituacaoSegundoTurno,proto3" json:"situacao_2turno" csv:"situacao_2turno"` SequencialCandidato string `protobuf:"bytes,18,opt,name=SequencialCandidato,proto3" json:"sequencial_candidato" csv:"sequencial_candidato"` Descricao string `protobuf:"bytes,19,opt,name=Descricao,proto3" json:"descricao" csv:"descricao"` Candidato *Candidato `protobuf:"bytes,20,opt,name=Candidato,proto3" json:"candidato" csv:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-" csv:"-"` XXX_unrecognized []byte `json:"-" csv:"-"` XXX_sizecache int32 `json:"-" csv:"-"` }
func FromJSON ¶
func FromJSON(b []byte) (*Candidatura, error)
FromJSON cria uma instância de candidatura preenchida com os dados contidos no JSON passado como parâmetro.
func (*Candidatura) Descriptor ¶
func (*Candidatura) Descriptor() ([]byte, []int)
func (*Candidatura) GetAptdao ¶
func (m *Candidatura) GetAptdao() string
func (*Candidatura) GetCandidato ¶
func (m *Candidatura) GetCandidato() *Candidato
func (*Candidatura) GetCargo ¶
func (m *Candidatura) GetCargo() string
func (*Candidatura) GetDeclarouBens ¶
func (m *Candidatura) GetDeclarouBens() bool
func (*Candidatura) GetDeferimento ¶
func (m *Candidatura) GetDeferimento() string
func (*Candidatura) GetDescricao ¶
func (m *Candidatura) GetDescricao() string
func (*Candidatura) GetLegendaPartido ¶
func (m *Candidatura) GetLegendaPartido() string
func (*Candidatura) GetLegislatura ¶
func (m *Candidatura) GetLegislatura() int64
func (*Candidatura) GetMunicipio ¶
func (m *Candidatura) GetMunicipio() string
func (*Candidatura) GetNomeColigacao ¶
func (m *Candidatura) GetNomeColigacao() string
func (*Candidatura) GetNomePartido ¶
func (m *Candidatura) GetNomePartido() string
func (*Candidatura) GetNomeUrna ¶
func (m *Candidatura) GetNomeUrna() string
func (*Candidatura) GetNumeroPartido ¶
func (m *Candidatura) GetNumeroPartido() int64
func (*Candidatura) GetNumeroUrna ¶
func (m *Candidatura) GetNumeroUrna() int64
func (*Candidatura) GetPartidosColigacao ¶
func (m *Candidatura) GetPartidosColigacao() string
func (*Candidatura) GetSequencialCandidato ¶
func (m *Candidatura) GetSequencialCandidato() string
func (*Candidatura) GetSituacaoPrimeiroTurno ¶
func (m *Candidatura) GetSituacaoPrimeiroTurno() string
func (*Candidatura) GetSituacaoSegundoTurno ¶
func (m *Candidatura) GetSituacaoSegundoTurno() string
func (*Candidatura) GetTipoAgremiacao ¶
func (m *Candidatura) GetTipoAgremiacao() string
func (*Candidatura) GetUF ¶
func (m *Candidatura) GetUF() string
func (*Candidatura) ProtoMessage ¶
func (*Candidatura) ProtoMessage()
func (*Candidatura) Reset ¶
func (m *Candidatura) Reset()
func (*Candidatura) String ¶
func (m *Candidatura) String() string
func (*Candidatura) ToJSON ¶
func (c *Candidatura) ToJSON() ([]byte, error)
ToJSON converte a candidatura para JSON.
func (*Candidatura) XXX_DiscardUnknown ¶
func (m *Candidatura) XXX_DiscardUnknown()
func (*Candidatura) XXX_Marshal ¶
func (m *Candidatura) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*Candidatura) XXX_Merge ¶
func (m *Candidatura) XXX_Merge(src proto.Message)
func (*Candidatura) XXX_Size ¶
func (m *Candidatura) XXX_Size() int
func (*Candidatura) XXX_Unmarshal ¶
func (m *Candidatura) XXX_Unmarshal(b []byte) error
type Contact ¶
type Contact struct { IconURL string `datastore:"icon_url,omitempty" bson:"icon_url,omitempty"` // Ícone do contato, podendo ser o link para a logo do Instagram, ou Facebook... Link string `datastore:"link,omitempty" bson:"link,omitempty"` // Link de contato, podendo ser o link para o Instagram, um site, ou o telefone do candidato. }
Contact é um struct para armazenar os dados de contato do candidato.
type Location ¶
type Location struct { State string `datastore:"state" bson:"state,omitempty"` // Estado que está ocorrendo uma eleição. Cities []string `datastore:"cities" bson:"cities,omitempty"` // Cidades do estado onde está ocorrendo uma eleição. }
Location é uma struct que contem um estado que está ocorrendo a eleição e suas cidades.
type VotingCity ¶
type VotingCity struct { Year int `datastore:"year,omitempty"` // Ano de eleição. City string `datastore:"city,omitempty"` // Cidade da eleição. State string `datastore:"state,omitempty"` // Estado da eleição. Candidates []*CandidateForDB `datastore:"candidates,omitempty"` // Lista com os candidatos da cidade. }
VotingCity é a struct que encapsula as candidaturas de uma cidade. Para cada eleição salvamos as candidaturas agrupadas todas por cidade, ou seja, uma eleição no Brasil vai resultar em 5570 inserçōes uma vez que o Brasil possui esta quantidade de cidades (https://pt.wikipedia.org/wiki/Lista_de_estados_brasileiros_por_n%C3%BAmero_de_munic%C3%ADpios).
Essa struct é usada pelo projeto resumidor de banco de dados (https://github.com/candidatos-info/resumidores) para fazer a escrita no banco e pelo site (https://github.com/candidatos-info/site) para renderizar dados no frontend.