UserMembershipRouter.coffee 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. UserMembershipAuthorization = require './UserMembershipAuthorization'
  2. UserMembershipController = require './UserMembershipController'
  3. SubscriptionGroupController = require '../Subscription/SubscriptionGroupController'
  4. TeamInvitesController = require '../Subscription/TeamInvitesController'
  5. AuthorizationMiddlewear = require('../Authorization/AuthorizationMiddlewear')
  6. module.exports =
  7. apply: (webRouter) ->
  8. # group members routes
  9. webRouter.get '/manage/groups/:id/members',
  10. UserMembershipAuthorization.requireGroupAccess,
  11. UserMembershipController.index
  12. webRouter.post '/manage/groups/:id/invites',
  13. UserMembershipAuthorization.requireGroupAccess,
  14. TeamInvitesController.createInvite
  15. webRouter.delete '/manage/groups/:id/user/:user_id',
  16. UserMembershipAuthorization.requireGroupAccess,
  17. SubscriptionGroupController.removeUserFromGroup
  18. webRouter.delete '/manage/groups/:id/invites/:email',
  19. UserMembershipAuthorization.requireGroupAccess,
  20. TeamInvitesController.revokeInvite
  21. webRouter.get '/manage/groups/:id/members/export',
  22. UserMembershipAuthorization.requireGroupAccess,
  23. UserMembershipController.exportCsv
  24. # group managers routes
  25. webRouter.get "/manage/groups/:id/managers",
  26. UserMembershipAuthorization.requireGroupManagersAccess,
  27. UserMembershipController.index
  28. webRouter.post "/manage/groups/:id/managers",
  29. UserMembershipAuthorization.requireGroupManagersAccess,
  30. UserMembershipController.add
  31. webRouter.delete "/manage/groups/:id/managers/:userId",
  32. UserMembershipAuthorization.requireGroupManagersAccess,
  33. UserMembershipController.remove
  34. # institution members routes
  35. webRouter.get "/manage/institutions/:id/managers",
  36. UserMembershipAuthorization.requireInstitutionAccess,
  37. UserMembershipController.index
  38. webRouter.post "/manage/institutions/:id/managers",
  39. UserMembershipAuthorization.requireInstitutionAccess,
  40. UserMembershipController.add
  41. webRouter.delete "/manage/institutions/:id/managers/:userId",
  42. UserMembershipAuthorization.requireInstitutionAccess,
  43. UserMembershipController.remove
  44. # publisher members routes
  45. webRouter.get "/manage/publishers/:id/managers",
  46. UserMembershipAuthorization.requirePublisherAccess,
  47. UserMembershipController.index
  48. webRouter.post "/manage/publishers/:id/managers",
  49. UserMembershipAuthorization.requirePublisherAccess,
  50. UserMembershipController.add
  51. webRouter.delete "/manage/publishers/:id/managers/:userId",
  52. UserMembershipAuthorization.requirePublisherAccess,
  53. UserMembershipController.remove
  54. # create new entitites
  55. webRouter.get "/entities/:name/create/:id",
  56. AuthorizationMiddlewear.ensureUserIsSiteAdmin,
  57. UserMembershipController.new
  58. webRouter.post "/entities/:name/create/:id",
  59. AuthorizationMiddlewear.ensureUserIsSiteAdmin,
  60. UserMembershipController.create