function updateSubscriptions (bustCache = false) {
  const subscriptionsOrPromise = store.subscriptions.length ? store.subscriptions : subscriptionsPromiseCache
  if (!bustCache && subscriptionsOrPromise) return Promise.resolve(subscriptionsOrPromise)

  // eslint-disable-next-line no-return-assign
  return subscriptionsPromiseCache = apiGatewayClientWithCredentials()
    .then(apiGatewayClient => apiGatewayClient.get('/subscriptions', {}, {}, {}))
    .then(({ data }) => (store.subscriptions = data))
}
Fetch and update subscriptions store. Uses caching to determine if it should actually fetch or return the stored result.

@param {Boolean} [bustCache=false]   Ignore the cache and re-make the network call. Defaults to false.