Add basic 'workloads' Redux app

This commit is contained in:
James Greenaway
2019-01-28 18:21:58 +00:00
parent e1a3f27d8f
commit 986cf86403
13 changed files with 231 additions and 210 deletions

View File

@@ -0,0 +1,70 @@
import { Status } from './types';
export type Action = {
type: 'WORKLOAD_SUBMIT';
payload: {
complexity: number;
};
} | {
type: 'WORKLOAD_CREATE';
payload: {
workloadId: number;
complexity: number;
completeDate: Date;
};
} | {
type: 'WORKLOAD_CANCEL';
payload: {
workloadId: number;
};
} | {
type: 'WORKLOAD_CHECK_STATUS';
payload: {
workloadId: number;
};
} | {
type: 'WORKLOAD_UPDATE_STATUS';
payload: {
workloadId: number;
status: Status;
};
};
export const submit = ({ complexity }: { complexity: number }): Action => ({
type: 'WORKLOAD_SUBMIT',
payload: {
complexity,
},
});
export const create = ({ workloadId, complexity, completeDate }: { workloadId: number, complexity: number, completeDate: Date }): Action => ({
type: 'WORKLOAD_CREATE',
payload: {
workloadId,
completeDate,
complexity,
},
});
export const cancel = ({ workloadId }: { workloadId: number }): Action => ({
type: 'WORKLOAD_CANCEL',
payload: {
workloadId,
},
});
export const checkStatus = ({ workloadId }: { workloadId: number }): Action => ({
type: 'WORKLOAD_CHECK_STATUS',
payload: {
workloadId,
},
});
export const updateStatus = ({ workloadId, status }: { workloadId: number, status: Status }): Action => ({
type: 'WORKLOAD_UPDATE_STATUS',
payload: {
workloadId,
status,
},
});