33 lines
No EOL
1 KiB
JavaScript
33 lines
No EOL
1 KiB
JavaScript
/* code from functions/todos-delete-batch.js */
|
|
/* Import faunaDB sdk */
|
|
const faunadb = require('faunadb')
|
|
|
|
const q = faunadb.query
|
|
const client = new faunadb.Client({
|
|
secret: process.env.FAUNADB_SERVER_SECRET
|
|
})
|
|
|
|
exports.handler = async (event, context) => {
|
|
const data = JSON.parse(event.body)
|
|
console.log('data', data)
|
|
console.log('Function `todo-delete-batch` invoked', data.ids)
|
|
// construct batch query from IDs
|
|
const deleteAllCompletedTodoQuery = data.ids.map((id) => {
|
|
return q.Delete(q.Ref(`classes/todos/${id}`))
|
|
})
|
|
// Hit fauna with the query to delete the completed items
|
|
return client.query(deleteAllCompletedTodoQuery)
|
|
.then((response) => {
|
|
console.log('success', response)
|
|
return {
|
|
statusCode: 200,
|
|
body: JSON.stringify(response)
|
|
}
|
|
}).catch((error) => {
|
|
console.log('error', error)
|
|
return {
|
|
statusCode: 400,
|
|
body: JSON.stringify(error)
|
|
}
|
|
})
|
|
} |