nezha/cmd/dashboard/controller/member_page.go

79 lines
2.2 KiB
Go
Raw Normal View History

2019-12-08 03:59:58 -05:00
package controller
import (
2019-12-08 10:18:29 -05:00
"net/http"
2019-12-08 03:59:58 -05:00
"github.com/gin-gonic/gin"
"github.com/naiba/nezha/model"
2022-01-08 22:54:14 -05:00
"github.com/naiba/nezha/service/singleton"
2019-12-08 03:59:58 -05:00
)
type memberPage struct {
r *gin.Engine
}
func (mp *memberPage) serve() {
mr := mp.r.Group("")
// mr.Use(mygin.Authorize(mygin.AuthorizeOption{
// MemberOnly: true,
// IsPage: true,
// // Msg: singleton.Localizer.MustLocalize(&i18n.LocalizeConfig{MessageID: "YouAreNotAuthorized"}),
// // Btn: singleton.Localizer.MustLocalize(&i18n.LocalizeConfig{MessageID: "Login"}),
// Redirect: "/login",
// }))
mr.GET("/cron", mp.cron)
mr.GET("/notification", mp.notification)
mr.GET("/ddns", mp.ddns)
2024-07-14 07:41:50 -04:00
mr.GET("/nat", mp.nat)
2020-12-09 06:05:40 -05:00
mr.GET("/setting", mp.setting)
2019-12-08 10:18:29 -05:00
}
func (mp *memberPage) cron(c *gin.Context) {
var crons []model.Cron
2022-01-08 22:54:14 -05:00
singleton.DB.Find(&crons)
c.HTML(http.StatusOK, "dashboard-", gin.H{
2024-10-19 12:09:16 -04:00
// "Title": singleton.Localizer.MustLocalize(&i18n.LocalizeConfig{MessageID: "ScheduledTasks"}),
"Crons": crons,
})
}
func (mp *memberPage) notification(c *gin.Context) {
var nf []model.Notification
2022-01-08 22:54:14 -05:00
singleton.DB.Find(&nf)
var ar []model.AlertRule
2022-01-08 22:54:14 -05:00
singleton.DB.Find(&ar)
c.HTML(http.StatusOK, "dashboard-", gin.H{
2024-10-19 12:09:16 -04:00
// "Title": singleton.Localizer.MustLocalize(&i18n.LocalizeConfig{MessageID: "Notification"}),
"Notifications": nf,
"AlertRules": ar,
})
}
func (mp *memberPage) ddns(c *gin.Context) {
var data []model.DDNSProfile
singleton.DB.Find(&data)
c.HTML(http.StatusOK, "dashboard-", gin.H{
2024-10-19 12:09:16 -04:00
// "Title": singleton.Localizer.MustLocalize(&i18n.LocalizeConfig{MessageID: "DDNS"}),
"DDNS": data,
//"ProviderMap": model.ProviderMap,
//"ProviderList": model.ProviderList,
})
}
2024-07-14 07:41:50 -04:00
func (mp *memberPage) nat(c *gin.Context) {
var data []model.NAT
singleton.DB.Find(&data)
c.HTML(http.StatusOK, "dashboard-", gin.H{
2024-10-19 12:09:16 -04:00
// "Title": singleton.Localizer.MustLocalize(&i18n.LocalizeConfig{MessageID: "NAT"}),
"NAT": data,
})
2024-07-14 07:41:50 -04:00
}
2020-12-09 06:05:40 -05:00
func (mp *memberPage) setting(c *gin.Context) {
c.HTML(http.StatusOK, "dashboard-", gin.H{
2024-10-19 12:09:16 -04:00
// "Title": singleton.Localizer.MustLocalize(&i18n.LocalizeConfig{MessageID: "Settings"}),
2024-10-27 01:10:07 -04:00
//"Languages": model.Languages,
//"DashboardThemes": model.DashboardThemes,
})
2020-12-09 06:05:40 -05:00
}