| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- const logger = require('@alias/logger')('growi:service:AclService'); // eslint-disable-line no-unused-vars
- /**
- * the service class of AclService
- */
- class AclService {
- constructor(configManager) {
- this.configManager = configManager;
- this.labels = {
- SECURITY_RESTRICT_GUEST_MODE_DENY: 'Deny',
- SECURITY_RESTRICT_GUEST_MODE_READONLY: 'Readonly',
- SECURITY_REGISTRATION_MODE_OPEN: 'Open',
- SECURITY_REGISTRATION_MODE_RESTRICTED: 'Restricted',
- SECURITY_REGISTRATION_MODE_CLOSED: 'Closed',
- };
- }
- getIsPublicWikiOnly() {
- const publicWikiOnly = process.env.PUBLIC_WIKI_ONLY;
- return !!publicWikiOnly;
- }
- getIsGuestAllowedToRead() {
- // return true if puclic wiki mode
- if (this.getIsPublicWikiOnly()) {
- return true;
- }
- // return false if undefined
- const isRestrictGuestMode = this.configManager.getConfig('crowi', 'security:restrictGuestMode');
- if (isRestrictGuestMode) {
- return false;
- }
- return this.labels.SECURITY_RESTRICT_GUEST_MODE_READONLY === isRestrictGuestMode;
- }
- getRestrictGuestModeLabels() {
- const labels = {};
- labels[this.labels.SECURITY_RESTRICT_GUEST_MODE_DENY] = 'security_setting.guest_mode.deny';
- labels[this.labels.SECURITY_RESTRICT_GUEST_MODE_READONLY] = 'security_setting.guest_mode.readonly';
- return labels;
- }
- getRegistrationModeLabels() {
- const labels = {};
- labels[this.labels.SECURITY_REGISTRATION_MODE_OPEN] = 'security_setting.registration_mode.open';
- labels[this.labels.SECURITY_REGISTRATION_MODE_RESTRICTED] = 'security_setting.registration_mode.restricted';
- labels[this.labels.SECURITY_REGISTRATION_MODE_CLOSED] = 'security_setting.registration_mode.closed';
- return labels;
- }
- userUpperLimit() {
- // const limit = this.configManager.getConfig('crowi', 'USER_UPPER_LIMIT');
- const limit = process.env.USER_UPPER_LIMIT;
- if (limit) {
- return Number(limit);
- }
- return 0;
- }
- }
- module.exports = AclService;
|