Documentation
¶
Index ¶
- func LatestSemester(periods []Period) string
- type AcademicData
- type CHBlock
- type Client
- func (c *Client) GetAcademicData() (*AcademicData, error)
- func (c *Client) GetCompletionReqs() (*CompletionReqs, error)
- func (c *Client) GetDiaries(semestre string) ([]Diary, error)
- func (c *Client) GetPeriods() ([]Period, error)
- func (c *Client) GetUnreadMessages() (*MessagesResponse, error)
- func (c *Client) Login(matricula, senha string) (*TokenPair, error)
- type CompletionReqs
- type DayBlock
- type Diary
- type DiaryDisciplina
- type DiaryHorario
- type DiaryLocal
- type Media
- type Message
- type MessagesResponse
- type Note
- type PaginatedDiaries
- type PaginatedPeriods
- type Period
- type Professor
- type TokenPair
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func LatestSemester ¶
LatestSemester returns the most recent semestre string like "2024.1"
Types ¶
type AcademicData ¶
type AcademicData struct {
Ingresso string `json:"ingresso"`
EmailAcademico string `json:"email_academico"`
PeriodoReferencia int `json:"periodo_referencia"`
IRA string `json:"ira"` // "81,05" — comma decimal
Curso string `json:"curso"`
Matriz string `json:"matriz"`
QtdPeriodos int `json:"qtd_periodos"`
Situacao string `json:"situacao"`
}
Academic data — from /api/ensino/meus-dados-aluno/
func (AcademicData) CursoNome ¶
func (a AcademicData) CursoNome() string
Short course name (removes code prefix and campus suffix)
func (AcademicData) IRAFloat ¶
func (a AcademicData) IRAFloat() float64
type CHBlock ¶
type CHBlock struct {
CHEsperada int `json:"ch_esperada"`
CHCumprida int `json:"ch_cumprida"`
CHPendente int `json:"ch_pendente"`
}
Completion requirements — from /api/ensino/requisitos-conclusao/
type Client ¶
type Client struct {
AccessToken string
RefreshToken string
OnRefresh func(access, refresh string)
// contains filtered or unexported fields
}
func (*Client) GetAcademicData ¶
func (c *Client) GetAcademicData() (*AcademicData, error)
func (*Client) GetCompletionReqs ¶
func (c *Client) GetCompletionReqs() (*CompletionReqs, error)
func (*Client) GetPeriods ¶
func (*Client) GetUnreadMessages ¶
func (c *Client) GetUnreadMessages() (*MessagesResponse, error)
type CompletionReqs ¶
type CompletionReqs struct {
PercentualCumprida string `json:"percentual_cumprida"` // "20.97"
Obrigatorios CHBlock `json:"regulares_obrigatorios"`
Optativos CHBlock `json:"regulares_optativos"`
}
func (CompletionReqs) Percentual ¶
func (c CompletionReqs) Percentual() float64
type Diary ¶
type Diary struct {
ID int `json:"id"`
Disciplina DiaryDisciplina `json:"disciplina"`
Professores []Professor `json:"professores"`
Horarios []DiaryHorario `json:"horarios"`
Local *DiaryLocal `json:"local"`
}
func (Diary) PodeEFaltar ¶
type DiaryDisciplina ¶
type DiaryDisciplina struct {
ID int `json:"id"`
Descricao string `json:"descricao"`
Sigla string `json:"sigla"`
CHTotal int `json:"ch_total_aula"`
CHCumprida int `json:"ch_cumprida_aula"`
QtdFaltas int `json:"qtd_faltas"`
Frequencia float64 `json:"frequencia"`
Notas []Note `json:"notas"`
Medias []Media `json:"medias"`
}
type DiaryHorario ¶
type DiaryHorario struct {
Dia string `json:"dia"` // "Terça"
Horario string `json:"horario"` // "13:00 - 13:45"
}
Diary structures — from /api/ensino/diarios/{semestre}/
func (DiaryHorario) End ¶
func (h DiaryHorario) End() string
func (DiaryHorario) Start ¶
func (h DiaryHorario) Start() string
type DiaryLocal ¶
type Message ¶
type Message struct {
ID int `json:"id"`
Assunto string `json:"assunto"`
Data string `json:"data"`
Remetente string `json:"remetente"`
}
Messages
type MessagesResponse ¶
type PaginatedDiaries ¶
type PaginatedPeriods ¶
Click to show internal directories.
Click to hide internal directories.