INNER CODE UNIT · Go
NewReportHandler
sy-vendor/Gobi · internal/handlers/report_handlers.go:27
func NewReportHandler(db *gorm.DB, serviceFactory *services.ServiceFactory) *ReportHandler {
return &ReportHandler{
DB: db,
ReportService: serviceFactory.CreateReportService(),
ReportScheduleService: services.NewReportScheduleService(db),
ReportGenerationService: serviceFactory.CreateReportGenerationService(),
}
}
// CreateReport creates a new report
func (h *ReportHandler) CreateReport(c *gin.Context) {
var report models.Report
if err := c.ShouldBindJSON(&report); err != nil {
utils.Logger.WithFields(map[string]interface{}{
"action": "create_report",
"error": err.Error(),
}).Warn("Invalid report data")
c.Error(errors.NewBadRequestError("Invalid report data", err))