const app = require('../app') const _ = require('lodash') const { dict } = require('@alancnet/material-framework/lib/util') app.run(function(api) { api.statistics = (date) => api.get(`/api/statistics/${date.format('YYYY-MM-DD')}`) let terminals = null api.terminals = () => terminals || (terminals = api.get('/api/terminals').then(dict)) let terminalDictionary = null api.terminalDictionary = () => terminalDictionary || (terminalDictionary = api.terminals().then(terminals => _.fromPairs(terminals.map(loc => [loc.key, loc])) )) api.terminal = (key) => api.terminals().then(async terminals => (await api.terminalDictionary())[key] ) let staffMembers = null api.staffMembers = () => staffMembers || (staffMembers = api.get('/api/staff-members/all').then(dict)) let staffMemberDictionary = null api.staffMemberDictionary = () => staffMemberDictionary || (staffMemberDictionary = api.staffMembers().then(staffMembers => _.fromPairs(staffMembers.map(sm => [sm.id, sm])) )) let clients = null api.clients = () => clients || (clients = api.get('/api/clients/all').then(dict)) let clientDictionary = null api.clientDictionary = () => clientDictionary || (clientDictionary = api.clients().then(clients => _.fromPairs(clients.map(sm => [sm.id, sm])) )) let laborCategories = null api.laborCategories = () => laborCategories || (laborCategories = api.get('/api/labor-categories').then(dict)) let laborCategoryDictionary= null api.laborCategoryDictionary = () => laborCategoryDictionary || (laborCategoryDictionary = api.laborCategories().then(laborCategories => _.fromPairs(laborCategories.map(lc => [lc.id, lc])) )) let serviceCategories = null api.serviceCategories = () => serviceCategories || (serviceCategories = api.get('/api/service-categories').then(dict)) let serviceCategoryDictionary= null api.serviceCategoryDictionary = () => serviceCategoryDictionary || (serviceCategoryDictionary = api.serviceCategories().then(serviceCategories => _.fromPairs(serviceCategories.map(lc => [lc.id, lc])) )) })