@@ -358,20 +358,35 @@ function updateOne(req, res) {
358358
359359
360360// --------------------------------------------------------------------------------------
361- // ----------------- DELETE ONE ------ ----------------------------------------------
361+ // ----------------- DELETE ONE / MANY ----------------------------------------------
362362// --------------------------------------------------------------------------------------
363363
364364// - delete a single record
365- function deleteOne ( req , res ) {
365+ function deleteX ( req , res ) {
366366 logger . logReq ( 'DELETE ONE' , req ) ;
367367 const m = dico . getModel ( req . params . entity ) ,
368368 id = req . params . id
369+ let sql = 'DELETE FROM ' + m . schemaTable + ' WHERE ' + m . pKey ,
370+ params = null
369371
370- if ( m && id ) {
371- // SQL Query > Delete Data
372- const sql = 'DELETE FROM ' + m . schemaTable +
373- ' WHERE ' + m . pKey + '=$1 RETURNING ' + m . pKey + '::integer AS id;'
374- query . runQuery ( res , sql , [ id ] , true ) ;
372+ if ( m ) {
373+ const ids = id . split ( ',' )
374+ if ( ids . length === 1 ) {
375+ // SQL Query > Delete Data
376+ sql += '=$1 RETURNING ' + m . pKey + '::integer AS id;'
377+ params = [ id ]
378+ } else {
379+ if ( ids . length ) {
380+ console . log ( ids )
381+ sql += ' IN(' + ids . map ( ( i , idx ) => '$' + ( idx + 1 ) ) . join ( ',' ) + ')' +
382+ ' RETURNING ' + m . pKey + '::integer AS id' ;
383+ params = ids
384+ } else {
385+ errors . badRequest ( res )
386+ return
387+ }
388+ }
389+ query . runQuery ( res , sql , params , ids . length === 1 ) ;
375390 } else {
376391 errors . badRequest ( res )
377392 }
@@ -467,7 +482,7 @@ module.exports = {
467482 SQLgetOne : SQLgetOne ,
468483 insertOne : insertOne ,
469484 updateOne : updateOne ,
470- deleteOne : deleteOne ,
485+ deleteX : deleteX ,
471486
472487 // - Sub-collections
473488 getCollec : collecOne ,
0 commit comments