descritor

package module
v2.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 6, 2020 License: MIT Imports: 6 Imported by: 0

README

Descritor

Tests

Estrutura de dados que descreve os dados armazenados pelo candidatos.info. Também exporta métodos que auxiliam na conversão entre os formatos.

Guia para alteraçōes de schema

Pré-requisitos

Sempre que houver necessidade de alterar o schema da estrutura de candidatura siga os seguintes passos:

  1. Clone o repositório;
  2. Crie uma nova branch para fazer as novas alteraçōes;
  3. Faça no arquivo candidatura.proto as alterações necessárias;
  4. Compile o protocol buffer com o seguinte comando:
$ protoc --go_out=. --proto_path=. candidatura.proto
  1. Com cuidado edite o arquivo gerado, candidatura.pb.go, e insira as devidas tags para formato JSON e CSV;
  2. Rode os testes do pacote e eles devem quebrar por conta de suas alteraçōes;
  3. Corrija os testes e quando tiver a suite de testes verde abra um pull request neste repositório e solicite avaliação de um dos mantenedores;

Documentation

Index

Constants

View Source
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

View Source
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.
	Proposals           []*Proposal `datastore:"proposals,omitempty" bson:"proposals,omitempty"`                       // Propostas 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.
	Contacts            []*Contact  `datastore:"contacts,omitempty" bson:"contacts,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) Descriptor() ([]byte, []int)

func (*Candidato) GetBiografia

func (m *Candidato) GetBiografia() string

func (*Candidato) GetCPF

func (m *Candidato) GetCPF() string

func (*Candidato) GetEmail

func (m *Candidato) GetEmail() string

func (*Candidato) GetEstadoCivil

func (m *Candidato) GetEstadoCivil() string

func (*Candidato) GetFacebook

func (m *Candidato) GetFacebook() string

func (*Candidato) GetGenero

func (m *Candidato) GetGenero() string

func (*Candidato) GetGrauInstrucao

func (m *Candidato) GetGrauInstrucao() string

func (*Candidato) GetInstagram

func (m *Candidato) GetInstagram() string

func (*Candidato) GetMunicipio

func (m *Candidato) GetMunicipio() string

func (*Candidato) GetNascimento

func (m *Candidato) GetNascimento() *timestamp.Timestamp

func (*Candidato) GetNome

func (m *Candidato) GetNome() string

func (*Candidato) GetOcupacao

func (m *Candidato) GetOcupacao() string

func (*Candidato) GetPhotoURL

func (m *Candidato) GetPhotoURL() string

func (*Candidato) GetRaca

func (m *Candidato) GetRaca() string

func (*Candidato) GetSite

func (m *Candidato) GetSite() string

func (*Candidato) GetTituloEleitoral

func (m *Candidato) GetTituloEleitoral() string

func (*Candidato) GetTwitter

func (m *Candidato) GetTwitter() string

func (*Candidato) GetUF

func (m *Candidato) GetUF() string

func (*Candidato) ProtoMessage

func (*Candidato) ProtoMessage()

func (*Candidato) Reset

func (m *Candidato) Reset()

func (*Candidato) String

func (m *Candidato) String() string

func (*Candidato) XXX_DiscardUnknown

func (m *Candidato) XXX_DiscardUnknown()

func (*Candidato) XXX_Marshal

func (m *Candidato) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Candidato) XXX_Merge

func (m *Candidato) XXX_Merge(src proto.Message)

func (*Candidato) XXX_Size

func (m *Candidato) XXX_Size() int

func (*Candidato) XXX_Unmarshal

func (m *Candidato) XXX_Unmarshal(b []byte) error

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 {
	SocialNetwork string `datastore:"social_network,omitempty" bson:"social_network,omitempty"` // Rede social do candidato, podendo ser o link para a logo do Instagram, ou Facebook...
	// contains filtered or unexported fields
}

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 Proposal

type Proposal struct {
	Topic       string `datastore:"topic,omitempty" bson:"topic,omitempty"`             // Tópico de interesse do candidato.
	Description string `datastore:"description,omitempty" bson:"description,omitempty"` // Descrição relacionada ao tópico do candidato.
}

Proposal é uma struct para armazenar os tópicos relacionados ao candidato e suas propostas para os mesmos.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL