index.js 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. require('./migrations')
  2. // TODO: App Specific Models
  3. const {database} = require('@alancnet/material-framework/server')
  4. const { Terminal, Client, ServiceCategory, LaborCategory } = database
  5. const initialize = require('./initialize')
  6. const LaborServiceCategory = LaborCategory.belongsToMany(ServiceCategory, { through: 'laborServiceCategories' })
  7. const ServiceLaborCategory = ServiceCategory.belongsToMany(LaborCategory, { through: 'laborServiceCategories' })
  8. // const Terminal = require('./terminal')
  9. const Workday = require('./workday')
  10. const Service = require('./service')
  11. //const Client = require('./client')
  12. const StaffMember = require('./staff-member')
  13. const StaffingAgency = require('./staffing-agency')
  14. const Labor = require('./labor')
  15. const StaffMemberLabor = StaffMember.hasMany(Labor)
  16. const LaborStaffMember = Labor.belongsTo(StaffMember)
  17. const WorkdayLabor = Workday.hasMany(Labor)
  18. const LaborWorkday = Labor.belongsTo(Workday)
  19. const TerminalWorkday = Terminal.hasMany(Workday)
  20. const WorkdayTerminal = Workday.belongsTo(Terminal)
  21. const WorkdayService = Workday.hasMany(Service)
  22. const ServiceWorkday = Service.belongsTo(Workday)
  23. const ClientService = Client.hasMany(Service)
  24. const ServiceClient = Service.belongsTo(Client)
  25. const TerminalStaffMember = Terminal.hasMany(StaffMember)
  26. const StaffMemberTerminal = StaffMember.belongsTo(Terminal)
  27. const LaborCategoryStaffMember = LaborCategory.hasMany(StaffMember)
  28. const StaffMemberLaborCategory = StaffMember.belongsTo(LaborCategory)
  29. const TerminalClient = Terminal.hasMany(Client)
  30. const ClientTerminal = Client.belongsTo(Terminal)
  31. // const StaffingAgencyStaffMember = StaffingAgency.hasMany(StaffMember)
  32. // const StaffMemberStaffingAgency = StaffMember.belongsTo(StaffingAgency)
  33. const originalInit = database.init
  34. const init = async () => {
  35. await originalInit()
  36. await initialize.init(database)
  37. }
  38. module.exports = Object.assign(database, {
  39. init,
  40. Terminal,
  41. Workday,
  42. Service,
  43. Client,
  44. StaffMember,
  45. StaffingAgency,
  46. TerminalWorkday,
  47. WorkdayTerminal,
  48. WorkdayService,
  49. ServiceWorkday,
  50. ClientService,
  51. ServiceClient,
  52. TerminalStaffMember,
  53. StaffMemberTerminal,
  54. Labor,
  55. TerminalClient,
  56. ClientTerminal,
  57. LaborServiceCategory,
  58. ServiceLaborCategory,
  59. LaborCategoryStaffMember,
  60. StaffMemberLaborCategory,
  61. StaffMemberLabor,
  62. LaborStaffMember,
  63. WorkdayLabor,
  64. LaborWorkday
  65. })