UNPKG

@xrengine/server-core

Version:

Shared components for XREngine server

47 lines (40 loc) 1.19 kB
// Initializes the `login` service on path `/login` import { Application } from '../../../declarations' import config from '../../appconfig' import logger from '../../ServerLogger' import { Login } from './login.class' import loginDocs from './login.docs' import hooks from './login.hooks' // Add this service to the service type index declare module '@xrengine/common/declarations' { interface ServiceTypes { login: Login } } function redirect(req, res, next): any { try { if (res.data.error) { return res.redirect(`${config.client.url}/?error=${res.data.error as string}`) } return res.redirect(`${config.client.url}/auth/magiclink?type=login&token=${res.data.token as string}`) } catch (err) { logger.error(err) throw err } } export default (app: Application) => { const options = { paginate: app.get('paginate') } /** * Initialize our service with any options it requires and docs */ const event = new Login(options, app) event.docs = loginDocs app.use('login', event, redirect) /** * Get our initialized service so that we can register hooks */ const service = app.service('login') service.hooks(hooks) }