2017-11-20 11:43:02 +00:00
|
|
|
Settings = require 'settings-sharelatex'
|
|
|
|
|
|
|
|
module.exports = Features =
|
|
|
|
externalAuthenticationSystemUsed: ->
|
|
|
|
Settings.ldap? or Settings.saml? or Settings.overleaf?.oauth?
|
|
|
|
|
|
|
|
hasFeature: (feature) ->
|
|
|
|
switch feature
|
2017-11-22 10:44:13 +00:00
|
|
|
when 'homepage'
|
|
|
|
return Settings.enableHomepage
|
2017-11-20 11:43:02 +00:00
|
|
|
when 'registration'
|
|
|
|
return not Features.externalAuthenticationSystemUsed()
|
2017-11-20 11:48:06 +00:00
|
|
|
when 'github-sync'
|
2017-11-22 10:44:57 +00:00
|
|
|
return Settings.enableGithubSync
|
2018-01-31 10:05:56 +00:00
|
|
|
when 'v1-return-message'
|
|
|
|
return Settings.accountMerge? and Settings.overleaf?
|
2018-05-14 09:29:42 +00:00
|
|
|
when 'v2-banner'
|
|
|
|
return Settings.showV2Banner
|
2018-03-22 12:10:34 +00:00
|
|
|
when 'custom-togglers'
|
|
|
|
return Settings.overleaf?
|
2018-05-01 13:01:52 +00:00
|
|
|
when 'templates'
|
|
|
|
return !Settings.overleaf?
|
2017-11-20 11:43:02 +00:00
|
|
|
else
|
|
|
|
throw new Error("unknown feature: #{feature}")
|