index.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  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 TerminalWorkday = Terminal.hasMany(Workday)
  16. const WorkdayTerminal = Workday.belongsTo(Terminal)
  17. const WorkdayService = Workday.hasMany(Service)
  18. const ServiceWorkday = Service.belongsTo(Workday)
  19. const ClientService = Client.hasMany(Service)
  20. const ServiceClient = Service.belongsTo(Client)
  21. const TerminalStaffMember = Terminal.hasMany(StaffMember)
  22. const StaffMemberTerminal = StaffMember.belongsTo(Terminal)
  23. const TerminalClient = Terminal.hasMany(Client)
  24. const ClientTerminal = Client.belongsTo(Terminal)
  25. // const StaffingAgencyStaffMember = StaffingAgency.hasMany(StaffMember)
  26. // const StaffMemberStaffingAgency = StaffMember.belongsTo(StaffingAgency)
  27. const originalInit = database.init
  28. const init = async () => {
  29. await originalInit()
  30. await initialize.init(database)
  31. }
  32. module.exports = Object.assign(database, {
  33. init,
  34. Terminal,
  35. Workday,
  36. Service,
  37. Client,
  38. StaffMember,
  39. StaffingAgency,
  40. TerminalWorkday,
  41. WorkdayTerminal,
  42. WorkdayService,
  43. ServiceWorkday,
  44. ClientService,
  45. ServiceClient,
  46. TerminalStaffMember,
  47. StaffMemberTerminal,
  48. Labor,
  49. TerminalClient,
  50. ClientTerminal,
  51. LaborServiceCategory,
  52. ServiceLaborCategory
  53. })