| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- const Objection = require('objection');
- const Schmervice = require('@hapipal/schmervice');
- const Schwifty = require('@hapipal/schwifty');
- const Jwt = require('@hapi/jwt');
- const JwtStrategy = require('../auth/strategies/jwt')
-
- const UserModel = require('../models/user');
-
- const UserCurrentRoute = require('../routes/user/current');
- const UserLoginRoute = require('../routes/user/login');
-
- const MembershipService = require('../services/membership');
- const UserService = require('../services/user');
- const DisplayService = require('../services/display');
-
- module.exports = {
- name: 'user-plugin',
- version: '1.0.0',
- register: async (server, options) => {
- await server.register(Jwt)
- await server.register(Schwifty)
- await server.registerModel(UserModel)
-
- const mainApp = server.registrations['main-app-plugin']
- const jwtOptions = JwtStrategy(mainApp.options)
-
- server.auth.strategy('default_jwt', 'jwt', jwtOptions)
- server.auth.default('default_jwt')
-
- // Bind to global context
- // So we can use Objection transactions
- server.bind({
- transaction: (fn) => Objection.transaction(server.knex(), fn)
- })
-
- await server.register(Schmervice)
- server.registerService(UserService)
- server.registerService(DisplayService)
-
- await server.route(UserCurrentRoute)
- await server.route(UserLoginRoute)
- }
- }
|