60 lines
1.7 KiB
JavaScript
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;
|