re-organized the actions and reducers
This commit is contained in:
parent
489153fcde
commit
d219cbf1a2
5 changed files with 129 additions and 114 deletions
|
@ -1,5 +1,6 @@
|
||||||
import * as actions from 'constants/show_action_types';
|
import * as actions from 'constants/show_action_types';
|
||||||
|
|
||||||
|
// basic request parsing
|
||||||
export function updateRequestError (error) {
|
export function updateRequestError (error) {
|
||||||
return {
|
return {
|
||||||
type: actions.REQUEST_ERROR_UPDATE,
|
type: actions.REQUEST_ERROR_UPDATE,
|
||||||
|
@ -10,10 +11,7 @@ export function updateRequestError (error) {
|
||||||
export function updateRequestWithChannelRequest (name, id) {
|
export function updateRequestWithChannelRequest (name, id) {
|
||||||
return {
|
return {
|
||||||
type: actions.REQUEST_CHANNEL_UPDATE,
|
type: actions.REQUEST_CHANNEL_UPDATE,
|
||||||
data: {
|
data: { name, id },
|
||||||
name,
|
|
||||||
id,
|
|
||||||
},
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -34,61 +32,7 @@ export function updateRequestWithAssetRequest (name, id, channelName, channelId,
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
export function updateShowChannelError (error) {
|
// request for an asset
|
||||||
return {
|
|
||||||
type: actions.SHOW_CHANNEL_ERROR,
|
|
||||||
data: error,
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
export function updateChannelData (name, longId, shortId) {
|
|
||||||
return {
|
|
||||||
type: actions.CHANNEL_DATA_UPDATE,
|
|
||||||
data: {
|
|
||||||
name,
|
|
||||||
longId,
|
|
||||||
shortId,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
export function updateChannelClaimsData (claims, currentPage, totalPages, totalClaims) {
|
|
||||||
return {
|
|
||||||
type: actions.CHANNEL_CLAIMS_DATA_UPDATE,
|
|
||||||
data: {
|
|
||||||
claims,
|
|
||||||
currentPage,
|
|
||||||
totalPages,
|
|
||||||
totalClaims,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
export function fileRequested (name, claimId) {
|
|
||||||
return {
|
|
||||||
type: actions.FILE_REQUESTED,
|
|
||||||
data: {
|
|
||||||
name,
|
|
||||||
claimId,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
export function updateFileAvailability (status) {
|
|
||||||
return {
|
|
||||||
type: actions.FILE_AVAILABILITY_UPDATE,
|
|
||||||
data: status,
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
export function updateDisplayAssetError (error) {
|
|
||||||
return {
|
|
||||||
type: actions.DISPLAY_ASSET_ERROR,
|
|
||||||
data: error,
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
// new: request-related actions
|
|
||||||
|
|
||||||
export function newAssetRequest (id, name, modifier) {
|
export function newAssetRequest (id, name, modifier) {
|
||||||
return {
|
return {
|
||||||
|
@ -104,10 +48,9 @@ export function addAssetRequest (id, error, name, claimId) {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
// new: asset-realted actions
|
// show an asset
|
||||||
|
|
||||||
export function showNewAsset (id, name, claimId) {
|
export function showNewAsset (id, name, claimId) {
|
||||||
console.log('show new asset', id, name, claimId);
|
|
||||||
return {
|
return {
|
||||||
type: actions.SHOW_NEW_ASSET,
|
type: actions.SHOW_NEW_ASSET,
|
||||||
data: { id, name, claimId },
|
data: { id, name, claimId },
|
||||||
|
@ -126,3 +69,52 @@ export function clearShowAsset () {
|
||||||
type: actions.SHOW_ASSET_CLEAR,
|
type: actions.SHOW_ASSET_CLEAR,
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// request for a channel
|
||||||
|
|
||||||
|
|
||||||
|
// show a channel
|
||||||
|
|
||||||
|
export function updateShowChannelError (error) {
|
||||||
|
return {
|
||||||
|
type: actions.SHOW_CHANNEL_ERROR,
|
||||||
|
data: error,
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
export function updateChannelData (name, longId, shortId) {
|
||||||
|
return {
|
||||||
|
type: actions.CHANNEL_DATA_UPDATE,
|
||||||
|
data: { name, longId, shortId },
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
export function updateChannelClaimsData (claims, currentPage, totalPages, totalClaims) {
|
||||||
|
return {
|
||||||
|
type: actions.CHANNEL_CLAIMS_DATA_UPDATE,
|
||||||
|
data: { claims, currentPage, totalPages, totalClaims },
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
// display a file
|
||||||
|
|
||||||
|
export function fileRequested (name, claimId) {
|
||||||
|
return {
|
||||||
|
type: actions.FILE_REQUESTED,
|
||||||
|
data: { name, claimId },
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
export function updateFileAvailability (status) {
|
||||||
|
return {
|
||||||
|
type: actions.FILE_AVAILABILITY_UPDATE,
|
||||||
|
data: status,
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
export function updateDisplayAssetError (error) {
|
||||||
|
return {
|
||||||
|
type: actions.DISPLAY_ASSET_ERROR,
|
||||||
|
data: error,
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
36
react/api/channelApi.js
Normal file
36
react/api/channelApi.js
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
import Request from 'utils/request';
|
||||||
|
|
||||||
|
export function getLongClaimId (name, modifier) {
|
||||||
|
let body = {};
|
||||||
|
// create request params
|
||||||
|
if (modifier) {
|
||||||
|
if (modifier.id) {
|
||||||
|
body['claimId'] = modifier.id;
|
||||||
|
} else {
|
||||||
|
body['channelName'] = modifier.channel.name;
|
||||||
|
body['channelClaimId'] = modifier.channel.id;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
body['claimName'] = name;
|
||||||
|
const params = {
|
||||||
|
method : 'POST',
|
||||||
|
headers: new Headers({
|
||||||
|
'Content-Type': 'application/json',
|
||||||
|
}),
|
||||||
|
body: JSON.stringify(body),
|
||||||
|
}
|
||||||
|
// crate url
|
||||||
|
const url = `/api/claim/long-id`;
|
||||||
|
// return the request promise
|
||||||
|
return Request(url, params);
|
||||||
|
};
|
||||||
|
|
||||||
|
export function getShortId (name, claimId) {
|
||||||
|
const url = `/api/claim/short-id/${claimId}/${name}`;
|
||||||
|
return Request(url);
|
||||||
|
};
|
||||||
|
|
||||||
|
export function getClaimData (name, claimId) {
|
||||||
|
const url = `/api/claim/data/${name}/${claimId}`;
|
||||||
|
return Request(url);
|
||||||
|
};
|
|
@ -48,25 +48,18 @@ const initialState = {
|
||||||
status: LOCAL_CHECK,
|
status: LOCAL_CHECK,
|
||||||
},
|
},
|
||||||
channelRequests: {},
|
channelRequests: {},
|
||||||
|
channels : {}, // same schema as showChannel
|
||||||
assetRequests : {},
|
assetRequests : {},
|
||||||
channels : {},
|
|
||||||
assets : {}, // same schema as showAsset
|
assets : {}, // same schema as showAsset
|
||||||
};
|
};
|
||||||
|
|
||||||
/* asset request schema:
|
|
||||||
name#someidfrommodifier: {
|
|
||||||
error : null,
|
|
||||||
name : null,
|
|
||||||
claimId: null,
|
|
||||||
} */
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Reducers describe how the application's state changes in response to actions
|
Reducers describe how the application's state changes in response to actions
|
||||||
*/
|
*/
|
||||||
|
|
||||||
export default function (state = initialState, action) {
|
export default function (state = initialState, action) {
|
||||||
switch (action.type) {
|
switch (action.type) {
|
||||||
// request cases
|
// handle request
|
||||||
case actions.REQUEST_ERROR_UPDATE:
|
case actions.REQUEST_ERROR_UPDATE:
|
||||||
return Object.assign({}, state, {
|
return Object.assign({}, state, {
|
||||||
request: Object.assign({}, state.request, {
|
request: Object.assign({}, state.request, {
|
||||||
|
@ -89,49 +82,7 @@ export default function (state = initialState, action) {
|
||||||
},
|
},
|
||||||
assetRequest: action.data,
|
assetRequest: action.data,
|
||||||
});
|
});
|
||||||
// show channel cases
|
// request for an asset
|
||||||
case actions.SHOW_CHANNEL_ERROR:
|
|
||||||
return Object.assign({}, state, {
|
|
||||||
showChannel: Object.assign({}, state.showChannel, {
|
|
||||||
error: action.data,
|
|
||||||
}),
|
|
||||||
});
|
|
||||||
case actions.CHANNEL_DATA_UPDATE:
|
|
||||||
return Object.assign({}, state, {
|
|
||||||
showChannel: Object.assign({}, state.showChannel, {
|
|
||||||
channelData: action.data,
|
|
||||||
}),
|
|
||||||
});
|
|
||||||
case actions.CHANNEL_CLAIMS_DATA_UPDATE:
|
|
||||||
return Object.assign({}, state, {
|
|
||||||
showChannel: Object.assign({}, state.showChannel, {
|
|
||||||
channelClaimsData: action.data,
|
|
||||||
}),
|
|
||||||
});
|
|
||||||
// show asset cases
|
|
||||||
// case actions.SHOW_ASSET_UPDATE:
|
|
||||||
// return Object.assign({}, state, {
|
|
||||||
// showAsset: Object.assign({}, state.showAsset, {
|
|
||||||
// error : action.data.error,
|
|
||||||
// claimData: action.data.claimData,
|
|
||||||
// shortId : action.data.shortId,
|
|
||||||
// }),
|
|
||||||
// });
|
|
||||||
// display asset cases
|
|
||||||
case actions.FILE_AVAILABILITY_UPDATE:
|
|
||||||
return Object.assign({}, state, {
|
|
||||||
displayAsset: Object.assign({}, state.displayAsset, {
|
|
||||||
status: action.data,
|
|
||||||
}),
|
|
||||||
});
|
|
||||||
case actions.DISPLAY_ASSET_ERROR:
|
|
||||||
return Object.assign({}, state, {
|
|
||||||
displayAsset: Object.assign({}, state.displayAsset, {
|
|
||||||
error : action.data,
|
|
||||||
status: ERROR,
|
|
||||||
}),
|
|
||||||
});
|
|
||||||
// new actions
|
|
||||||
case actions.ASSET_REQUEST_ADD:
|
case actions.ASSET_REQUEST_ADD:
|
||||||
return Object.assign({}, state, {
|
return Object.assign({}, state, {
|
||||||
assetRequests: Object.assign({}, state.assets, {
|
assetRequests: Object.assign({}, state.assets, {
|
||||||
|
@ -142,6 +93,7 @@ export default function (state = initialState, action) {
|
||||||
},
|
},
|
||||||
}),
|
}),
|
||||||
});
|
});
|
||||||
|
// show an asset
|
||||||
case actions.SHOW_ASSET_UPDATE:
|
case actions.SHOW_ASSET_UPDATE:
|
||||||
return Object.assign({}, state, {
|
return Object.assign({}, state, {
|
||||||
assets: Object.assign({}, state.assets, {
|
assets: Object.assign({}, state.assets, {
|
||||||
|
@ -171,6 +123,41 @@ export default function (state = initialState, action) {
|
||||||
claimData: null,
|
claimData: null,
|
||||||
}),
|
}),
|
||||||
});
|
});
|
||||||
|
// request a channel
|
||||||
|
|
||||||
|
// show a channel
|
||||||
|
case actions.SHOW_CHANNEL_ERROR:
|
||||||
|
return Object.assign({}, state, {
|
||||||
|
showChannel: Object.assign({}, state.showChannel, {
|
||||||
|
error: action.data,
|
||||||
|
}),
|
||||||
|
});
|
||||||
|
case actions.CHANNEL_DATA_UPDATE:
|
||||||
|
return Object.assign({}, state, {
|
||||||
|
showChannel: Object.assign({}, state.showChannel, {
|
||||||
|
channelData: action.data,
|
||||||
|
}),
|
||||||
|
});
|
||||||
|
case actions.CHANNEL_CLAIMS_DATA_UPDATE:
|
||||||
|
return Object.assign({}, state, {
|
||||||
|
showChannel: Object.assign({}, state.showChannel, {
|
||||||
|
channelClaimsData: action.data,
|
||||||
|
}),
|
||||||
|
});
|
||||||
|
// display an asset
|
||||||
|
case actions.FILE_AVAILABILITY_UPDATE:
|
||||||
|
return Object.assign({}, state, {
|
||||||
|
displayAsset: Object.assign({}, state.displayAsset, {
|
||||||
|
status: action.data,
|
||||||
|
}),
|
||||||
|
});
|
||||||
|
case actions.DISPLAY_ASSET_ERROR:
|
||||||
|
return Object.assign({}, state, {
|
||||||
|
displayAsset: Object.assign({}, state.displayAsset, {
|
||||||
|
error : action.data,
|
||||||
|
status: ERROR,
|
||||||
|
}),
|
||||||
|
});
|
||||||
default:
|
default:
|
||||||
return state;
|
return state;
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,7 @@ import * as actions from 'constants/show_action_types';
|
||||||
import { addAssetRequest, updateShowAsset, updateFileAvailability, updateDisplayAssetError } from 'actions/show';
|
import { addAssetRequest, updateShowAsset, updateFileAvailability, updateDisplayAssetError } from 'actions/show';
|
||||||
import { UNAVAILABLE, AVAILABLE } from 'constants/asset_display_states';
|
import { UNAVAILABLE, AVAILABLE } from 'constants/asset_display_states';
|
||||||
import { checkFileAvailability, triggerClaimGet } from 'api/fileApi';
|
import { checkFileAvailability, triggerClaimGet } from 'api/fileApi';
|
||||||
import { getLongClaimId, getShortId, getClaimData } from 'api/AssetApi';
|
import { getLongClaimId, getShortId, getClaimData } from 'api/assetApi';
|
||||||
|
|
||||||
function* newAssetRequest (action) {
|
function* newAssetRequest (action) {
|
||||||
const { id, name, modifier } = action.data;
|
const { id, name, modifier } = action.data;
|
||||||
|
|
Loading…
Reference in a new issue