api.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. const app = require('../app')
  2. const _ = require('lodash')
  3. app.run(function(api) {
  4. api.statistics = () => api.get('/api/statistics')
  5. let terminals = null
  6. api.terminals = () => terminals || (terminals = api.get('/api/terminals'))
  7. let terminalsDictionary = null
  8. api.terminalsDictionary = () => terminalsDictionary || (terminalsDictionary = api.terminals().then(terminals =>
  9. _.fromPairs(terminals.map(loc => [loc.key, loc]))
  10. ))
  11. api.terminal = (key) => api.terminals().then(async terminals =>
  12. (await api.terminalsDictionary())[key]
  13. )
  14. let staffMembers = null
  15. api.staffMembers = () => staffMembers || (staffMembers = api.get('/api/staff-members/all'))
  16. let staffMemberDictionary = null
  17. api.staffMemberDictionary = () => staffMemberDictionary || (staffMemberDictionary = api.staffMembers().then(staffMembers =>
  18. _.fromPairs(staffMembers.map(sm => [sm.id, sm]))
  19. ))
  20. let clients = null
  21. api.clients = () => clients || (clients = api.get('/api/clients/all'))
  22. let clientDictionary = null
  23. api.clientDictionary = () => clientDictionary || (clientDictionary = api.clients().then(clients =>
  24. _.fromPairs(clients.map(sm => [sm.id, sm]))
  25. ))
  26. let laborCategories = null
  27. api.laborCategories = () => laborCategories || (laborCategories = api.get('/api/labor-categories'))
  28. let laborCategoryDictionary= null
  29. api.laborCategoryDictionary = () => laborCategoryDictionary || (laborCategoryDictionary = api.laborCategories().then(laborCategories =>
  30. _.fromPairs(laborCategories.map(lc => [lc.id, lc]))
  31. ))
  32. })