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.

membership.js 1.2KB

1234567891011121314151617181920212223242526272829303132333435
  1. const Objection = require('objection')
  2. const Schmervice = require('@hapipal/schmervice')
  3. const GroupingModel = require('../models/grouping')
  4. const MembershipModel = require('../models/membership')
  5. const MembershipService = require('../services/membership')
  6. const MembershipJoinRoute = require('../routes/membership/join')
  7. const MembershipLeaveRoute = require('../routes/membership/leave')
  8. const MembershipActiveRoute = require('../routes/membership/active')
  9. const MembershipRevealRoute = require('../routes/membership/reveal')
  10. module.exports = {
  11. name: 'membership-plugin',
  12. version: '1.0.0',
  13. register: async (server, options) => {
  14. await server.registerModel(GroupingModel)
  15. await server.registerModel(MembershipModel)
  16. // Bind to global context
  17. // So we can use Objection transactions
  18. server.bind({
  19. transaction: fn => Objection.transaction(server.knex(), fn),
  20. })
  21. await server.register(Schmervice)
  22. server.registerService(MembershipService)
  23. await server.route(MembershipJoinRoute)
  24. await server.route(MembershipLeaveRoute)
  25. await server.route(MembershipActiveRoute)
  26. await server.route(MembershipRevealRoute)
  27. },
  28. }