secajs/src/services/index.js

60 lines
1.7 KiB
JavaScript

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;