Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 0 additions & 24 deletions controller/drive_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,8 @@ import (
"sentinel/config"
"sentinel/service"
"sentinel/utils"
"strconv"
"sync"

"github.com/gin-gonic/gin"
cron "github.com/robfig/cron/v3"
)

func GetDriveStatusForUser(c *gin.Context) {
Expand Down Expand Up @@ -72,24 +69,3 @@ func RemoveUserFromDrive(c *gin.Context) {
}
c.JSON(http.StatusOK, gin.H{"message": "User removed from drive"})
}

func RegisterDriveCronJob() {
c := cron.New()
entryID, err := c.AddFunc(config.DriveCron, func() {
_, _ = service.Discord.ChannelMessageSend(config.DiscordLogChannel, ":alarm_clock: Starting google drive CRON Job")
utils.SugarLogger.Infoln("Starting google drive CRON Job...")
var wg sync.WaitGroup
wg.Add(2)
go service.PopulateMemberDirectorySheet()
go service.CleanDriveMembers()
wg.Wait()
utils.SugarLogger.Infoln("Finished google drive CRON Job!")
_, _ = service.Discord.ChannelMessageSend(config.DiscordLogChannel, ":white_check_mark: Finished google drive job!")
})
if err != nil {
utils.SugarLogger.Errorln("Error registering CRON Job: " + err.Error())
return
}
c.Start()
utils.SugarLogger.Infoln("Registered CRON Job: " + strconv.Itoa(int(entryID)) + " scheduled with cron expression: " + config.DriveCron)
}
21 changes: 0 additions & 21 deletions controller/github_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,10 @@ package controller

import (
"net/http"
"sentinel/config"
"sentinel/model"
"sentinel/service"
"sentinel/utils"
"strconv"

"github.com/gin-gonic/gin"
cron "github.com/robfig/cron/v3"
)

func GetGithubStatusForUser(c *gin.Context) {
Expand Down Expand Up @@ -56,20 +52,3 @@ func AddUserToGithub(c *gin.Context) {
}
c.JSON(http.StatusOK, gin.H{"message": "User added to github"})
}

func RegisteGithubCronJob() {
c := cron.New()
entryID, err := c.AddFunc(config.GithubCron, func() {
_, _ = service.Discord.ChannelMessageSend(config.DiscordLogChannel, ":alarm_clock: Starting github CRON Job")
utils.SugarLogger.Infoln("Starting github CRON Job...")
service.CleanGithubMembers()
utils.SugarLogger.Infoln("Finished github CRON Job!")
_, _ = service.Discord.ChannelMessageSend(config.DiscordLogChannel, ":white_check_mark: Finished github job!")
})
if err != nil {
utils.SugarLogger.Errorln("Error registering CRON Job: " + err.Error())
return
}
c.Start()
utils.SugarLogger.Infoln("Registered CRON Job: " + strconv.Itoa(int(entryID)) + " scheduled with cron expression: " + config.GithubCron)
}
36 changes: 36 additions & 0 deletions jobs/drive.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
package jobs

import (
"sentinel/config"
"sentinel/service"
"sentinel/utils"
"strconv"
"sync"

cron "github.com/robfig/cron/v3"
)

func RegisterDriveCronJob() {
if config.Env != "PROD" {
utils.SugarLogger.Infoln("Drive CRON Job not registered because environment is not PROD")
return
}
c := cron.New()
entryID, err := c.AddFunc(config.DriveCron, func() {
_, _ = service.Discord.ChannelMessageSend(config.DiscordLogChannel, ":alarm_clock: Starting google drive CRON Job")
utils.SugarLogger.Infoln("Starting google drive CRON Job...")
var wg sync.WaitGroup
wg.Add(2)
go service.PopulateMemberDirectorySheet()
go service.CleanDriveMembers()
wg.Wait()
utils.SugarLogger.Infoln("Finished google drive CRON Job!")
_, _ = service.Discord.ChannelMessageSend(config.DiscordLogChannel, ":white_check_mark: Finished google drive job!")
})
if err != nil {
utils.SugarLogger.Errorln("Error registering CRON Job: " + err.Error())
return
}
c.Start()
utils.SugarLogger.Infoln("Registered CRON Job: " + strconv.Itoa(int(entryID)) + " scheduled with cron expression: " + config.DriveCron)
}
31 changes: 31 additions & 0 deletions jobs/github.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package jobs

import (
"sentinel/config"
"sentinel/service"
"sentinel/utils"
"strconv"

cron "github.com/robfig/cron/v3"
)

func RegisteGithubCronJob() {
if config.Env != "PROD" {
utils.SugarLogger.Infoln("Github CRON Job not registered because environment is not PROD")
return
}
c := cron.New()
entryID, err := c.AddFunc(config.GithubCron, func() {
_, _ = service.Discord.ChannelMessageSend(config.DiscordLogChannel, ":alarm_clock: Starting github CRON Job")
utils.SugarLogger.Infoln("Starting github CRON Job...")
service.CleanGithubMembers()
utils.SugarLogger.Infoln("Finished github CRON Job!")
_, _ = service.Discord.ChannelMessageSend(config.DiscordLogChannel, ":white_check_mark: Finished github job!")
})
if err != nil {
utils.SugarLogger.Errorln("Error registering CRON Job: " + err.Error())
return
}
c.Start()
utils.SugarLogger.Infoln("Registered CRON Job: " + strconv.Itoa(int(entryID)) + " scheduled with cron expression: " + config.GithubCron)
}
6 changes: 5 additions & 1 deletion controller/wiki_controller.go → jobs/wiki.go
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package controller
package jobs

import (
"sentinel/config"
Expand All @@ -10,6 +10,10 @@ import (
)

func RegisterWikiCronJob() {
if config.Env != "PROD" {
utils.SugarLogger.Infoln("Wiki CRON Job not registered because environment is not PROD")
return
}
c := cron.New()
entryID, err := c.AddFunc(config.WikiCron, func() {
_, _ = service.Discord.ChannelMessageSend(config.DiscordLogChannel, ":alarm_clock: Starting wiki CRON Job")
Expand Down
7 changes: 4 additions & 3 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import (
"sentinel/config"
"sentinel/controller"
"sentinel/database"
"sentinel/jobs"
"sentinel/service"
"sentinel/utils"
)
Expand All @@ -23,9 +24,9 @@ func main() {
service.InitializeSubteams()
go service.SyncRolesForAllUsers()
commands.InitializeDiscordBot()
controller.RegisterDriveCronJob()
controller.RegisteGithubCronJob()
controller.RegisterWikiCronJob()
jobs.RegisterDriveCronJob()
jobs.RegisteGithubCronJob()
jobs.RegisterWikiCronJob()

router := controller.SetupRouter()
controller.InitializeRoutes(router)
Expand Down