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