kritsana135-hooray-server
Version:
for server
100 lines (92 loc) • 3.31 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.FEATURE_KEYS_PROPERTY = exports.FEATURE_KEYS = void 0;
var _settings = require("./settings");
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
var FEATURE_KEYS = [{
key: 'REGISTER',
description: 'User must register',
enable: false
}, {
key: 'EMAIL_LOGIN',
description: 'User can login with email',
enable: false,
requireSettings: [_settings.SETTING_KEY.SMTP_PROVIDER]
}, {
key: 'USERNAME_LOGIN',
description: 'User can login with user key',
enable: false
}, {
key: 'PHONE_NUMBER_LOGIN',
description: 'User can login with phone number',
enable: false,
requireSettings: [_settings.SETTING_KEY.SMS_TYPE]
}, {
key: 'FACEBOOK_LOGIN',
description: 'User can login via facebook',
enable: false
}, {
key: 'GMAIL_LOGIN',
description: 'User can login via gmail',
enable: false
}, {
key: 'LINE_LOGIN',
description: 'User can login via line',
enable: false
}, {
key: 'APPLE_LOGIN',
description: 'User can login via apple',
enable: false
}, {
key: 'CONFIRM_EMAIL',
description: 'User must confirm email',
enable: false
}, {
key: 'UPLOAD_FILE',
description: 'User must upload file',
enable: false
}, {
key: 'SEND_EMAIL',
description: 'User must send email',
enable: false
}, {
key: 'VERIFY_EMAIL',
description: 'User must verify by email',
enable: false
}, {
key: 'VERIFY_OTP',
description: 'User must verify by otp',
enable: false
}, {
key: 'PHONE_NUMBER_UNIQUE',
description: "Phone number can't be duplicated",
enable: false
}, {
key: 'LINE_NOTIFICATION',
description: 'User must use line notification',
enable: false
}, {
key: 'MANAGE_RESOURCE_OWNER',
description: 'User must manage resourceOwner',
enable: false
}, {
key: 'MANAGE_RESOURCE_OWNER_PERMISSION',
description: 'User must manage resourceOwner permission',
enable: false
}];
exports.FEATURE_KEYS = FEATURE_KEYS;
var getFeatureKey = () => {
var feature = {};
FEATURE_KEYS.forEach(element => {
feature = _objectSpread(_objectSpread({}, feature), {}, {
[element.key]: element.key
});
});
return feature;
};
var FEATURE_KEYS_PROPERTY = getFeatureKey();
exports.FEATURE_KEYS_PROPERTY = FEATURE_KEYS_PROPERTY;