diff options
Diffstat (limited to 'web/src/js/ducks/flows.js')
-rw-r--r-- | web/src/js/ducks/flows.js | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/web/src/js/ducks/flows.js b/web/src/js/ducks/flows.js index b24daf55..69bb2812 100644 --- a/web/src/js/ducks/flows.js +++ b/web/src/js/ducks/flows.js @@ -7,6 +7,7 @@ export const UPDATE_FILTER = 'FLOWS_UPDATE_FLOW_FILTER' export const UPDATE_HIGHLIGHT = 'FLOWS_UPDATE_FLOW_HIGHLIGHT' export const UPDATE_SORT = 'FLOWS_UPDATE_FLOW_SORT' export const SELECT = 'FLOWS_SELECT' +export const REQUEST_ACTION = 'FLOWS_REQUEST_ACTION' const defaultState = { selected: [], @@ -122,6 +123,88 @@ export function fetchData() { } /** + * @public + */ +export function accept(flow) { + fetch(`/flows/${flow.id}/accept`, { method: 'POST' }) + return { type: REQUEST_ACTION } +} + +/** + * @public + */ +export function acceptAll() { + fetch('/flows/accept', { method: 'POST' }) + return { type: REQUEST_ACTION } +} + +/** + * @public + */ +export function delete(flow) { + fetch(`/flows/${flow.id}`, { method: 'DELETE' }) + return { type: REQUEST_ACTION } +} + +/** + * @public + */ +export function duplicate(flow) { + fetch(`/flows/${flow.id}/duplicate`, { method: 'POST' }) + return { type: REQUEST_ACTION } +} + +/** + * @public + */ +export function replay(flow) { + fetch(`/flows/${flow.id}/replay`, { method: 'POST' }) + return { type: REQUEST_ACTION } +} + +/** + * @public + */ +export function revert(flow) { + fetch(`/flows/${flow.id}/revert`, { method: 'POST' }) + return { type: REQUEST_ACTION } +} + +/** + * @public + */ +export function update(flow, body) { + fetch(`/flows/${flow.id}`, { method: 'PUT', body }) + return { type: REQUEST_ACTION } +} + +/** + * @public + */ +export function clear() { + fetch('/clear', { method: 'POST' }) + return { type: REQUEST_ACTION } +} + +/** + * @public + */ +export function download() { + window.location = '/flows/dump' + return { type: REQUEST_ACTION } +} + +/** + * @public + */ +export function upload(file) { + const body = new FormData() + body.append('file', file) + fetch('/flows/dump', { method: 'post', body }) + return { type: REQUEST_ACTION } +} + +/** * @private */ export function request() { |