cluedin-widget
Version:
This is the project for creating and managing widgets in CluedIn.
51 lines (38 loc) • 1.4 kB
JavaScript
import constants from '../constants';
import { unauthorized } from './generic';
import { getLastOrganizations } from '../data/organization';
import fake from '../../iso/entity/fake';
var requestGenericLastOrganizations = () => {
return {
type: constants.organization.REQUEST_GENERIC_LAST_ORGANIZATIONS
};
};
var receiveGenericLastOrganizations = ( orgs, page, fake ) => {
if ( !page ) {
page = 0;
}
return {
type: constants.organization.RECEIVE_GENERIC_LAST_ORGANIZATIONS,
data: {
organizations: orgs,
fake: fake,
nextPage: (page + 1 )
}
};
};
var invalidGenericLastOrganizations = () => {
return {
type: constants.organization.INVALID_GENERIC_LAST_ORGANIZATIONS
};
};
export function fetchGenericLastOrganizations( pageNumber ) {
return function( dispatch ) {
dispatch( requestGenericLastOrganizations() );
return getLastOrganizations( pageNumber || 0 ).then( function( resp ) {
if ( !resp || resp.length === 0 && ( !pageNumber || pageNumber === 0 ) ) {
return dispatch( receiveGenericLastOrganizations( fake.organization, pageNumber, true ) );
}
dispatch( receiveGenericLastOrganizations( resp, pageNumber ) );
} ).catch( unauthorized( dispatch, invalidGenericLastOrganizations ) );
};
}