| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- 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)
- },
- }
|