mirror of
https://github.com/Xevion/banner.git
synced 2025-12-08 06:06:25 -06:00
Move parameters into consts
This commit is contained in:
63
search.go
63
search.go
@@ -8,6 +8,29 @@ import (
|
|||||||
"github.com/samber/lo"
|
"github.com/samber/lo"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
paramSubject = "txt_subject"
|
||||||
|
paramTitle = "txt_courseTitle"
|
||||||
|
paramKeywords = "txt_keywordlike"
|
||||||
|
paramOpenOnly = "chk_open_only"
|
||||||
|
paramTermPart = "txt_partOfTerm"
|
||||||
|
paramCampus = "txt_campus"
|
||||||
|
paramAttributes = "txt_attribute"
|
||||||
|
paramInstructor = "txt_instructor"
|
||||||
|
paramStartTimeHour = "select_start_hour"
|
||||||
|
paramStartTimeMinute = "select_start_min"
|
||||||
|
paramStartTimeMeridiem = "select_start_ampm"
|
||||||
|
paramEndTimeHour = "select_end_hour"
|
||||||
|
paramEndTimeMinute = "select_end_min"
|
||||||
|
paramEndTimeMeridiem = "select_end_ampm"
|
||||||
|
paramMinCredits = "txt_credithourlow"
|
||||||
|
paramMaxCredits = "txt_credithourhigh"
|
||||||
|
paramCourseNumberLow = "txt_course_number_range"
|
||||||
|
paramCourseNumberHigh = "txt_course_number_range_to"
|
||||||
|
paramOffset = "pageOffset"
|
||||||
|
paramMaxResults = "pageMaxSize"
|
||||||
|
)
|
||||||
|
|
||||||
type Query struct {
|
type Query struct {
|
||||||
subject *string
|
subject *string
|
||||||
title *string
|
title *string
|
||||||
@@ -172,69 +195,69 @@ func (q *Query) Paramify() map[string]string {
|
|||||||
params := map[string]string{}
|
params := map[string]string{}
|
||||||
|
|
||||||
if q.subject != nil {
|
if q.subject != nil {
|
||||||
params["txt_subject"] = *q.subject
|
params[paramSubject] = *q.subject
|
||||||
}
|
}
|
||||||
|
|
||||||
if q.title != nil {
|
if q.title != nil {
|
||||||
// Whitespace can prevent valid queries from succeeding
|
// Whitespace can prevent valid queries from succeeding
|
||||||
params["txt_courseTitle"] = strings.TrimSpace(*q.title)
|
params[paramTitle] = strings.TrimSpace(*q.title)
|
||||||
}
|
}
|
||||||
|
|
||||||
if q.keywords != nil {
|
if q.keywords != nil {
|
||||||
params["txt_keywordlike"] = strings.Join(*q.keywords, " ")
|
params[paramKeywords] = strings.Join(*q.keywords, " ")
|
||||||
}
|
}
|
||||||
|
|
||||||
if q.openOnly != nil {
|
if q.openOnly != nil {
|
||||||
params["chk_open_only"] = "true"
|
params[paramOpenOnly] = "true"
|
||||||
}
|
}
|
||||||
|
|
||||||
if q.termPart != nil {
|
if q.termPart != nil {
|
||||||
params["txt_partOfTerm"] = strings.Join(*q.termPart, ",")
|
params[paramTermPart] = strings.Join(*q.termPart, ",")
|
||||||
}
|
}
|
||||||
|
|
||||||
if q.campus != nil {
|
if q.campus != nil {
|
||||||
params["txt_campus"] = strings.Join(*q.campus, ",")
|
params[paramCampus] = strings.Join(*q.campus, ",")
|
||||||
}
|
}
|
||||||
|
|
||||||
if q.attributes != nil {
|
if q.attributes != nil {
|
||||||
params["txt_attribute"] = strings.Join(*q.attributes, ",")
|
params[paramAttributes] = strings.Join(*q.attributes, ",")
|
||||||
}
|
}
|
||||||
|
|
||||||
if q.instructor != nil {
|
if q.instructor != nil {
|
||||||
params["txt_instructor"] = strings.Join(lo.Map(*q.instructor, func(i uint64, _ int) string {
|
params[paramInstructor] = strings.Join(lo.Map(*q.instructor, func(i uint64, _ int) string {
|
||||||
return strconv.FormatUint(i, 10)
|
return strconv.FormatUint(i, 10)
|
||||||
}), ",")
|
}), ",")
|
||||||
}
|
}
|
||||||
|
|
||||||
if q.startTime != nil {
|
if q.startTime != nil {
|
||||||
hour, minute, meridiem := FormatTimeParameter(*q.startTime)
|
hour, minute, meridiem := FormatTimeParameter(*q.startTime)
|
||||||
params["select_start_hour"] = hour
|
params[paramStartTimeHour] = hour
|
||||||
params["select_start_min"] = minute
|
params[paramStartTimeMinute] = minute
|
||||||
params["select_start_ampm"] = meridiem
|
params[paramStartTimeMeridiem] = meridiem
|
||||||
}
|
}
|
||||||
|
|
||||||
if q.endTime != nil {
|
if q.endTime != nil {
|
||||||
hour, minute, meridiem := FormatTimeParameter(*q.endTime)
|
hour, minute, meridiem := FormatTimeParameter(*q.endTime)
|
||||||
params["select_end_hour"] = hour
|
params[paramEndTimeHour] = hour
|
||||||
params["select_end_min"] = minute
|
params[paramEndTimeMinute] = minute
|
||||||
params["select_end_ampm"] = meridiem
|
params[paramEndTimeMeridiem] = meridiem
|
||||||
}
|
}
|
||||||
|
|
||||||
if q.minCredits != nil {
|
if q.minCredits != nil {
|
||||||
params["txt_credithourlow"] = strconv.Itoa(*q.minCredits)
|
params[paramMinCredits] = strconv.Itoa(*q.minCredits)
|
||||||
}
|
}
|
||||||
|
|
||||||
if q.maxCredits != nil {
|
if q.maxCredits != nil {
|
||||||
params["txt_credithourhigh"] = strconv.Itoa(*q.maxCredits)
|
params[paramMaxCredits] = strconv.Itoa(*q.maxCredits)
|
||||||
}
|
}
|
||||||
|
|
||||||
if q.courseNumberRange != nil {
|
if q.courseNumberRange != nil {
|
||||||
params["txt_course_number_range"] = strconv.Itoa(q.courseNumberRange.Low)
|
params[paramCourseNumberLow] = strconv.Itoa(q.courseNumberRange.Low)
|
||||||
params["txt_course_number_range_to"] = strconv.Itoa(q.courseNumberRange.High)
|
params[paramCourseNumberHigh] = strconv.Itoa(q.courseNumberRange.High)
|
||||||
}
|
}
|
||||||
|
|
||||||
params["pageOffset"] = strconv.Itoa(q.offset)
|
params[paramOffset] = strconv.Itoa(q.offset)
|
||||||
params["pageMaxSize"] = strconv.Itoa(q.maxResults)
|
params[paramMaxResults] = strconv.Itoa(q.maxResults)
|
||||||
|
|
||||||
return params
|
return params
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user