UNPKG

stitch-ui

Version:

35 lines (28 loc) 1.31 kB
import { createAction } from "redux-act"; import { makeAsyncActions, asyncActionExecutor } from "../util"; const NAME = "home/"; export const showNewAppModal = createAction(`${NAME}show new app modal`); export const hideNewAppModal = createAction(`${NAME}hide new app modal`); export const setError = createAction(`${NAME}set error`); export const resetError = createAction(`${NAME}reset error`); export const toggleGroupDropdown = createAction(`${NAME}toggle group dropdown`); export const setGroupId = createAction(`${NAME}set group id`); export const setCreateAppError = createAction(`${NAME}set create app error`); // Async actions export const loadAppsActions = makeAsyncActions(`${NAME}load apps`); export const createAppActions = makeAsyncActions(`${NAME}create app`); export const deleteAppActions = makeAsyncActions(`${NAME}delete app`); export const loadApps = asyncActionExecutor( loadAppsActions, (client, groupId) => () => client.apps(groupId).list() ); export const createApp = asyncActionExecutor( createAppActions, (client, groupId, appName) => () => client.apps(groupId).create({ name: appName }, { defaults: true }), true ); export const deleteApp = asyncActionExecutor( deleteAppActions, (client, groupId, appId) => () => client.apps(groupId).app(appId).remove() );