api.js 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. const app = require('../app')
  2. const _ = require('lodash')
  3. const { dict } = require('@alancnet/material-framework/lib/util')
  4. app.run(function(api) {
  5. api.statistics = (date) => api.get(`/api/statistics/${date.format('YYYY-MM-DD')}`)
  6. let terminals = null
  7. api.terminals = () => terminals || (terminals = api.get('/api/terminals').then(dict))
  8. let terminalDictionary = null
  9. api.terminalDictionary = () => terminalDictionary || (terminalDictionary = api.terminals().then(terminals =>
  10. _.fromPairs(terminals.map(loc => [loc.key, loc]))
  11. ))
  12. api.terminal = (key) => api.terminals().then(async terminals =>
  13. (await api.terminalDictionary())[key]
  14. )
  15. let staffMembers = null
  16. api.staffMembers = () => staffMembers || (staffMembers = api.get('/api/staff-members/all').then(dict))
  17. let staffMemberDictionary = null
  18. api.staffMemberDictionary = () => staffMemberDictionary || (staffMemberDictionary = api.staffMembers().then(staffMembers =>
  19. _.fromPairs(staffMembers.map(sm => [sm.id, sm]))
  20. ))
  21. let clients = null
  22. api.clients = () => clients || (clients = api.get('/api/clients/all').then(dict))
  23. let clientDictionary = null
  24. api.clientDictionary = () => clientDictionary || (clientDictionary = api.clients().then(clients =>
  25. _.fromPairs(clients.map(sm => [sm.id, sm]))
  26. ))
  27. let laborCategories = null
  28. api.laborCategories = () => laborCategories || (laborCategories = api.get('/api/labor-categories').then(dict))
  29. let laborCategoryDictionary= null
  30. api.laborCategoryDictionary = () => laborCategoryDictionary || (laborCategoryDictionary = api.laborCategories().then(laborCategories =>
  31. _.fromPairs(laborCategories.map(lc => [lc.id, lc]))
  32. ))
  33. let serviceCategories = null
  34. api.serviceCategories = () => serviceCategories || (serviceCategories = api.get('/api/service-categories').then(dict))
  35. let serviceCategoryDictionary= null
  36. api.serviceCategoryDictionary = () => serviceCategoryDictionary || (serviceCategoryDictionary = api.serviceCategories().then(serviceCategories =>
  37. _.fromPairs(serviceCategories.map(lc => [lc.id, lc]))
  38. ))
  39. })