| 1234567891011121314151617181920212223 |
- UserGetter = require '../User/UserGetter'
- PlansLocator = require '../Subscription/PlansLocator'
- Settings = require 'settings-sharelatex'
- logger = require 'logger-sharelatex'
- module.exports = InstitutionsFeatures =
- getInstitutionsFeatures: (userId, callback = (error, features) ->) ->
- InstitutionsFeatures.hasLicence userId, (error, hasLicence) ->
- return callback error if error?
- return callback(null, {}) unless hasLicence
- plan = PlansLocator.findLocalPlanInSettings Settings.institutionPlanCode
- callback(null, plan?.features or {})
- hasLicence: (userId, callback = (error, hasLicence) ->) ->
- UserGetter.getUserFullEmails userId, (error, emailsData) ->
- return callback error if error?
- affiliation = emailsData.find (emailData) ->
- licence = emailData.affiliation?.institution?.licence
- emailData.confirmedAt? and licence? and licence != 'free'
- callback(null, !!affiliation)
|