ufutil

package module
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Dec 16, 2024 License: Apache-2.0 Imports: 16 Imported by: 0

README

UFUtil

Uma biblioteca em Go para interagir com a API da UFU.

Go API Reference Latest Release

Funcionalidades

LoginViaSSO(usuário, senha string)

Realiza o login no sistema da UFU usando a API do SSO. Retorna um ponteiro para DadosSSO e um erro.

ObterIdUfu(id string)

Obtém as informações de uma identidade digital da UFU. Retorna um ponteiro para IdUfu e um erro.

ObterTodosOsCardapios()

Obtém todos os cardápios de refeições da UFU. Retorna um slice de Cardapio e um erro.

ObterCardapiosFuturosPorCampus(campus string)

Obtém os cardápios futuros de refeições da UFU para um campus específico. Retorna um slice de Cardapio e um erro.

ObterCardapioPorCampus(campus string)

Obtém o cardápio de refeições da UFU para um campus específico. Retorna um ponteiro para Cardapio e um erro.

Descriptografar(texto)

Descriptografa as respostas da API do aplicativo móvel da UFU. Retorna um JSON descriptografado e um erro.

Criptografar(texto)

Prepara um JSON para ser enviado para a API do aplicativo móvel da UFU. Retorna um JSON criptografado e um erro.

Documentation

Index

Constants

This section is empty.

Variables

View Source
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"},
}
View Source
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.

)
View Source
var 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.

Functions

func Criptografar

func Criptografar(json string) (string, error)

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

func Descriptografar(corpo string) (string, error)

A função Descriptografar descriptografa a respostas da API do aplicativo móvel da UFU. Retorna um JSON descriptografado e um erro.

Types

type Campus added in v1.1.0

type Campus struct {
	ID   int
	Nome string
}

type Cardapio added in v1.1.0

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 added in v1.1.0

func ObterCardapioPorCampus(campus string) (*Cardapio, error)

func ObterCardapiosFuturosPorCampus added in v1.1.0

func ObterCardapiosFuturosPorCampus(campus string) ([]Cardapio, error)

func ObterTodosOsCardapios added in v1.1.0

func ObterTodosOsCardapios() ([]Cardapio, error)

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 DadosSSO added in v1.1.0

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 added in v1.1.0

func LoginViaSSO(email, senha string) (*DadosSSO, error)

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 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 added in v1.1.0

func ObterIdUfu(id string) (*IdUfu, error)

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".

Jump to

Keyboard shortcuts

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