@@ -172,9 +172,14 @@ class SQLiteConnector extends AdminForthBaseConnector implements IAdminForthData
172172 return `${ field } ${ operator } ${ placeholder } ` ;
173173 }
174174
175+ // filter is a single insecure raw sql
176+ if ( ( filter as IAdminForthSingleFilter ) . insecureRawSQL ) {
177+ return ( filter as IAdminForthSingleFilter ) . insecureRawSQL ;
178+ }
179+
175180 // filter is a AndOr filter
176181 return ( filter as IAdminForthAndOrFilter ) . subFilters . map ( ( f ) => {
177- if ( ( f as IAdminForthSingleFilter ) . field ) {
182+ if ( ( f as IAdminForthSingleFilter ) . field || ( f as IAdminForthSingleFilter ) . insecureRawSQL ) {
178183 // subFilter is a Single filter
179184 return this . getFilterString ( f ) ;
180185 }
@@ -195,6 +200,11 @@ class SQLiteConnector extends AdminForthBaseConnector implements IAdminForthData
195200 }
196201 }
197202
203+ // filter is a Single insecure raw sql
204+ if ( ( filter as IAdminForthSingleFilter ) . insecureRawSQL ) {
205+ return [ ] ;
206+ }
207+
198208 // filter is a AndOrFilter
199209 return ( filter as IAdminForthAndOrFilter ) . subFilters . reduce ( ( params : any [ ] , f : IAdminForthSingleFilter | IAdminForthAndOrFilter ) => {
200210 return params . concat ( this . getFilterParams ( f ) ) ;
@@ -234,6 +244,7 @@ class SQLiteConnector extends AdminForthBaseConnector implements IAdminForthData
234244
235245 async getCount ( { resource, filters } ) {
236246 if ( filters ) {
247+ // validate and normalize in case this method is called from dataAPI
237248 const filterValidation = this . validateAndNormalizeFilters ( filters , resource ) ;
238249 if ( ! filterValidation . ok ) {
239250 throw new Error ( filterValidation . error ) ;
0 commit comments