feat:#11 fixed groupBy request for modules

This commit is contained in:
Elmar Kresse
2024-01-16 01:19:35 +01:00
parent 892a08936f
commit 1d0587ee3c
4 changed files with 77 additions and 32 deletions

View File

@@ -41,36 +41,44 @@ type Event struct {
models.BaseModel
}
func (m *Event) Equals(event Event) bool {
return m.Day == event.Day &&
m.Week == event.Week &&
m.Start == event.Start &&
m.End == event.End &&
m.Name == event.Name &&
m.Course == event.Course &&
m.Prof == event.Prof &&
m.Rooms == event.Rooms &&
m.EventType == event.EventType
func (e *Event) Equals(event Event) bool {
return e.Day == event.Day &&
e.Week == event.Week &&
e.Start == event.Start &&
e.End == event.End &&
e.Name == event.Name &&
e.Course == event.Course &&
e.Prof == event.Prof &&
e.Rooms == event.Rooms &&
e.EventType == event.EventType
}
func (m *Event) TableName() string {
func (e *Event) TableName() string {
return "events"
}
// SetCourse func to set the course and returns the event
func (m *Event) SetCourse(course string) Event {
m.Course = course
return *m
func (e *Event) SetCourse(course string) Event {
e.Course = course
return *e
}
// Creates an AnonymizedEventDTO from an Event hiding all sensitive data
func (m *Event) AnonymizeEvent() AnonymizedEventDTO {
func (e *Event) AnonymizeEvent() AnonymizedEventDTO {
return AnonymizedEventDTO{
Day: m.Day,
Week: m.Week,
Start: m.Start,
End: m.End,
Rooms: m.Rooms,
Free: strings.Contains(strings.ToLower(m.Name), "zur freien verfügung"),
Day: e.Day,
Week: e.Week,
Start: e.Start,
End: e.End,
Rooms: e.Rooms,
Free: strings.Contains(strings.ToLower(e.Name), "zur freien verfügung"),
}
}
func (e *Event) GetName() string {
return e.Name
}
func (e *Event) SetName(name string) {
e.Name = name
}

View File

@@ -8,3 +8,24 @@ type Module struct {
Semester string `json:"semester" db:"semester"`
Events Events `json:"events"`
}
func (m *Module) SetName(name string) {
m.Name = name
}
type ModuleDTO struct {
UUID string `json:"uuid" db:"uuid"`
Name string `json:"name" db:"Name"`
Prof string `json:"prof" db:"Prof"`
Course string `json:"course" db:"course"`
Semester string `json:"semester" db:"semester"`
EventType string `db:"EventType" json:"eventType"`
}
func (m *ModuleDTO) GetName() string {
return m.Name
}
func (m *ModuleDTO) SetName(name string) {
m.Name = name
}