mirror of
https://github.com/hay-kot/homebox.git
synced 2024-11-16 21:58:40 +00:00
47 lines
1 KiB
Go
47 lines
1 KiB
Go
|
package main
|
||
|
|
||
|
import (
|
||
|
"time"
|
||
|
|
||
|
"github.com/hay-kot/git-web-template/backend/ent"
|
||
|
"github.com/hay-kot/git-web-template/backend/internal/config"
|
||
|
"github.com/hay-kot/git-web-template/backend/internal/repo"
|
||
|
"github.com/hay-kot/git-web-template/backend/internal/services"
|
||
|
"github.com/hay-kot/git-web-template/backend/pkgs/logger"
|
||
|
"github.com/hay-kot/git-web-template/backend/pkgs/mailer"
|
||
|
"github.com/hay-kot/git-web-template/backend/pkgs/server"
|
||
|
)
|
||
|
|
||
|
type app struct {
|
||
|
conf *config.Config
|
||
|
logger *logger.Logger
|
||
|
mailer mailer.Mailer
|
||
|
db *ent.Client
|
||
|
server *server.Server
|
||
|
repos *repo.AllRepos
|
||
|
services *services.AllServices
|
||
|
}
|
||
|
|
||
|
func NewApp(conf *config.Config) *app {
|
||
|
s := &app{
|
||
|
conf: conf,
|
||
|
}
|
||
|
|
||
|
s.mailer = mailer.Mailer{
|
||
|
Host: s.conf.Mailer.Host,
|
||
|
Port: s.conf.Mailer.Port,
|
||
|
Username: s.conf.Mailer.Username,
|
||
|
Password: s.conf.Mailer.Password,
|
||
|
From: s.conf.Mailer.From,
|
||
|
}
|
||
|
|
||
|
return s
|
||
|
}
|
||
|
|
||
|
func (a *app) StartReoccurringTasks(t time.Duration, fn func()) {
|
||
|
for {
|
||
|
a.server.Background(fn)
|
||
|
time.Sleep(t)
|
||
|
}
|
||
|
}
|