31 lines
1.1 KiB
JavaScript
31 lines
1.1 KiB
JavaScript
'use strict'
|
|
|
|
const {receivedTodos, addTodo} = require('./actions')
|
|
|
|
module.exports = {
|
|
// returns all todos
|
|
'/todos': (store, params, cb) => cb(store.getState().todos),
|
|
// adds a todo & returns all todos
|
|
'/todos/add': (store, params, cb, Proxy) => Proxy.act('todo', 'add', params, result => {
|
|
console.log('result', result)
|
|
cb(result)
|
|
}),
|
|
// deletes a todo & returns all todos
|
|
'/todos/delete': (store, params, cb, Proxy) => Proxy.act('todo', 'delete', params, async result => {
|
|
const data = await Proxy.fetch('todo')
|
|
store.dispatch(receivedTodos(data.todo.values))
|
|
cb(data.todo.values)
|
|
}),
|
|
// completes a todo & returns all todos
|
|
'/todos/complete': (store, params, cb, Proxy) => Proxy.act('todo', 'complete', params, async result => {
|
|
const data = await Proxy.fetch('todo')
|
|
store.dispatch(receivedTodos(data.todo.values))
|
|
cb(data.todo.values)
|
|
}),
|
|
// updates a todo & returns all todos
|
|
'/todos/update': (store, params, cb, Proxy) => Proxy.act('todo', 'update', params, async result => {
|
|
const data = await Proxy.fetch('todo')
|
|
store.dispatch(receivedTodos(data.todo.values))
|
|
cb(data.todo.values)
|
|
}),
|
|
} |