payload
Version:
Node, React, Headless CMS and Application Framework built on Next.js
48 lines (47 loc) • 1.89 kB
JavaScript
import { accountLockFields } from './baseFields/accountLock.js';
import { apiKeyFields } from './baseFields/apiKey.js';
import { baseAuthFields } from './baseFields/auth.js';
import { emailFieldConfig } from './baseFields/email.js';
import { usernameFieldConfig } from './baseFields/username.js';
import { verificationFields } from './baseFields/verification.js';
export const getBaseAuthFields = (authConfig)=>{
const authFields = [];
if (authConfig.useAPIKey) {
authFields.push(...apiKeyFields);
}
if (!authConfig.disableLocalStrategy || typeof authConfig.disableLocalStrategy === 'object' && authConfig.disableLocalStrategy.enableFields) {
const emailField = {
...emailFieldConfig
};
let usernameField;
if (authConfig.loginWithUsername) {
usernameField = {
...usernameFieldConfig
};
if (typeof authConfig.loginWithUsername === 'object') {
if (authConfig.loginWithUsername.requireEmail === false) {
emailField.required = false;
}
if (authConfig.loginWithUsername.requireUsername === false) {
usernameField.required = false;
}
if (authConfig.loginWithUsername.allowEmailLogin === false) {
emailField.unique = false;
}
}
}
authFields.push(emailField);
if (usernameField) {
authFields.push(usernameField);
}
authFields.push(...baseAuthFields);
if (authConfig.verify) {
authFields.push(...verificationFields);
}
if (authConfig?.maxLoginAttempts && authConfig.maxLoginAttempts > 0) {
authFields.push(...accountLockFields);
}
}
return authFields;
};
//# sourceMappingURL=getAuthFields.js.map