Просмотр исходного кода

Merge pull request #1062 from sharelatex/ta-metric-authorization

Use UserMembership Authorization Middlewear for Metrics

GitOrigin-RevId: a145527723539696c2659baa16c507ab54f629a3
Timothée Alby 8 лет назад
Родитель
Сommit
aff47a4b11

+ 2 - 2
services/web/app/coffee/Features/UserMembership/UserMembershipAuthorization.coffee

@@ -6,13 +6,13 @@ Errors = require('../Errors/Errors')
 logger = require("logger-sharelatex")
 
 module.exports =
-	requireEntityAccess: (entityName) ->
+	requireEntityAccess: (entityName, entityId = null) ->
 		(req, res, next) ->
 			loggedInUser = AuthenticationController.getSessionUser(req)
 			unless loggedInUser
 				return AuthorizationMiddlewear.redirectToRestricted req, res, next
 
-			entityId = req.params.id
+			entityId = req.params.id unless entityId?
 			getEntity entityName, entityId, loggedInUser, (error, entity, entityConfig) ->
 				return next(error) if error?
 				unless entity?

+ 8 - 0
services/web/app/coffee/Features/UserMembership/UserMembershipEntityConfigs.coffee

@@ -19,6 +19,14 @@ module.exports =
 			removeInvite: '/subscription/invites'
 			exportMembers: '/subscription/group/export'
 
+	team: # for metrics only
+		modelName: 'Subscription'
+		fields:
+			primaryKey: 'overleaf.id'
+			access: 'manager_ids'
+		baseQuery:
+			groupPlan: true
+
 	groupManagers:
 		modelName: 'Subscription'
 		fields: