Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( ErrDadosLoginVazio = errors.New("login ou senha estão vazios") ErrCpfInvalido = errors.New("cpf inválido") ErrIdUfuTamanhoInvalido = errors.New("tamanho do id ufu inválido") ErrDadosLoginIncorretos = errors.New("usuário ou senha estão incorretos") ErrAlgoDeuErradoGenerico = errors.New("o servidor retornou uma resposta vazia") ErrRespostaInvalidaServidor = errors.New("o servidor remoto nos enviou uma resposta invalida") ErrNãoHáRefeições = errors.New("não há refeições agendadas para hoje") //Erro retornado quando não há refeições agendadas para hoje. ErrCampusInvalido = errors.New("campus inválido") )
var Campi = map[string]Campus{
"sm": {ID: 277, Nome: "Santa Mônica"},
"um": {ID: 279, Nome: "Umuarama"},
"gl": {ID: 1747, Nome: "Glória"},
"po": {ID: 278, Nome: "Pontal"},
"mc": {ID: 6097, Nome: "Monte Carmelo"},
}
var ( ClienteHTTP = http.Client{ Timeout: 15 * time.Second, } //Cliente HTTP usado em todas as requsições, com timeout de 15 segundos. Pode ser alterado para atender necessidades específicas. )
Functions ¶
func Criptografar ¶
A função Criptografar prepara um JSON (requestParams) para ser enviado para a API do aplicativo móvel da UFU. Retorna um JSON criptografado e um erro.
func Descriptografar ¶
A função Descriptografar descriptografa a respostas da API do aplicativo móvel da UFU. Retorna um JSON descriptografado e um erro.
Types ¶
type Cardapio ¶
type Cardapio struct { Titulo string `json:"titulo"` //Título do restaurante (Ex: 2024/12/16 - Cardápio Restaurante Universitário - Santa Mônica) Local string `json:"local"` //Local do restaurante (Ex: Restaurante Universitário - Santa Mônica) Mensagem string `json:"mensagem"` //Alguma mensagem do restaurante, não parece ser usado PrincipalAlmoco string `json:"principal_almoco"` //Proteina principal do almoço VegetarianoAlmoco string `json:"vegetariano_almoco"` //Proteina vegetariana do almoço ArrozAlmoco string `json:"arroz_almoco"` //Tipo de arroz do almoço FeijaoAlmoco string `json:"feijao_almoco"` //Tipo de feijão do almoço GuarnicaoAlmoco string `json:"guarnicao_almoco"` //Guarnição do almoço SaladaAlmoco string `json:"salada_almoco"` //Salada do almoço SobremesaAlmoco string `json:"sobremesa_almoco"` //Sobremesa do almoço SucoAlmoco string `json:"suco_almoco"` //Suco do almoço Data string `json:"data"` //Data do cardápio (Ex: 16/12/2024) PrincipalJantar string `json:"principal_jantar"` //Proteina principal do jantar VegetarianoJantar string `json:"vegetariano_jantar"` //Proteina vegetariana do jantar ArrozJantar string `json:"arroz_jantar"` //Tipo de arroz do jantar FeijaoJantar string `json:"feijao_jantar"` //Tipo de feijão do jantar GuarnicaoJantar string `json:"guarnicao_jantar"` //Guarnição do jantar SaladaJantar string `json:"salada_jantar"` //Salada do jantar SobremesaJantar string `json:"sobremesa_jantar"` //Sobremesa do jantar SucoJantar string `json:"suco_jantar"` //Suco do jantar Nid string `json:"nid"` //ID interno do cardápio }
A estrutura Cardapio contém as informações de um cardápio de refeições da UFU. É retornado na função ObterTodosOsCardapios.
func ObterCardapioPorCampus ¶
func ObterTodosOsCardapios ¶
ObterTodosOsCardapios é a função que obtém todos os cardápios de refeições da UFU. Retorna um slice de Cardapio e um erro.
type DadosLoginMobile ¶
type DadosLoginMobile struct { ResultType string `json:"resultType"` //Descrição do tipo do resultado. Sempre "SUCCESS" se o login for bem sucedido. ResultCode string `json:"resultCode"` //Código do resultado. Sempre "s.0002" se o login for bem sucedido. Nome string `json:"nome"` //Nome do usuário. Token string `json:"token"` //Token de autenticação. Perfis []Perfis `json:"perfis"` //Perfis do usuário. PerfilAtivo PerfilAtivo `json:"perfilAtivo"` //Perfil ativo do usuário. Email *string `json:"email"` //Email do usuário, pode ser nulo. Avatar string `json:"avatar"` //Avatar do usuário, em base64. DataExpMillis int64 `json:"dataExpMillis"` //Data de expiração do token, Unix timestamp em milisegundos. }
func LoginViaMobile ¶
func LoginViaMobile(email, senha string) (*DadosLoginMobile, error)
func (*DadosLoginMobile) BuscarIdentidadeDigital ¶
func (d *DadosLoginMobile) BuscarIdentidadeDigital() (*IdentidadeDigital, error)
type DadosSSO ¶
type DadosSSO struct { Cpf string `json:"cpf"` //CPF do usuário Nome string `json:"nome"` //Nome do usuário Chave string `json:"chave"` //Token de autenticação Email string `json:"email"` //Email do usuário ExpiraEm int `json:"expira_em"` //Data de expiração do token de autenticação, Unix timestamp em milisegundos IDPessoa int `json:"id_pessoa"` //ID interno da pessoa EmitidoEm int `json:"emitido_em"` //Data de emissão do token de autenticação , Unix timestamp em milisegundos AccessTokenID string `json:"access_token_id"` //ID do token de autenticação Roles []string `json:"roles"` //Perfis do usuário Perfis string `json:"perfis"` //Quantidade de perfis do usuário Cookies []*http.Cookie //Cookies da sessão }
DadosSSO é a estrutura que contém as informações do usuário autenticado no SSO. É retornado na função LoginViaSSO.
func LoginViaSSO ¶
LoginViaSSO é a função que realiza o login no sistema da UFU usando a api do SSO. Retorna um ponteiro para DadosSSO e um erro.
type ErrorMobile ¶
type ErrorMobile struct { Timestamp int64 `json:"timestamp"` //Timestamp do erro Status int `json:"status"` //Status http do erro Error string `json:"error"` //Tipo do erro Exception string `json:"exception"` //Exceção do erro Message string `json:"message"` //Mensagem do erro Path string `json:"path"` //Caminho do erro }
type IdUfu ¶
type IdUfu struct { ID int `json:"id"` //ID da identidade digital Matricula string `json:"matricula"` //Matrícula do aluno Nome string `json:"nome"` //Nome do aluno NomePai string `json:"nomePai"` //Nome do pai do aluno. Pode ser vazio NomeMae string `json:"nomeMae"` //Nome da mãe do aluno. RG string `json:"rg"` //RG do aluno OrgaoEmissor string `json:"orgaoEmissor"` //Órgão emissor do RG CPF string `json:"cpf"` //CPF do aluno Naturalidade string `json:"naturalidade"` //Naturalidade do aluno Vinculo string `json:"vinculo"` //Vínculo (aluno, servidor, etc) DataNascimento int64 `json:"dataNascimento"` //Data de nascimento do aluno, Unix timestamp em milisegundos CodigoBarra string `json:"codigoBarra"` //Dado do QR Code da identidade digital Informacao string `json:"informacao"` //Curso, tipo de curso e turno (Ex: "Graduação em Sistemas de Informação: Bacharelado - Noturno") SituacaoDescricao string `json:"situacaoDescricao"` //Situação da identidade digital Situacao int `json:"situacao"` //Situação da identidade digital, 3 = Ativa Foto string `json:"foto"` //Foto em base64 }
A estrutura IdUfu contém as informações de uma identidade digital da UFU. É retornado na função ObterIdUfu.
func ObterIdUfu ¶
ObterIdUfu é a função que obtém as informações de uma identidade digital da UFU. Retorna um ponteiro para IdUfu e um erro. O parâmetro id é o número da identidade digital, presente no QR Code. Por exemplo, para o QR Code "https://www.sistemas.ufu.br/valida-ufu/#/id-digital/123123456789", o id é "123123456789".
type IdentidadeDigital ¶
type IdentidadeDigital struct { Situacao string `json:"situacao"` //Situação da identidade digital, 3 = Ativa Nome string `json:"nome"` //Nome do aluno Naturalidade string `json:"naturalidade"` //Naturalidade do aluno Informacao string `json:"informacao"` //Curso, tipo de curso e turno (Ex: "Graduação em Sistemas de Informação: Bacharelado - Noturno") CodigoBarra string `json:"codigoBarra"` //Dado do QR Code da identidade digital Foto string `json:"foto"` //Foto em base64 Rg string `json:"rg"` //RG do aluno OrgaoEmissor string `json:"orgaoEmissor"` //Órgão emissor do RG Matricula string `json:"matricula"` //Matrícula do aluno Cpf string `json:"cpf"` //CPF do aluno NomePai string `json:"nomePai"` //Nome do pai do aluno. Pode ser vazio Vinculo string `json:"vinculo"` //Vínculo (aluno, servidor, etc) ID string `json:"id"` //ID do aluno no sistema DataNascimento time.Time `json:"dataNascimento"` //Data de nascimento do aluno, NomeMae string `json:"nomeMae"` //Nome da mãe do aluno. SituacaoDescricao string `json:"situacaoDescricao"` //Situação da identidade digital DataValidade time.Time `json:"dataValidade"` //Data de validade do cartão }
type PerfilAtivo ¶
type PerfilAtivo struct { IDPerfil int `json:"idPerfil"` //ID do perfil NomePerfil string `json:"nomePerfil"` //Nome do perfil TipoPerfil string `json:"tipoPerfil"` //Tipo do perfil NomeTipoPerfil string `json:"nomeTipoPerfil"` //Nome do tipo do perfil Selecionado bool `json:"selecionado"` //Se o perfil está selecionado }
type Perfis ¶
type Perfis struct { IDPerfil int `json:"idPerfil"` //ID do perfil NomePerfil string `json:"nomePerfil"` //Nome do perfil TipoPerfil string `json:"tipoPerfil"` //Tipo do perfil NomeTipoPerfil string `json:"nomeTipoPerfil"` //Nome do tipo do perfil Selecionado bool `json:"selecionado"` //Se o perfil está selecionado }