Selaa lähdekoodia

Refactor init functions for clearer dependency visibility

Kailash Nadh 5 vuotta sitten
vanhempi
commit
8771dc28cb
2 muutettua tiedostoa jossa 15 lisäystä ja 15 poistoa
  1. 13 13
      init.go
  2. 2 2
      main.go

+ 13 - 13
init.go

@@ -157,28 +157,28 @@ func initConstants() *constants {
 }
 
 // initCampaignManager initializes the campaign manager.
-func initCampaignManager(app *App) *manager.Manager {
+func initCampaignManager(q *Queries, cs *constants, app *App) *manager.Manager {
 	campNotifCB := func(subject string, data interface{}) error {
-		return app.sendNotification(app.constants.NotifyEmails, subject, notifTplCampaign, data)
+		return app.sendNotification(cs.NotifyEmails, subject, notifTplCampaign, data)
 	}
 	return manager.New(manager.Config{
 		Concurrency:   ko.Int("app.concurrency"),
 		MaxSendErrors: ko.Int("app.max_send_errors"),
-		FromEmail:     app.constants.FromEmail,
-		UnsubURL:      app.constants.UnsubURL,
-		OptinURL:      app.constants.OptinURL,
-		LinkTrackURL:  app.constants.LinkTrackURL,
-		ViewTrackURL:  app.constants.ViewTrackURL,
-	}, newManagerDB(app.queries), campNotifCB, lo)
+		FromEmail:     cs.FromEmail,
+		UnsubURL:      cs.UnsubURL,
+		OptinURL:      cs.OptinURL,
+		LinkTrackURL:  cs.LinkTrackURL,
+		ViewTrackURL:  cs.ViewTrackURL,
+	}, newManagerDB(q), campNotifCB, lo)
 
 }
 
 // initImporter initializes the bulk subscriber importer.
-func initImporter(app *App) *subimporter.Importer {
-	return subimporter.New(app.queries.UpsertSubscriber.Stmt,
-		app.queries.UpsertBlacklistSubscriber.Stmt,
-		app.queries.UpdateListsDate.Stmt,
-		app.db.DB,
+func initImporter(q *Queries, db *sqlx.DB, app *App) *subimporter.Importer {
+	return subimporter.New(q.UpsertSubscriber.Stmt,
+		q.UpsertBlacklistSubscriber.Stmt,
+		q.UpdateListsDate.Stmt,
+		db.DB,
 		func(subject string, data interface{}) error {
 			app.sendNotification(app.constants.NotifyEmails, subject, notifTplImport, data)
 			return nil

+ 2 - 2
main.go

@@ -133,8 +133,8 @@ func main() {
 		log:       lo,
 	}
 	_, app.queries = initQueries(queryFilePath, db, fs, true)
-	app.manager = initCampaignManager(app)
-	app.importer = initImporter(app)
+	app.manager = initCampaignManager(app.queries, app.constants, app)
+	app.importer = initImporter(app.queries, db, app)
 	app.messenger = initMessengers(app.manager)
 	app.notifTpls = initNotifTemplates("/email-templates/*.html", fs, app.constants)