Add actions/api/reducers/sagas
This commit is contained in:
parent
83d6130259
commit
b6156e7632
|
@ -132,6 +132,21 @@ export const messageListen = {
|
||||||
failure: (error) => action(MESSAGE_LISTEN[FAILURE], {error})
|
failure: (error) => action(MESSAGE_LISTEN[FAILURE], {error})
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const ENS_RECORD = createRequestTypes('ENS_RECORD');
|
||||||
|
export const ensRecord = {
|
||||||
|
resolve: (name) => action(ENS_RECORD[REQUEST], {name}),
|
||||||
|
lookup: (address) => action(ENS_RECORD[REQUEST], {address}),
|
||||||
|
success: (record, payload) => action(ENS_RECORD[SUCCESS], {ensRecords: [Object.assign(payload, record)]}),
|
||||||
|
failure: (error) => action(ENS_RECORD[FAILURE], {error})
|
||||||
|
};
|
||||||
|
|
||||||
|
export const ENS_RECORDS = createRequestTypes('ENS_RECORDS');
|
||||||
|
export const ensRecords = {
|
||||||
|
post: (name, address) => action(ENSENS_RECORDS_RECORD[REQUEST], {name, address}),
|
||||||
|
success: (_record, payload) => action(ENS_RECORDS[SUCCESS], {ensRecords: [{name: payload.name, address: payload.address}]}),
|
||||||
|
failure: (error) => action(ENS_RECORDS[FAILURE], {error})
|
||||||
|
};
|
||||||
|
|
||||||
// Web Socket
|
// Web Socket
|
||||||
export const WATCH_NEW_PROCESS_LOGS = 'WATCH_NEW_PROCESS_LOGS';
|
export const WATCH_NEW_PROCESS_LOGS = 'WATCH_NEW_PROCESS_LOGS';
|
||||||
export const WATCH_NEW_CONTRACT_LOGS = 'WATCH_NEW_CONTRACT_LOGS';
|
export const WATCH_NEW_CONTRACT_LOGS = 'WATCH_NEW_CONTRACT_LOGS';
|
||||||
|
|
|
@ -80,14 +80,26 @@ export function sendMessage(payload) {
|
||||||
return post(`/communication/sendMessage`, payload.body);
|
return post(`/communication/sendMessage`, payload.body);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function listenToChannel(channel) {
|
|
||||||
return new WebSocket(`${constants.wsEndpoint}/communication/listenTo/${channel}`);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function fetchContractProfile(payload) {
|
export function fetchContractProfile(payload) {
|
||||||
return get(`/profiler/${payload.contractName}`);
|
return get(`/profiler/${payload.contractName}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function fetchENSRecord(payload) {
|
||||||
|
if (payload.name) {
|
||||||
|
return get('/ens/resolve', {params: payload});
|
||||||
|
} else {
|
||||||
|
return get('/ens/lookup', {params: payload});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export function postENSRecord(payload) {
|
||||||
|
return post('/ens/register', payload);
|
||||||
|
}
|
||||||
|
|
||||||
|
export function listenToChannel(channel) {
|
||||||
|
return new WebSocket(`${constants.wsEndpoint}/communication/listenTo/${channel}`);
|
||||||
|
}
|
||||||
|
|
||||||
export function webSocketProcess(processName) {
|
export function webSocketProcess(processName) {
|
||||||
return new WebSocket(constants.wsEndpoint + '/process-logs/' + processName);
|
return new WebSocket(constants.wsEndpoint + '/process-logs/' + processName);
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,7 +17,8 @@ const entitiesDefaultState = {
|
||||||
messageChannels: [],
|
messageChannels: [],
|
||||||
fiddle: null,
|
fiddle: null,
|
||||||
versions: [],
|
versions: [],
|
||||||
plugins: []
|
plugins: [],
|
||||||
|
ensRecords: []
|
||||||
};
|
};
|
||||||
|
|
||||||
const sorter = {
|
const sorter = {
|
||||||
|
|
|
@ -4,7 +4,8 @@ import {eventChannel} from 'redux-saga';
|
||||||
import {all, call, fork, put, takeEvery, take} from 'redux-saga/effects';
|
import {all, call, fork, put, takeEvery, take} from 'redux-saga/effects';
|
||||||
|
|
||||||
const {account, accounts, block, blocks, transaction, transactions, processes, commands, processLogs,
|
const {account, accounts, block, blocks, transaction, transactions, processes, commands, processLogs,
|
||||||
contracts, contract, contractProfile, messageSend, versions, plugins, messageListen, fiddle} = actions;
|
contracts, contract, contractProfile, messageSend, versions, plugins, messageListen, fiddle,
|
||||||
|
ensRecord, ensRecords} = actions;
|
||||||
|
|
||||||
function *doRequest(entity, apiFn, payload) {
|
function *doRequest(entity, apiFn, payload) {
|
||||||
const {response, error} = yield call(apiFn, payload);
|
const {response, error} = yield call(apiFn, payload);
|
||||||
|
@ -32,6 +33,8 @@ export const fetchContract = doRequest.bind(null, contract, api.fetchContract);
|
||||||
export const fetchContractProfile = doRequest.bind(null, contractProfile, api.fetchContractProfile);
|
export const fetchContractProfile = doRequest.bind(null, contractProfile, api.fetchContractProfile);
|
||||||
export const fetchFiddle = doRequest.bind(null, fiddle, api.fetchFiddle);
|
export const fetchFiddle = doRequest.bind(null, fiddle, api.fetchFiddle);
|
||||||
export const sendMessage = doRequest.bind(null, messageSend, api.sendMessage);
|
export const sendMessage = doRequest.bind(null, messageSend, api.sendMessage);
|
||||||
|
export const fetchENSRecord = doRequest.bind(null, ensRecord, api.fetchENSRecord);
|
||||||
|
export const postENSRecord = doRequest.bind(null, ensRecords, api.postENSRecord);
|
||||||
|
|
||||||
export function *watchFetchTransaction() {
|
export function *watchFetchTransaction() {
|
||||||
yield takeEvery(actions.TRANSACTION[actions.REQUEST], fetchTransaction);
|
yield takeEvery(actions.TRANSACTION[actions.REQUEST], fetchTransaction);
|
||||||
|
@ -97,6 +100,14 @@ export function *watchSendMessage() {
|
||||||
yield takeEvery(actions.MESSAGE_SEND[actions.REQUEST], sendMessage);
|
yield takeEvery(actions.MESSAGE_SEND[actions.REQUEST], sendMessage);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function *watchFetchENSRecord() {
|
||||||
|
yield takeEvery(actions.ENS_RECORD[actions.REQUEST], fetchENSRecord);
|
||||||
|
}
|
||||||
|
|
||||||
|
export function *watchPostENSRecords() {
|
||||||
|
yield takeEvery(actions.ENS_RECORDS[actions.REQUEST], postENSRecord);
|
||||||
|
}
|
||||||
|
|
||||||
function createChannel(socket) {
|
function createChannel(socket) {
|
||||||
return eventChannel(emit => {
|
return eventChannel(emit => {
|
||||||
socket.onmessage = ((message) => {
|
socket.onmessage = ((message) => {
|
||||||
|
@ -192,6 +203,8 @@ export default function *root() {
|
||||||
fork(watchFetchContract),
|
fork(watchFetchContract),
|
||||||
fork(watchFetchTransaction),
|
fork(watchFetchTransaction),
|
||||||
fork(watchFetchContractProfile),
|
fork(watchFetchContractProfile),
|
||||||
fork(watchFetchFiddle)
|
fork(watchFetchFiddle),
|
||||||
|
fork(watchFetchENSRecord),
|
||||||
|
fork(watchPostENSRecords)
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue