diff --git a/package.json b/package.json index 57b76a1..05dccad 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "hapi-sequelize-crud", - "version": "2.0.6", + "version": "2.0.7", "description": "Hapi plugin that automatically generates RESTful API for CRUD", "main": "build/index.js", "config": { diff --git a/src/crud.js b/src/crud.js index 23cef21..699184b 100644 --- a/src/crud.js +++ b/src/crud.js @@ -121,6 +121,25 @@ export const destroy = (server, model) => { }) } +export const destroyAll = (server, model) => { + server.route({ + method: 'DELETE', + path: `${prefix}/${model._plural}`, + + @error + async handler(request, reply) { + const include = parseInclude(request); + const where = parseWhere(request); + + const list = await model.findAll({ where }); + + await* list.map(instance => instance.destroy()); + + reply(list.length === 1 ? list[0] : list); + } + }) +} + export const destroyScope = (server, model) => { let scopes = Object.keys(model.options.scopes);