This commit is contained in:
Fran Jurmanović
2024-09-30 22:00:15 +02:00
parent 518ce27d7c
commit 14a689ad76
19 changed files with 968 additions and 0 deletions

55
local/job/concert.go Normal file
View File

@@ -0,0 +1,55 @@
package job
import (
"context"
"fmt"
"os"
"rockhu-bot/local/service"
"github.com/bwmarrin/discordgo"
"github.com/robfig/cron/v3"
)
type ConcertJob struct {
service *service.ConcertService
cron *cron.Cron
discord *discordgo.Session
}
// NewConcertJob
// Initializes ApiController.
//
// Args:
// *services.ConcertService: Concert service
// *Fiber.RouterGroup: Fiber Router Group
// Returns:
// *ConcertJob: Controller for "api" interactions
func NewConcertJob(as *service.ConcertService, cron *cron.Cron, dsc *discordgo.Session) *ConcertJob {
ac := &ConcertJob{
service: as,
cron: cron,
discord: dsc,
}
cron.AddFunc(os.Getenv("CONCERT_CRON"), ac.checkAndUpdate)
return ac
}
// checkAndUpdate returns Concert
//
// @Summary Return Concert
// @Description Return Concert
// @Tags Concert
// @Success 200 {array} string
// @Router /v1/Concert [get]
func (ac *ConcertJob) checkAndUpdate() {
fmt.Print("Started CheckAndUpdate")
ctx := context.Background()
newConcerts := ac.service.CheckAndUpdateConcerts(ctx)
fmt.Print("Finished CheckAndUpdate")
if len(newConcerts) > 0 {
ac.
}
}