nsgm-cli
Version:
A CLI tool to run Next/Style-components and Graphql/Mysql fullstack project
161 lines (147 loc) • 3.29 kB
text/typescript
import * as types from './types'
import {
getTemplateService,
addTemplateService,
updateTemplateService,
deleteTemplateService,
searchTemplateService,
batchDeleteTemplateService,
} from '@/service/template/manage'
import { AppDispatch } from '@/redux/store'
export const getTemplate =
(page = 0, pageSize = 10) =>
(dispatch: AppDispatch) => {
dispatch({
type: types.GET_TEMPLATE,
})
getTemplateService(page, pageSize)
.then((res: any) => {
const { data } = res
dispatch({
type: types.GET_TEMPLATE_SUCCEEDED,
payload: {
template: data.template,
},
})
})
.catch(() => {
dispatch({
type: types.GET_TEMPLATE_FAILED,
})
})
}
export const searchTemplate =
(page = 0, pageSize = 10, data: any) =>
(dispatch: AppDispatch) => {
dispatch({
type: types.SEARCH_TEMPLATE,
})
searchTemplateService(page, pageSize, data)
.then((res: any) => {
const { data } = res
dispatch({
type: types.SEARCH_TEMPLATE_SUCCEEDED,
payload: {
template: data.templateSearch,
},
})
})
.catch(() => {
dispatch({
type: types.SEARCH_TEMPLATE_FAILED,
})
})
}
export const updateSSRTemplate = (template: any) => (dispatch: AppDispatch) => {
dispatch({
type: types.UPDATE_SSR_TEMPLATE,
payload: {
template: template,
},
})
}
export const addTemplate = (obj: any) => (dispatch: AppDispatch) => {
dispatch({
type: types.ADD_TEMPLATE,
})
addTemplateService(obj)
.then((res: any) => {
const { data } = res
const template = {
id: data.templateAdd,
...obj,
}
dispatch({
type: types.ADD_TEMPLATE_SUCCEEDED,
payload: {
template,
},
})
})
.catch(() => {
dispatch({
type: types.ADD_TEMPLATE_FAILED,
})
})
}
export const modTemplate = (id: number, obj: any) => (dispatch: AppDispatch) => {
dispatch({
type: types.MOD_TEMPLATE,
})
updateTemplateService(id, obj)
.then((_res: any) => {
const template = {
id,
...obj,
}
dispatch({
type: types.MOD_TEMPLATE_SUCCEEDED,
payload: {
template,
},
})
})
.catch(() => {
dispatch({
type: types.MOD_TEMPLATE_FAILED,
})
})
}
export const delTemplate = (id: number) => (dispatch: AppDispatch) => {
dispatch({
type: types.DEL_TEMPLATE,
})
deleteTemplateService(id)
.then((_res: any) => {
dispatch({
type: types.DEL_TEMPLATE_SUCCEEDED,
payload: {
id,
},
})
})
.catch(() => {
dispatch({
type: types.DEL_TEMPLATE_FAILED,
})
})
}
export const batchDelTemplate = (ids: any) => (dispatch: AppDispatch) => {
dispatch({
type: types.BATCH_DEL_TEMPLATE,
})
batchDeleteTemplateService(ids)
.then((_res: any) => {
dispatch({
type: types.BATCH_DEL_TEMPLATE_SUCCEEDED,
payload: {
ids,
},
})
})
.catch(() => {
dispatch({
type: types.BATCH_DEL_TEMPLATE_FAILED,
})
})
}