const app = require('../app') const _ = require('lodash') app.run(function(api) { api.statistics = () => api.get('/api/statistics') let terminals = null api.terminals = () => terminals || (terminals = api.get('/api/terminals')) let terminalsDictionary = null api.terminalsDictionary = () => terminalsDictionary || (terminalsDictionary = api.terminals().then(terminals => _.fromPairs(terminals.map(loc => [loc.key, loc])) )) api.terminal = (key) => api.terminals().then(async terminals => (await api.terminalsDictionary())[key] ) let staffMembers = null api.staffMembers = () => staffMembers || (staffMembers = api.get('/api/staff-members/all')) let staffMemberDictionary = null api.staffMemberDictionary = () => staffMemberDictionary || (staffMemberDictionary = api.staffMembers().then(staffMembers => _.fromPairs(staffMembers.map(sm => [sm.id, sm])) )) let retailers = null api.retailers = () => retailers || (retailers = api.get('/api/retailers/all')) let retailerDictionary = null api.retailerDictionary = () => retailerDictionary || (retailerDictionary = api.retailers().then(retailers => _.fromPairs(retailers.map(sm => [sm.id, sm])) )) })