export function getLatestCommonsDivisions()

in public/js/actions/ParliamentActions/getLatestCommonsDivisions.js [56:91]


export function getLatestCommonsDivisions() {
  return dispatch => {
    dispatch(requestLatestCommonsDivisions());

    return latestCommonsDivisions()
      .then(data => {
        const items = data.result.items;
        return Promise.all(items.map(item => {
          const parliamentId = item["_about"].split("/").pop();
          const id = `division-${parliamentId}`;

          const divisionData = {
            division: {
              parliamentId: parliamentId,
              date: item.date["_value"],
              title: item.title
            }
          };

          return AtomsApi.getAtom("commonsdivision", id)
            .then(res => res.json())
            .then(atom => {
              divisionData.atom = atom;
              return divisionData;
            })
            .catch(() => divisionData); //No atom exists, this is fine
        }));
      })
      .then(results => {
        dispatch(receiveLatestCommonsDivisions(results));
      })
      .catch(error => {
        dispatch(errorReceivingLatestCommonsDivisions(error));
      });
  };
}