@@ -172,9 +172,14 @@ class SQLiteConnector extends AdminForthBaseConnector implements IAdminForthData
172
172
return `${ field } ${ operator } ${ placeholder } ` ;
173
173
}
174
174
175
+ // filter is a single insecure raw sql
176
+ if ( ( filter as IAdminForthSingleFilter ) . insecureRawSQL ) {
177
+ return ( filter as IAdminForthSingleFilter ) . insecureRawSQL ;
178
+ }
179
+
175
180
// filter is a AndOr filter
176
181
return ( filter as IAdminForthAndOrFilter ) . subFilters . map ( ( f ) => {
177
- if ( ( f as IAdminForthSingleFilter ) . field ) {
182
+ if ( ( f as IAdminForthSingleFilter ) . field || ( f as IAdminForthSingleFilter ) . insecureRawSQL ) {
178
183
// subFilter is a Single filter
179
184
return this . getFilterString ( f ) ;
180
185
}
@@ -195,6 +200,11 @@ class SQLiteConnector extends AdminForthBaseConnector implements IAdminForthData
195
200
}
196
201
}
197
202
203
+ // filter is a Single insecure raw sql
204
+ if ( ( filter as IAdminForthSingleFilter ) . insecureRawSQL ) {
205
+ return [ ] ;
206
+ }
207
+
198
208
// filter is a AndOrFilter
199
209
return ( filter as IAdminForthAndOrFilter ) . subFilters . reduce ( ( params : any [ ] , f : IAdminForthSingleFilter | IAdminForthAndOrFilter ) => {
200
210
return params . concat ( this . getFilterParams ( f ) ) ;
@@ -234,6 +244,7 @@ class SQLiteConnector extends AdminForthBaseConnector implements IAdminForthData
234
244
235
245
async getCount ( { resource, filters } ) {
236
246
if ( filters ) {
247
+ // validate and normalize in case this method is called from dataAPI
237
248
const filterValidation = this . validateAndNormalizeFilters ( filters , resource ) ;
238
249
if ( ! filterValidation . ok ) {
239
250
throw new Error ( filterValidation . error ) ;
0 commit comments