Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

index.js 1.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. const UserPlugin = require('./plugins/user')
  2. const MembershipPlugin = require('./plugins/membership')
  3. const SurveyPlugin = require('./plugins/survey')
  4. const ProfilePlugin = require('./plugins/profile')
  5. const NotificationPlugin = require('./plugins/notification')
  6. const HealthPlugin = require('./plugins/health')
  7. /**
  8. * A Hapi server instance
  9. * @typedef {Object} Server
  10. */
  11. /**
  12. * A plugin for Hapi
  13. * @typedef {Object} Plugin
  14. */
  15. exports.plugin = {
  16. name: 'main-app-plugin',
  17. /**
  18. * Main Hapi plugin that grabs all our
  19. * other plugins to create the API app
  20. * @param {Server} server
  21. * @param {Object} options
  22. */
  23. register: async (server, options) => {
  24. await server.register(UserPlugin, {
  25. routes: { prefix: '/user' },
  26. })
  27. await server.register(MembershipPlugin, {
  28. routes: { prefix: '/membership' },
  29. })
  30. await server.register(SurveyPlugin, {
  31. routes: {
  32. prefix: '/survey',
  33. },
  34. })
  35. await server.register(ProfilePlugin, {
  36. routes: { prefix: '/profile' },
  37. })
  38. await server.register(NotificationPlugin, {
  39. routes: { prefix: '/notification' },
  40. })
  41. await server.register(HealthPlugin, {
  42. routes: { prefix: '/health' },
  43. })
  44. },
  45. }