// Code generated by gowebx, DO AVOID EDIT. package api import ( "github.com/gin-gonic/gin" "github.com/gowvp/gb28181/internal/conf" "github.com/gowvp/gb28181/internal/core/sms" "github.com/gowvp/gb28181/internal/core/sms/store/smsdb" "github.com/ixugo/goweb/pkg/orm" "github.com/ixugo/goweb/pkg/web" "gorm.io/gorm" ) type SmsAPI struct { smsCore sms.Core uc *Usecase } func NewSMSCore(db *gorm.DB, cfg *conf.Bootstrap) sms.Core { core := sms.NewCore(smsdb.NewDB(db).AutoMigrate(orm.EnabledAutoMigrate)) if err := core.Run(&cfg.Media, cfg.Server.HTTP.Port); err != nil { panic(err) } return core } func NewSmsAPI(core sms.Core) SmsAPI { return SmsAPI{smsCore: core} } func registerSms(g gin.IRouter, api SmsAPI, handler ...gin.HandlerFunc) { { group := g.Group("/media_servers", handler...) group.GET("", web.WarpH(api.findMediaServer)) group.PUT("/:id", web.WarpH(api.editMediaServer)) // group.GET("/:id", web.WarpH(api.getMediaServer)) // group.POST("", web.WarpH(api.addMediaServer)) // group.DELETE("/:id", web.WarpH(api.delMediaServer)) } } // >>> mediaServer >>>>>>>>>>>>>>>>>>>> func (a SmsAPI) findMediaServer(c *gin.Context, in *sms.FindMediaServerInput) (any, error) { items, total, err := a.smsCore.FindMediaServer(c.Request.Context(), in) return gin.H{"items": items, "total": total}, err } func (a SmsAPI) getMediaServer(c *gin.Context, _ *struct{}) (any, error) { mediaServerID := c.Param("id") return a.smsCore.GetMediaServer(c.Request.Context(), mediaServerID) } func (a SmsAPI) editMediaServer(c *gin.Context, in *sms.EditMediaServerInput) (any, error) { mediaServerID := c.Param("id") out, err := a.smsCore.EditMediaServer(c.Request.Context(), in, mediaServerID, a.uc.Conf.Server.HTTP.Port) if err != nil { return nil, err } if mediaServerID == "local" { a.uc.Conf.Media.IP = out.IP a.uc.Conf.Media.SDPIP = out.SDPIP a.uc.Conf.Media.Secret = out.Secret a.uc.Conf.Media.WebHookIP = out.HookIP if err := conf.WriteConfig(a.uc.Conf, a.uc.Conf.ConfigPath); err != nil { return nil, web.ErrServer.Msg(err.Error()) } } return out, err } func (a SmsAPI) addMediaServer(c *gin.Context, in *sms.AddMediaServerInput) (any, error) { return a.smsCore.AddMediaServer(c.Request.Context(), in) } func (a SmsAPI) delMediaServer(c *gin.Context, _ *struct{}) (any, error) { mediaServerID := c.Param("id") return a.smsCore.DelMediaServer(c.Request.Context(), mediaServerID) }