File tree 2 files changed +29
-1
lines changed
2 files changed +29
-1
lines changed Original file line number Diff line number Diff line change @@ -1779,6 +1779,34 @@ describe('schemas', () => {
1779
1779
} ) ;
1780
1780
} ) ;
1781
1781
1782
+ describe ( 'Nested documents' , ( ) => {
1783
+ beforeAll ( async ( ) => {
1784
+ const testSchema = new Parse . Schema ( 'test_7371' ) ;
1785
+ testSchema . setCLP ( {
1786
+ create : { [ '*' ] : true } ,
1787
+ update : { [ '*' ] : true } ,
1788
+ addField : { } ,
1789
+ } ) ;
1790
+ testSchema . addObject ( 'a' ) ;
1791
+ await testSchema . save ( ) ;
1792
+ } ) ;
1793
+
1794
+ it ( 'addField permission not required for adding a nested property' , async ( ) => {
1795
+ const obj = new Parse . Object ( 'test_7371' ) ;
1796
+ obj . set ( 'a' , { } ) ;
1797
+ await obj . save ( ) ;
1798
+ obj . set ( 'a.b' , 2 ) ;
1799
+ await obj . save ( ) ;
1800
+ } ) ;
1801
+ it ( 'addField permission not required for modifying a nested property' , async ( ) => {
1802
+ const obj = new Parse . Object ( 'test_7371' ) ;
1803
+ obj . set ( 'a' , { b : 1 } ) ;
1804
+ await obj . save ( ) ;
1805
+ obj . set ( 'a.b' , 2 ) ;
1806
+ await obj . save ( ) ;
1807
+ } ) ;
1808
+ } ) ;
1809
+
1782
1810
it ( 'should aceept class-level permission with userid of any length' , async done => {
1783
1811
await global . reconfigureServer ( {
1784
1812
customIdSize : 11 ,
Original file line number Diff line number Diff line change @@ -894,7 +894,7 @@ class DatabaseController {
894
894
if ( object [ field ] && object [ field ] . __op && object [ field ] . __op === 'Delete' ) {
895
895
return false ;
896
896
}
897
- return schemaFields . indexOf ( field ) < 0 ;
897
+ return schemaFields . indexOf ( getRootFieldName ( field ) ) < 0 ;
898
898
} ) ;
899
899
if ( newKeys . length > 0 ) {
900
900
// adds a marker that new field is being adding during update
You can’t perform that action at this time.
0 commit comments