UNPKG

authenzify

Version:

server to manage authentication authorization of users and more

48 lines (40 loc) 1.47 kB
import { initMongoDalServices } from './mongodb/index.js' import { UsersService } from '../../services/users.service.js' import { PermissionsService } from '../../services/permissions.service.js' import { UsersManagement } from '../business-logic/users-management.js' import { VerificationsService } from '../../services/verifications.service.js' import { addEmailsNotificationsListeners } from '../factories/email-notifications/add-emails-notifications-listeners.js' const SUPPORTED_STORAGES = { mongodb: true, } export const factory = async (configService) => { if (!SUPPORTED_STORAGES[configService.storage.type]) { throw new Error(`${configService.storage.type} storage not supported yet`) } const { iDalUsersService, iDalPermissionsService, iDalVerificationsService, iDalPermissionsGroupsService, } = await initMongoDalServices({ config: configService.storage, }) const Users = new UsersService(iDalUsersService) const Verifications = new VerificationsService(iDalVerificationsService) const Permissions = new PermissionsService( iDalPermissionsService, iDalPermissionsGroupsService, ) //const Permissions = new PermissionsService(configService,) const services = { Users, Permissions, Verifications, } const usersManagement = new UsersManagement({ services, configService, }) await addEmailsNotificationsListeners({ configService, usersManagement }) return usersManagement }