Adds ability to set an account lockout policy (#2601)
* Adds ability to set account lockout policy * change fit to it in tests
This commit is contained in:
committed by
Florent Vilmart
parent
f6516a1d1e
commit
28bd37884d
@@ -57,10 +57,16 @@ const transformKeyValueForUpdate = (className, restKey, restValue, parseFormatSc
|
||||
key = '_email_verify_token_expires_at';
|
||||
timeField = true;
|
||||
break;
|
||||
case '_account_lockout_expires_at':
|
||||
key = '_account_lockout_expires_at';
|
||||
timeField = true;
|
||||
break;
|
||||
case '_failed_login_count':
|
||||
key = '_failed_login_count';
|
||||
break;
|
||||
case '_rperm':
|
||||
case '_wperm':
|
||||
return {key: key, value: restValue};
|
||||
break;
|
||||
}
|
||||
|
||||
if ((parseFormatSchema.fields[key] && parseFormatSchema.fields[key].type === 'Pointer') || (!parseFormatSchema.fields[key] && restValue && restValue.__type == 'Pointer')) {
|
||||
@@ -155,6 +161,13 @@ function transformQueryKeyValue(className, key, value, schema) {
|
||||
}
|
||||
return {key: '_id', value}
|
||||
}
|
||||
case '_account_lockout_expires_at':
|
||||
if (valueAsDate(value)) {
|
||||
return {key: '_account_lockout_expires_at', value: valueAsDate(value)}
|
||||
}
|
||||
break;
|
||||
case '_failed_login_count':
|
||||
return {key, value};
|
||||
case 'sessionToken': return {key: '_session_token', value}
|
||||
case '_rperm':
|
||||
case '_wperm':
|
||||
@@ -231,6 +244,11 @@ const parseObjectKeyValueToMongoObjectKeyValue = (restKey, restValue, schema) =>
|
||||
transformedValue = transformTopLevelAtom(restValue);
|
||||
coercedToDate = typeof transformedValue === 'string' ? new Date(transformedValue) : transformedValue
|
||||
return {key: '_email_verify_token_expires_at', value: coercedToDate};
|
||||
case '_account_lockout_expires_at':
|
||||
transformedValue = transformTopLevelAtom(restValue);
|
||||
coercedToDate = typeof transformedValue === 'string' ? new Date(transformedValue) : transformedValue
|
||||
return {key: '_account_lockout_expires_at', value: coercedToDate};
|
||||
case '_failed_login_count':
|
||||
case '_rperm':
|
||||
case '_wperm':
|
||||
case '_email_verify_token':
|
||||
@@ -730,6 +748,8 @@ const mongoObjectToParseObject = (className, mongoObject, schema) => {
|
||||
case '_perishable_token':
|
||||
case '_tombstone':
|
||||
case '_email_verify_token_expires_at':
|
||||
case '_account_lockout_expires_at':
|
||||
case '_failed_login_count':
|
||||
// Those keys will be deleted if needed in the DB Controller
|
||||
restObject[key] = mongoObject[key];
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user