fix: Set falsy values as default to schema fields (#5868)
This commit is contained in:
committed by
Diamond Lewis
parent
218c3499f9
commit
6080dbc4f9
@@ -425,6 +425,8 @@ describe('schemas', () => {
|
|||||||
foo4: { type: 'Date', required: true },
|
foo4: { type: 'Date', required: true },
|
||||||
foo5: { type: 'Number', defaultValue: 5 },
|
foo5: { type: 'Number', defaultValue: 5 },
|
||||||
ptr: { type: 'Pointer', targetClass: 'SomeClass', required: false },
|
ptr: { type: 'Pointer', targetClass: 'SomeClass', required: false },
|
||||||
|
defaultFalse: { type: 'Boolean', required: true, defaultValue: false },
|
||||||
|
defaultZero: { type: 'Number', defaultValue: 0 }
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}).then(async response => {
|
}).then(async response => {
|
||||||
@@ -445,6 +447,8 @@ describe('schemas', () => {
|
|||||||
foo4: { type: 'Date', required: true },
|
foo4: { type: 'Date', required: true },
|
||||||
foo5: { type: 'Number', defaultValue: 5 },
|
foo5: { type: 'Number', defaultValue: 5 },
|
||||||
ptr: { type: 'Pointer', targetClass: 'SomeClass', required: false },
|
ptr: { type: 'Pointer', targetClass: 'SomeClass', required: false },
|
||||||
|
defaultFalse: { type: 'Boolean', required: true, defaultValue: false },
|
||||||
|
defaultZero: { type: 'Number', defaultValue: 0 }
|
||||||
},
|
},
|
||||||
classLevelPermissions: defaultClassLevelPermissions,
|
classLevelPermissions: defaultClassLevelPermissions,
|
||||||
});
|
});
|
||||||
@@ -464,6 +468,9 @@ describe('schemas', () => {
|
|||||||
expect(obj.get('foo4')).toEqual(date);
|
expect(obj.get('foo4')).toEqual(date);
|
||||||
expect(obj.get('foo5')).toEqual(5);
|
expect(obj.get('foo5')).toEqual(5);
|
||||||
expect(obj.get('ptr')).toBeUndefined();
|
expect(obj.get('ptr')).toBeUndefined();
|
||||||
|
expect(obj.get('defaultFalse')).toEqual(false)
|
||||||
|
expect(obj.get('defaultZero')).toEqual(0)
|
||||||
|
expect(obj.get('ptr')).toBeUndefined();
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -338,7 +338,8 @@ RestWrite.prototype.setRequiredFieldsIfNeeded = function() {
|
|||||||
if (
|
if (
|
||||||
setDefault &&
|
setDefault &&
|
||||||
schema.fields[fieldName] &&
|
schema.fields[fieldName] &&
|
||||||
schema.fields[fieldName].defaultValue &&
|
schema.fields[fieldName].defaultValue !== null &&
|
||||||
|
schema.fields[fieldName].defaultValue !== undefined &&
|
||||||
(this.data[fieldName] === undefined ||
|
(this.data[fieldName] === undefined ||
|
||||||
(typeof this.data[fieldName] === 'object' &&
|
(typeof this.data[fieldName] === 'object' &&
|
||||||
this.data[fieldName].__op === 'Delete'))
|
this.data[fieldName].__op === 'Delete'))
|
||||||
|
|||||||
Reference in New Issue
Block a user