fix: pass config to service loader
This commit is contained in:
@@ -49,7 +49,7 @@ export default async ({ directory: rootDirectory, expressApp }) => {
|
||||
await modelsLoader({ container })
|
||||
Logger.info("Models initialized")
|
||||
|
||||
await servicesLoader({ container })
|
||||
await servicesLoader({ container, configModule })
|
||||
Logger.info("Services initialized")
|
||||
|
||||
await subscribersLoader({ container })
|
||||
|
||||
@@ -6,7 +6,7 @@ import { Lifetime, asFunction } from "awilix"
|
||||
/**
|
||||
* Registers all services in the services directory
|
||||
*/
|
||||
export default ({ container }) => {
|
||||
export default ({ container, configModule }) => {
|
||||
const isTest = process.env.NODE_ENV === "test"
|
||||
|
||||
const corePath = isTest ? "../services/__mocks__/*.js" : "../services/*.js"
|
||||
@@ -17,7 +17,9 @@ export default ({ container }) => {
|
||||
const loaded = require(fn).default
|
||||
const name = formatRegistrationName(fn)
|
||||
container.register({
|
||||
[name]: asFunction(cradle => new loaded(cradle)).singleton(),
|
||||
[name]: asFunction(
|
||||
cradle => new loaded(cradle, configModule)
|
||||
).singleton(),
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
import Bull from "bull"
|
||||
import Redis from "ioredis"
|
||||
import config from "../config"
|
||||
|
||||
/**
|
||||
* Can keep track of multiple subscribers to different events and run the
|
||||
* subscribers when events happen. Events will run asynchronously.
|
||||
* @interface
|
||||
*/
|
||||
class EventBusService {
|
||||
constructor({ logger, redisClient, redisSubscriber }) {
|
||||
constructor({ logger, redisClient, redisSubscriber }, config) {
|
||||
/** @private {logger} */
|
||||
this.logger_ = logger
|
||||
|
||||
@@ -18,7 +18,10 @@ class EventBusService {
|
||||
this.cronHandlers_ = {}
|
||||
|
||||
/** @private {BullQueue} used for cron jobs */
|
||||
this.cronQueue_ = new Bull(`cron-jobs:queue`, config.redisURI)
|
||||
this.cronQueue_ = new Bull(
|
||||
`cron-jobs:queue`,
|
||||
config.projectConfig.redis_url
|
||||
)
|
||||
|
||||
const opts = {
|
||||
createClient: type => {
|
||||
@@ -28,7 +31,7 @@ class EventBusService {
|
||||
case "subscriber":
|
||||
return redisSubscriber
|
||||
default:
|
||||
return new Redis(config.redisURI)
|
||||
return new Redis(config.projectConfig.redis_url)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user