mirror of
https://github.com/ascribe/onion.git
synced 2024-12-23 09:50:31 +01:00
46 lines
1.4 KiB
JavaScript
46 lines
1.4 KiB
JavaScript
'use strict';
|
|
|
|
import requests from '../utils/requests';
|
|
|
|
import WebhookActions from '../actions/webhook_actions';
|
|
|
|
|
|
const WebhookSource = {
|
|
lookupWebhooks: {
|
|
remote() {
|
|
return requests.get('webhooks');
|
|
},
|
|
local(state) {
|
|
return state.webhooks && !Object.keys(state.webhooks).length ? state : {};
|
|
},
|
|
success: WebhookActions.successFetchWebhooks,
|
|
error: WebhookActions.errorWebhooks,
|
|
shouldFetch(state) {
|
|
return state.webhookMeta.invalidateCache || state.webhooks && !Object.keys(state.webhooks).length;
|
|
}
|
|
},
|
|
|
|
lookupWebhookEvents: {
|
|
remote() {
|
|
return requests.get('webhooks_events');
|
|
},
|
|
local(state) {
|
|
return state.webhookEvents && !Object.keys(state.webhookEvents).length ? state : {};
|
|
},
|
|
success: WebhookActions.successFetchWebhookEvents,
|
|
error: WebhookActions.errorWebhookEvents,
|
|
shouldFetch(state) {
|
|
return state.webhookEventsMeta.invalidateCache || state.webhookEvents && !Object.keys(state.webhookEvents).length;
|
|
}
|
|
},
|
|
|
|
performRemoveWebhook: {
|
|
remote(state) {
|
|
return requests.delete('webhook', {'webhook_id': state.webhookMeta.idToDelete });
|
|
},
|
|
success: WebhookActions.successRemoveWebhook,
|
|
error: WebhookActions.errorWebhooks
|
|
}
|
|
};
|
|
|
|
export default WebhookSource; |