Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

user.js 1.6KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. const Objection = require('objection')
  2. const Schmervice = require('@hapipal/schmervice')
  3. const Schwifty = require('@hapipal/schwifty')
  4. const Jwt = require('@hapi/jwt')
  5. const JwtStrategy = require('../auth/strategies/jwt')
  6. const UserModel = require('../models/user')
  7. const UserCurrentRoute = require('../routes/user/current')
  8. const UserProfileCreateRoute = require('../routes/user/create-profile')
  9. const UserProfilesListRoute = require('../routes/user/list-profiles')
  10. const UserLoginRoute = require('../routes/user/login')
  11. const UserService = require('../services/user')
  12. const DisplayService = require('../services/display')
  13. module.exports = {
  14. name: 'user-plugin',
  15. version: '1.0.0',
  16. register: async (server, options) => {
  17. await server.register(Jwt)
  18. await server.register(Schwifty)
  19. await server.registerModel(UserModel)
  20. const mainApp = server.registrations['main-app-plugin']
  21. const jwtOptions = JwtStrategy(mainApp.options)
  22. server.auth.strategy('default_jwt', 'jwt', jwtOptions)
  23. server.auth.default('default_jwt')
  24. // Bind to global context
  25. // So we can use Objection transactions
  26. server.bind({
  27. transaction: fn => Objection.transaction(server.knex(), fn),
  28. })
  29. await server.register(Schmervice)
  30. server.registerService(UserService)
  31. server.registerService(DisplayService)
  32. await server.route(UserCurrentRoute)
  33. await server.route(UserLoginRoute)
  34. await server.route(UserProfileCreateRoute)
  35. await server.route(UserProfilesListRoute)
  36. },
  37. }