Add api demos and make action names clearer

This commit is contained in:
James Greenaway
2019-01-29 10:09:29 +00:00
parent 7e87aad73c
commit 9d19acbd23
3 changed files with 39 additions and 24 deletions

View File

@@ -6,26 +6,26 @@ export type Action = {
complexity: number;
};
} | {
type: 'WORKLOAD_CREATE';
type: 'WORKLOAD_CREATED';
payload: {
workloadId: number;
id: number;
complexity: number;
completeDate: Date;
};
} | {
type: 'WORKLOAD_CANCEL';
payload: {
workloadId: number;
id: number;
};
} | {
type: 'WORKLOAD_CHECK_STATUS';
payload: {
workloadId: number;
id: number;
};
} | {
type: 'WORKLOAD_UPDATE_STATUS';
payload: {
workloadId: number;
id: number;
status: Status;
};
};
@@ -37,33 +37,33 @@ export const submit = ({ complexity }: { complexity: number }): Action => ({
},
});
export const create = ({ workloadId, complexity, completeDate }: { workloadId: number, complexity: number, completeDate: Date }): Action => ({
type: 'WORKLOAD_CREATE',
export const created = ({ id, complexity, completeDate }: { id: number, complexity: number, completeDate: Date }): Action => ({
type: 'WORKLOAD_CREATED',
payload: {
workloadId,
id,
completeDate,
complexity,
},
});
export const cancel = ({ workloadId }: { workloadId: number }): Action => ({
export const cancel = ({ id }: { id: number }): Action => ({
type: 'WORKLOAD_CANCEL',
payload: {
workloadId,
id,
},
});
export const checkStatus = ({ workloadId }: { workloadId: number }): Action => ({
export const checkStatus = ({ id }: { id: number }): Action => ({
type: 'WORKLOAD_CHECK_STATUS',
payload: {
workloadId,
id,
},
});
export const updateStatus = ({ workloadId, status }: { workloadId: number, status: Status }): Action => ({
export const updateStatus = ({ id, status }: { id: number, status: Status }): Action => ({
type: 'WORKLOAD_UPDATE_STATUS',
payload: {
workloadId,
id,
status,
},
});

View File

@@ -16,10 +16,10 @@ const initialState: Store = {};
export const reducer = (state: Store = initialState, action: Action): Store => {
switch (action.type) {
case 'WORKLOAD_CREATE':
case 'WORKLOAD_CREATED':
return {
[action.payload.workloadId]: {
id: action.payload.workloadId,
[action.payload.id]: {
id: action.payload.id,
completeDate: action.payload.completeDate,
status: 'WORKING',
},
@@ -27,16 +27,16 @@ export const reducer = (state: Store = initialState, action: Action): Store => {
case 'WORKLOAD_CANCEL':
return {
[action.payload.workloadId]: {
...state[action.payload.workloadId],
[action.payload.id]: {
...state[action.payload.id],
status: 'CANCELED',
},
}
case 'WORKLOAD_UPDATE_STATUS':
return {
[action.payload.workloadId]: {
...state[action.payload.workloadId],
[action.payload.id]: {
...state[action.payload.id],
status: action.payload.status,
},
}