kritsana135-hooray-server
Version:
for server
102 lines (98 loc) • 2.14 kB
JavaScript
import { SETTING_KEY } from './settings';
export const FEATURE_KEYS = [
{
key: 'REGISTER',
description: 'User must register',
enable: false,
},
{
key: 'EMAIL_LOGIN',
description: 'User can login with email',
enable: false,
requireSettings: [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: [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,
},
];
const getFeatureKey = () => {
let feature = {};
FEATURE_KEYS.forEach((element) => {
feature = { ...feature, [element.key]: element.key };
});
return feature;
};
export const FEATURE_KEYS_PROPERTY = getFeatureKey();