moduleGetter

package
v1.1.0-alpha Latest Latest
Warning

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

Go to latest
Published: Mar 11, 2024 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Category

type Category struct {
	Title      string     // Title of the Category e.g. "Compulsory Modules Informatics"
	Url        string     // Link associated to title anchor
	Categories []Category // All categories, which are listed under the current category
	Modules    []Module   // All Module's the category contains
	// contains filtered or unexported fields
}

func GetAvailableModules

func GetAvailableModules(depth int, registerURL string, client *http.Client) (Category, error)

GetAvailableModules returns the modules currently listed under "Studying" > "Register for modules and courses".

The depth indicates how deep different categories are nested within a category.

For instance, at a depth of 2, a structure like 'Computer Science' -> 'Elective Area' -> 'Module 1' would be displayed. However, a further nested structure like 'Computer Science' -> 'Elective Area' -> 'Abroad' -> 'Module 2' would not be shown, as it exceeds the specified depth limit.

The registerURL represents the URL, which re-directs to "Studying" > "Register for modules and courses".

The client is the HTTP Client the requests should be executed with.

func (*Category) Refresh

func (category *Category) Refresh(depth int) (Category, error)

Refresh re-fetches the data of a category from the STiNE servers. The session of the initial request cannot be expired.

In order to refresh a module, the whole category needs to be re-fetched, which makes a Refresh function for a module useless.

The client is the HTTP client used for the request, needs to be authenticated on STiNE.

The depth indicates how deep different categories are nested within a category.

type Event

type Event struct {
	Id              string  // ID of the event in the following format 64-010
	Title           string  // Title of the event
	Link            string  // The link a user gets re-directed to, if he clicks the title
	MaxCapacity     float64 // Maximum student capacity of the event
	CurrentCapacity float64 // Currently registered students for the event
}

Event represents events of a module like exercises or lectures.

type Module

type Module struct {
	Title            string  // Title of the module
	Teacher          string  // Teachers of the module
	RegistrationLink string  // Link a user gets re-directed to, if he wants to register for the module. It will return an empty string, if the user has already registered for the module
	Events           []Event // All events, which are correlated to the module like exercises and lectures
}

Module represents a module open for registration.

Jump to

Keyboard shortcuts

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