summaryrefslogtreecommitdiff
path: root/courses.go
diff options
context:
space:
mode:
Diffstat (limited to 'courses.go')
-rw-r--r--courses.go24
1 files changed, 19 insertions, 5 deletions
diff --git a/courses.go b/courses.go
index 312fb33..ca1cfb4 100644
--- a/courses.go
+++ b/courses.go
@@ -50,6 +50,12 @@ const (
culture courseTypeT = "Culture"
)
+var courseTypes = map[courseTypeT]bool{
+ sport: true,
+ enrichment: true,
+ culture: true,
+}
+
const (
mw1 courseGroupT = "MW1"
mw2 courseGroupT = "MW2"
@@ -59,19 +65,27 @@ const (
tt3 courseGroupT = "TT3"
)
-/* TODO: This may be inefficient, perhaps use a hash table */
+var courseGroups = map[courseGroupT]bool{
+ mw1: true,
+ mw2: true,
+ mw3: true,
+ tt1: true,
+ tt2: true,
+ tt3: true,
+}
func checkCourseType(ct courseTypeT) bool {
- return ct == sport || ct == enrichment || ct == culture
+ return courseTypes[ct]
}
func checkCourseGroup(cg courseGroupT) bool {
- return cg == mw1 || cg == mw2 || cg == mw3 || cg == tt1 || cg == tt2 || cg == tt3
+ return courseGroups[cg]
}
var (
- errInvalidCourseType = errors.New("invalid course type")
- errInvalidCourseGroup = errors.New("invalid course group")
+ errInvalidCourseType = errors.New("invalid course type")
+ errInvalidCourseGroup = errors.New("invalid course group")
+ errMultipleChoicesInOneGroup = errors.New("multiple choices per group per user")
)
/*