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 errors = require('./errors');
const constants = require('./constants');
const models = require('./models');
const ServicesProvider = require('./services');
const services = new ServicesProvider().provide();
const services = new ServicesProvider({
models,
constants,
errors,
}).provide();
dependencies.services = services;
const MiddlewaresProvider = require('./middlewares');

View file

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