pass models from dependencies

This commit is contained in:
counterweight 2025-03-07 16:24:51 +01:00
parent b1ff3b8d75
commit b5c27c9b26
Signed by: counterweight
GPG key ID: 883EDBAA726BD96C
2 changed files with 25 additions and 18 deletions

View file

@ -4,9 +4,14 @@ function buildDependencies() {
const dependencies = {}; const dependencies = {};
const errors = require('./errors'); const errors = require('./errors');
const constants = require('./constants'); const constants = require('./constants');
const models = require('./models');
const ServicesProvider = require('./services'); const ServicesProvider = require('./services');
const services = new ServicesProvider().provide(); const services = new ServicesProvider({
models,
constants,
errors,
}).provide();
dependencies.services = services; dependencies.services = services;
const MiddlewaresProvider = require('./middlewares'); const MiddlewaresProvider = require('./middlewares');

View file

@ -1,46 +1,48 @@
const models = require('../models');
const constants = require('../constants');
const errors = require('../errors');
class ServicesProvider { class ServicesProvider {
constructor() {} constructor({ models, constants, errors }) {
this.models = models;
this.constants = constants;
this.errors = errors;
}
provide() { provide() {
const NostrServiceProvider = require('../services/nostrService'); const NostrServiceProvider = require('../services/nostrService');
const nostrService = new NostrServiceProvider({ const nostrService = new NostrServiceProvider({
models: models, models: this.models,
constants: constants, constants: this.constants,
errors: errors, errors: this.errors,
}).provide(); }).provide();
const InvitesServiceProvider = require('../services/invitesService'); const InvitesServiceProvider = require('../services/invitesService');
const invitesService = new InvitesServiceProvider({ const invitesService = new InvitesServiceProvider({
models: models, models: this.models,
errors: errors, errors: this.errors,
nostrService: nostrService, nostrService: nostrService,
}).provide(); }).provide();
const LoginServiceProvider = require('../services/loginService'); const LoginServiceProvider = require('../services/loginService');
const loginService = new LoginServiceProvider({ const loginService = new LoginServiceProvider({
models, models: this.models,
errors, errors: this.errors,
nostrService, nostrService,
invitesService, invitesService,
}).provide(); }).provide();
const SessionServiceProvider = require('../services/sessionService'); const SessionServiceProvider = require('../services/sessionService');
const sessionService = new SessionServiceProvider({ const sessionService = new SessionServiceProvider({
models, models: this.models,
constants, constants: this.constants,
invitesService, invitesService,
}).provide(); }).provide();
const ProfileServiceProvider = require('../services/profileService'); const ProfileServiceProvider = require('../services/profileService');
const profileService = new ProfileServiceProvider({ models }).provide(); const profileService = new ProfileServiceProvider({
models: this.models,
}).provide();
const OfferServiceProvider = require('../services/offerService'); const OfferServiceProvider = require('../services/offerService');
const offerService = new OfferServiceProvider({ const offerService = new OfferServiceProvider({
models, models: this.models,
errors, errors: this.errors,
}).provide(); }).provide();
return { return {