@@ -110,6 +110,9 @@ export default (params?: LocalStorageDataProviderParams): DataProvider => {
110110 return baseDataProvider . update < RecordType > ( resource , params ) ;
111111 } ,
112112 updateMany : ( resource , params ) => {
113+ if ( [ '__proto__' , 'constructor' , 'prototype' ] . includes ( resource ) ) {
114+ throw new Error ( `Invalid resource key: ${ resource } ` ) ;
115+ }
113116 updateLocalStorage ( ( ) => {
114117 params . ids . forEach ( id => {
115118 const index = data [ resource ] ?. findIndex (
@@ -141,6 +144,9 @@ export default (params?: LocalStorageDataProviderParams): DataProvider => {
141144 } ) ;
142145 } ,
143146 delete : < RecordType extends RaRecord = any > ( resource , params ) => {
147+ if ( [ '__proto__' , 'constructor' , 'prototype' ] . includes ( resource ) ) {
148+ throw new Error ( `Invalid resource key: ${ resource } ` ) ;
149+ }
144150 updateLocalStorage ( ( ) => {
145151 const index = data [ resource ] ?. findIndex (
146152 record => record . id == params . id
@@ -150,6 +156,9 @@ export default (params?: LocalStorageDataProviderParams): DataProvider => {
150156 return baseDataProvider . delete < RecordType > ( resource , params ) ;
151157 } ,
152158 deleteMany : ( resource , params ) => {
159+ if ( [ '__proto__' , 'constructor' , 'prototype' ] . includes ( resource ) ) {
160+ throw new Error ( `Invalid resource key: ${ resource } ` ) ;
161+ }
153162 updateLocalStorage ( ( ) => {
154163 const indexes = params . ids . map ( id =>
155164 data [ resource ] ?. findIndex ( record => record . id == id )
0 commit comments