Versions in this module Expand all Collapse all v1 v1.0.1 Jun 29, 2024 Changes in this version + var BlacklistTypes = map[string]string + func ValidBlacklist(blacklist map[string][]string) bool + type Blacklist struct + List map[string][]string + type DB struct + func (db *DB) ClearAllRecords() error + func (db *DB) ClearBlacklist() error + func (db *DB) Enable(flag bool) error + func (db *DB) FilterToPeriodsOfCategoryWithBlacklist(category string, campusPeriods map[string][]string) (map[string][]string, error) + func (db *DB) GetAllRecords() ([]Record, error) + func (db *DB) GetAvailblePeriodsOfCategory(category string) (map[string][]string, error) + func (db *DB) GetStatistics() (Statistics, error) + func (db *DB) IsEnabled() (bool, error) + func (db *DB) IsFromClassInBlacklist(campus, category, class string) (bool, error) + func (db *DB) IsToPeriodInBlacklist(campus, category, period string) (bool, error) + func (db *DB) LoadBlacklistFromJSON(file string, blacklist *Blacklist) error + func (db *DB) SetBlacklist(blacklist map[string][]string) error + func (db *DB) SetRecord(r Record) error + type Record struct + Category string + FromCampus string + FromClass string + FromPeriod string + Name string + PhoneNum string + Time string + ToCampus string + ToPeriod string + type Statistics struct + ClassesOfEachTeacher map[string]map[string]bool + StudentNumOfEachCampus map[string]int + StudentNumOfEachCategory map[string]int + StudentNumOfEachTeacher map[string]int + StudentNumOfEachToPeriod map[string]map[string]int + StudentPercentOfEachTeacher map[string]float32