1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- package api
- import (
- "net/http"
- "gogs.carducci-dante.gov.it/karmen/core/orm"
- )
- func dashboardHandler() http.Handler {
- fn := func(w http.ResponseWriter, r *http.Request) {
- var (
- teachers []orm.Teacher
- classes []orm.Class
- subjects []orm.Subject
- activities []orm.Activity
- data struct {
- NumOfTeachers int
- NumOfSubjects int
- NumOfClasses int
- NumOfActivities int
- Issues []orm.Issue
- }
- )
- if err := orm.DB().Preload("Teacher").Find(&data.Issues).Error; err != nil {
- panic(err)
- }
- if err := orm.DB().Find(&teachers).Error; err != nil {
- panic(err)
- }
- if err := orm.DB().Find(&classes).Error; err != nil {
- panic(err)
- }
- if err := orm.DB().Find(&activities).Error; err != nil {
- panic(err)
- }
- if err := orm.DB().Find(&subjects).Error; err != nil {
- panic(err)
- }
- data.NumOfTeachers = len(teachers)
- data.NumOfActivities = len(activities)
- data.NumOfSubjects = len(subjects)
- data.NumOfClasses = len(classes)
- }
- return http.HandlerFunc(fn)
- }
|