11const router = require ( 'express-promise-router' ) ( )
22const expressPino = require ( 'express-pino-logger' )
3+ const { path } = require ( 'ramda' )
34
45const { getClients, createClient, deleteClient } = require ( './client' )
56const { login, loginAccept, logout } = require ( './login' )
@@ -12,6 +13,7 @@ const {
1213 createTeam,
1314 destroyTeam,
1415 getTeam,
16+ getTeamMembers,
1517 joinTeam,
1618 listTeams,
1719 listMyTeams,
@@ -33,7 +35,8 @@ const {
3335 createOrgTeam,
3436 getOrgTeams,
3537 getOrgMembers,
36- listMyOrgs
38+ listMyOrgs,
39+ getOrgStaff
3740} = require ( './organizations' )
3841
3942const {
@@ -49,8 +52,8 @@ const {
4952 getTeamProfile
5053} = require ( './profiles' )
5154
52- const { getOrgStaff } = require ( '../lib/organization' )
5355const { getUserManageToken } = require ( '../lib/profile' )
56+ const organization = require ( '../lib/organization' )
5457
5558/**
5659 * The manageRouter handles all routes related to the first party
@@ -71,7 +74,7 @@ function manageRouter (nextApp) {
7174 * Home page
7275 */
7376 router . get ( '/' , ( req , res ) => {
74- return nextApp . render ( req , res , '/' , { user : req . session . user } )
77+ return nextApp . render ( req , res , '/' , { user : path ( [ ' session' , ' user' ] , req ) } )
7578 } )
7679
7780 /**
@@ -95,6 +98,7 @@ function manageRouter (nextApp) {
9598 router . get ( '/api/my/teams' , can ( 'public:authenticated' ) , listMyTeams )
9699 router . post ( '/api/teams' , can ( 'public:authenticated' ) , createTeam )
97100 router . get ( '/api/teams/:id' , can ( 'team:view' ) , getTeam )
101+ router . get ( '/api/teams/:id/members' , can ( 'team:view-members' ) , getTeamMembers )
98102 router . put ( '/api/teams/:id' , can ( 'team:edit' ) , updateTeam )
99103 router . delete ( '/api/teams/:id' , can ( 'team:edit' ) , destroyTeam )
100104 router . put ( '/api/teams/add/:id/:osmId' , can ( 'team:edit' ) , addMember )
@@ -109,10 +113,11 @@ function manageRouter (nextApp) {
109113 */
110114 router . get ( '/api/my/organizations' , can ( 'public:authenticated' ) , listMyOrgs )
111115 router . post ( '/api/organizations' , can ( 'public:authenticated' ) , createOrg )
112- router . get ( '/api/organizations/:id' , can ( 'public:authenticated' ) , getOrg ) // TODO handle private organizations
116+ router . get ( '/api/organizations/:id' , can ( 'public:authenticated' ) , getOrg )
113117 router . put ( '/api/organizations/:id' , can ( 'organization:edit' ) , updateOrg )
114118 router . delete ( '/api/organizations/:id' , can ( 'organization:edit' ) , destroyOrg )
115- router . get ( '/api/organizations/:id/members' , can ( 'public:authenticated' ) , getOrgMembers )
119+ router . get ( '/api/organizations/:id/staff' , can ( 'organization:view-members' ) , getOrgStaff )
120+ router . get ( '/api/organizations/:id/members' , can ( 'organization:view-members' ) , getOrgMembers )
116121
117122 router . put ( '/api/organizations/:id/addOwner/:osmId' , can ( 'organization:edit' ) , addOwner )
118123 router . put ( '/api/organizations/:id/removeOwner/:osmId' , can ( 'organization:edit' ) , removeOwner )
@@ -166,7 +171,7 @@ function manageRouter (nextApp) {
166171 } )
167172
168173 router . get ( '/teams/create' , can ( 'public:authenticated' ) , async ( req , res ) => {
169- const staff = await getOrgStaff ( res . locals . user_id )
174+ const staff = await organization . getOrgStaff ( { osmId : Number ( res . locals . user_id ) } )
170175 return nextApp . render ( req , res , '/team-create' , { staff } )
171176 } )
172177
0 commit comments