legacy/src/api.js
import m from 'mithril';
import Postgrest from 'mithril-postgrest';
const platformTokenMeta = document.querySelector('[name="common-platform-token"]');
const platformToken = platformTokenMeta ? platformTokenMeta.getAttribute('content') : null;
const commonRequestHeader = { 'Platform-Code': platformToken };
const apiInit = (api, apiMeta, authUrl, globalHeader) => {
api.init(apiMeta.getAttribute('content'), { method: 'GET', url: authUrl }, globalHeader);
};
const catarse = new Postgrest(m);
const catarseApiMeta = document.querySelector('[name="api-host"]');
apiInit(catarse, catarseApiMeta, '/api_token');
const catarseMoments = new Postgrest(m);
const catarseApiMomentsMeta = document.querySelector('[name="api-moments-host"]');
apiInit(catarseMoments, catarseApiMomentsMeta, '/api_token');
const commonPayment = new Postgrest(m);
const commonPaymentApiMeta = document.querySelector('[name="common-payment-api-host"]');
apiInit(commonPayment, commonPaymentApiMeta, '/api_token/common', commonRequestHeader);
const commonProject = new Postgrest(m);
const commonProjectApiMeta = document.querySelector('[name="common-project-api-host"]');
apiInit(commonProject, commonProjectApiMeta, '/api_token/common', commonRequestHeader);
const commonAnalytics = new Postgrest(m);
const commonAnalyticsApiMeta = document.querySelector('[name="common-analytics-api-host"]');
apiInit(commonAnalytics, commonAnalyticsApiMeta, '/api_token/common', commonRequestHeader);
const commonNotification = new Postgrest(m);
const commonNotificationApiMeta = document.querySelector('[name="common-notification-api-host"]');
apiInit(commonNotification, commonNotificationApiMeta, '/api_token/common', commonRequestHeader);
// not a postgrest instance, but pretend it is to get free pagination
const commonRecommender = new Postgrest(m);
const commonRecommenderApiMeta = document.querySelector('[name="common-recommender-api-host"]');
apiInit(commonRecommender, commonRecommenderApiMeta, '/api_token/common', commonRequestHeader);
const commonCommunity = new Postgrest(m);
const commonCommunityApiMeta = document.querySelector('[name="common-community-api-host"]');
apiInit(commonCommunity, commonCommunityApiMeta, '/api_token/common', commonRequestHeader);
const commonProxy = new Postgrest(m);
const commonProxyApiMeta = document.querySelector('[name="common-proxy-api-host"]');
apiInit(commonProxy, commonProxyApiMeta, '/api_token/common_proxy', commonRequestHeader);
export {
catarse,
catarseMoments,
commonPayment,
commonProject,
commonAnalytics,
commonNotification,
commonRecommender,
commonCommunity,
commonProxy
};