flexbiz-server 9.20.21 → 9.20.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (785) hide show
  1. package/package.json +2 -1
  2. package/server/app.js +11 -12
  3. package/server/app.jsc +0 -0
  4. package/server/auths/bearer.js +0 -0
  5. package/server/auths/facebook.js +0 -0
  6. package/server/auths/google.js +0 -0
  7. package/server/auths/local.js +15 -15
  8. package/server/cluster.js +11 -10
  9. package/server/cluster.jsc +0 -0
  10. package/server/controllers/controller.js +237 -217
  11. package/server/controllers/controllerRPT.js +41 -27
  12. package/server/data/account.js +0 -0
  13. package/server/data/ckgtluong.js +0 -0
  14. package/server/data/currency.js +0 -0
  15. package/server/data/dmdvt.js +0 -0
  16. package/server/data/dmkho.js +0 -0
  17. package/server/data/dvcs.js +0 -0
  18. package/server/data/kbm_bcdkt.js +0 -0
  19. package/server/data/kbm_kqhdkd.js +0 -0
  20. package/server/data/kbm_lcttgt.js +0 -0
  21. package/server/data/kbm_lctttt.js +0 -0
  22. package/server/data/kbm_tkgtgt.js +0 -0
  23. package/server/data/parameter.js +0 -0
  24. package/server/data/ptthanhtoan.js +0 -0
  25. package/server/data/rpt.js +0 -0
  26. package/server/data/rptobject.js +0 -0
  27. package/server/data/sys/labelinfo.js +0 -0
  28. package/server/data/sys/listinfo.js +0 -0
  29. package/server/data/sys/quanhuyen.js +0 -0
  30. package/server/data/sys/reportinfo.js +0 -0
  31. package/server/data/sys/tableinfo.js +0 -0
  32. package/server/data/sys/templatestore.js +0 -0
  33. package/server/data/sys/tinhthanh.js +0 -0
  34. package/server/data/sys/trangthai.js +0 -0
  35. package/server/data/tc.js +0 -0
  36. package/server/data/usergroup.js +0 -0
  37. package/server/data/vat.js +0 -0
  38. package/server/global.js +5 -4
  39. package/server/images/avatar.jpg +0 -0
  40. package/server/libs/BlockchainTransactionPool.js +2 -2
  41. package/server/libs/WorkerPool.js +0 -0
  42. package/server/libs/WorkerStaticPool.js +3 -3
  43. package/server/libs/backup.js +0 -0
  44. package/server/libs/blockchainconnect.js +17 -13
  45. package/server/libs/cdpsdiem.js +0 -0
  46. package/server/libs/cdpsdt.js +0 -0
  47. package/server/libs/cdpskh.js +0 -0
  48. package/server/libs/cdpstk.js +0 -0
  49. package/server/libs/ckcn.js +0 -0
  50. package/server/libs/ckdiem.js +0 -0
  51. package/server/libs/ckdt.js +0 -0
  52. package/server/libs/cktk.js +0 -0
  53. package/server/libs/cktt.js +0 -0
  54. package/server/libs/ckvt.js +8 -7
  55. package/server/libs/ckvtcapphat.js +3 -2
  56. package/server/libs/ckvttt.js +11 -0
  57. package/server/libs/ctdiem.js +0 -0
  58. package/server/libs/ctvt.js +0 -0
  59. package/server/libs/ctvttt.js +7 -0
  60. package/server/libs/databanle.js +0 -0
  61. package/server/libs/dkcn.js +0 -0
  62. package/server/libs/dkdiem.js +0 -0
  63. package/server/libs/dkdt.js +0 -0
  64. package/server/libs/dktk.js +0 -0
  65. package/server/libs/dktt.js +0 -0
  66. package/server/libs/dkvt.js +3 -3
  67. package/server/libs/dkvttt.js +7 -0
  68. package/server/libs/dncn.js +0 -0
  69. package/server/libs/dntk.js +0 -0
  70. package/server/libs/dntt.js +0 -0
  71. package/server/libs/dstkcn.js +0 -0
  72. package/server/libs/dstktt.js +0 -0
  73. package/server/libs/email.js +0 -0
  74. package/server/libs/excel.js +0 -0
  75. package/server/libs/getGiaban.js +11 -11
  76. package/server/libs/getNotifies.js +0 -0
  77. package/server/libs/htmlReport.js +5 -0
  78. package/server/libs/initDatabase.js +0 -0
  79. package/server/libs/load-template.js +0 -0
  80. package/server/libs/mailmanagement.js +0 -0
  81. package/server/libs/mongooseLeanId.js +1 -1
  82. package/server/libs/onepay-payment.js +0 -0
  83. package/server/libs/parse-template.js +0 -0
  84. package/server/libs/permission.js +16 -15
  85. package/server/libs/phanbokh.js +0 -0
  86. package/server/libs/post-book.js +0 -0
  87. package/server/libs/post-socai.js +9 -7
  88. package/server/libs/prototypes.js +4 -4
  89. package/server/libs/psdt.js +0 -0
  90. package/server/libs/pskh.js +0 -0
  91. package/server/libs/pstk.js +0 -0
  92. package/server/libs/redis-cache.js +0 -0
  93. package/server/libs/restore.js +0 -0
  94. package/server/libs/schedule.js +0 -0
  95. package/server/libs/syncSQL.js +0 -0
  96. package/server/libs/thnxt.js +7 -7
  97. package/server/libs/thnxttt.js +7 -0
  98. package/server/libs/tinhGtCapnhatPNK.js +0 -0
  99. package/server/libs/tinhGtPhanboSltp.js +0 -0
  100. package/server/libs/tinhGtPhanboYtcp.js +0 -0
  101. package/server/libs/tinhGtSltk.js +0 -0
  102. package/server/libs/tinhGtThcppstk.js +0 -0
  103. package/server/libs/tinhGtTrucTiep.js +0 -0
  104. package/server/libs/tinhGtXoa.js +0 -0
  105. package/server/libs/tinhgiatb.js +0 -0
  106. package/server/libs/tinhgiatb1vt.js +0 -0
  107. package/server/libs/tinhkhauhao1ts.js +0 -0
  108. package/server/libs/tinhkhauhaots.js +0 -0
  109. package/server/libs/utils.js +3 -3
  110. package/server/libs/validate.js +0 -0
  111. package/server/libs/validator-acc-cust.js +0 -0
  112. package/server/libs/validator-account.js +0 -0
  113. package/server/libs/validator-vt.js +0 -0
  114. package/server/libs/validator.js +0 -0
  115. package/server/libs/vsocai.js +4 -3
  116. package/server/menu.js +0 -0
  117. package/server/models/account.js +2 -2
  118. package/server/models/app.js +3 -3
  119. package/server/models/approve.js +29 -26
  120. package/server/models/area.js +1 -1
  121. package/server/models/assbuy.js +3 -0
  122. package/server/models/asscashwithdraw.js +3 -0
  123. package/server/models/assinvestment.js +4 -0
  124. package/server/models/asskey.js +2 -2
  125. package/server/models/assneedtobuy.js +3 -0
  126. package/server/models/assperiod.js +3 -0
  127. package/server/models/assproduct.js +3 -0
  128. package/server/models/assreceiver.js +2 -2
  129. package/server/models/assrequest.js +2 -2
  130. package/server/models/asssell.js +3 -0
  131. package/server/models/asstransfer.js +2 -2
  132. package/server/models/asswithdraw.js +3 -0
  133. package/server/models/attend.js +1 -1
  134. package/server/models/bangtinhluong.js +2 -2
  135. package/server/models/bg1.js +1 -1
  136. package/server/models/bg2.js +1 -1
  137. package/server/models/block.js +0 -0
  138. package/server/models/building.js +0 -0
  139. package/server/models/calllog.js +0 -0
  140. package/server/models/campaign.js +0 -0
  141. package/server/models/cart.js +1 -1
  142. package/server/models/cddiem.js +0 -0
  143. package/server/models/cddt.js +0 -0
  144. package/server/models/cdkh.js +0 -0
  145. package/server/models/cdtk.js +0 -0
  146. package/server/models/cdvt.js +3 -3
  147. package/server/models/chamcong.js +0 -0
  148. package/server/models/checkin.js +0 -0
  149. package/server/models/checkinactivity.js +3 -3
  150. package/server/models/checkinkpi.js +0 -0
  151. package/server/models/chitieukpi.js +0 -0
  152. package/server/models/chudethaoluan.js +0 -0
  153. package/server/models/ckgtluong.js +2 -2
  154. package/server/models/colleague.js +0 -0
  155. package/server/models/comment.js +0 -0
  156. package/server/models/congdoansx.js +0 -0
  157. package/server/models/congtacvien.js +0 -0
  158. package/server/models/consultant.js +0 -0
  159. package/server/models/contract.js +0 -0
  160. package/server/models/counter.js +0 -0
  161. package/server/models/ctds.js +4 -3
  162. package/server/models/currency.js +1 -1
  163. package/server/models/customer.js +0 -0
  164. package/server/models/datlich.js +0 -0
  165. package/server/models/department.js +0 -0
  166. package/server/models/diagram.js +1 -1
  167. package/server/models/dinhmucsx.js +3 -3
  168. package/server/models/dkhoc.js +1 -1
  169. package/server/models/dmban.js +0 -0
  170. package/server/models/dmbp.js +2 -2
  171. package/server/models/dmca.js +0 -0
  172. package/server/models/dmchietkhau.js +4 -4
  173. package/server/models/dmchietkhauhd.js +5 -0
  174. package/server/models/dmcpmh.js +0 -0
  175. package/server/models/dmdiemthuong.js +1 -1
  176. package/server/models/dmdoi.js +3 -2
  177. package/server/models/dmdoituongdanhgia.js +0 -0
  178. package/server/models/dmdt.js +0 -0
  179. package/server/models/dmdvt.js +2 -2
  180. package/server/models/dmgiaban.js +5 -5
  181. package/server/models/dmkc.js +2 -2
  182. package/server/models/dmkho.js +4 -3
  183. package/server/models/dmkhuyenmai.js +4 -3
  184. package/server/models/dmletet.js +0 -0
  185. package/server/models/dmlo.js +1 -1
  186. package/server/models/dmloaicong.js +1 -1
  187. package/server/models/dmloaitask.js +2 -0
  188. package/server/models/dmloaits.js +1 -1
  189. package/server/models/dmnguonvon.js +1 -1
  190. package/server/models/dmnhnv.js +3 -3
  191. package/server/models/dmnv.js +5 -4
  192. package/server/models/dmnvt.js +2 -2
  193. package/server/models/dmphatdichvu.js +0 -0
  194. package/server/models/dmphi.js +1 -1
  195. package/server/models/dmqct.js +1 -1
  196. package/server/models/dmqddvt.js +2 -2
  197. package/server/models/dmtanggiamts.js +1 -1
  198. package/server/models/dmto.js +2 -2
  199. package/server/models/dmtt.js +3 -0
  200. package/server/models/dmvt.js +8 -7
  201. package/server/models/dmyt.js +2 -2
  202. package/server/models/dn0.js +5 -5
  203. package/server/models/dnm.js +3 -3
  204. package/server/models/dokho.js +2 -2
  205. package/server/models/dvcs.js +1 -1
  206. package/server/models/endpoint.js +0 -0
  207. package/server/models/events.js +2 -1
  208. package/server/models/evoucher.js +1 -1
  209. package/server/models/experiencejourney.js +0 -0
  210. package/server/models/experiencejourneydata.js +0 -0
  211. package/server/models/experiencejourneypersona.js +0 -0
  212. package/server/models/experiencejourneystage.js +0 -0
  213. package/server/models/fieldright.js +0 -0
  214. package/server/models/file.js +0 -0
  215. package/server/models/floor.js +0 -0
  216. package/server/models/floordetail.js +0 -0
  217. package/server/models/follow.js +0 -0
  218. package/server/models/form.js +0 -0
  219. package/server/models/forminfo.js +2 -1
  220. package/server/models/formvalue.js +2 -2
  221. package/server/models/giaoca.js +3 -3
  222. package/server/models/giatb.js +1 -1
  223. package/server/models/group.js +3 -2
  224. package/server/models/gt_ctgt.js +1 -1
  225. package/server/models/gt_sltk.js +1 -1
  226. package/server/models/gt_thcppstk.js +1 -1
  227. package/server/models/hanmucton.js +4 -0
  228. package/server/models/hd1.js +0 -0
  229. package/server/models/hd2.js +7 -6
  230. package/server/models/hd3.js +3 -2
  231. package/server/models/hd7.js +2 -2
  232. package/server/models/hlink.js +0 -0
  233. package/server/models/hlinkvalue.js +0 -0
  234. package/server/models/hspbts.js +1 -1
  235. package/server/models/introducecode.js +0 -0
  236. package/server/models/introducer.js +0 -0
  237. package/server/models/invpackage.js +0 -0
  238. package/server/models/invproject.js +0 -0
  239. package/server/models/invround.js +0 -0
  240. package/server/models/invuser.js +0 -0
  241. package/server/models/kbbtpb.js +1 -1
  242. package/server/models/kbmPttct.js +4 -4
  243. package/server/models/kbm_bcdkt.js +0 -0
  244. package/server/models/kbm_kqhdkd.js +0 -0
  245. package/server/models/kbm_lcttgt.js +0 -0
  246. package/server/models/kbm_lctttt.js +0 -0
  247. package/server/models/kbm_pttct.js +1 -1
  248. package/server/models/kbm_tkgtgt.js +0 -0
  249. package/server/models/kbmbcqt.js +4 -4
  250. package/server/models/kbmtmbctc.js +1 -1
  251. package/server/models/kehoachdtcp.js +0 -0
  252. package/server/models/kehoachmh.js +2 -2
  253. package/server/models/keyresult.js +3 -3
  254. package/server/models/label.js +0 -0
  255. package/server/models/labelinfo.js +0 -0
  256. package/server/models/lenhcapphat.js +1 -1
  257. package/server/models/lenhsx.js +1 -1
  258. package/server/models/lesson.js +2 -2
  259. package/server/models/license.js +0 -0
  260. package/server/models/lienhe.js +0 -0
  261. package/server/models/like_module.js +0 -0
  262. package/server/models/link.js +0 -0
  263. package/server/models/listinfo.js +31 -26
  264. package/server/models/loaidiem.js +2 -2
  265. package/server/models/lock.js +0 -0
  266. package/server/models/log.js +0 -0
  267. package/server/models/mailaccount.js +2 -1
  268. package/server/models/mailgroup.js +1 -1
  269. package/server/models/mailreceived.js +1 -1
  270. package/server/models/mailschedule.js +1 -1
  271. package/server/models/mailsent.js +1 -1
  272. package/server/models/mailtemplate.js +0 -0
  273. package/server/models/maudanhgia.js +1 -1
  274. package/server/models/message.js +1 -1
  275. package/server/models/message2.js +2 -2
  276. package/server/models/message2setting.js +1 -1
  277. package/server/models/moduleinfo.js +1 -1
  278. package/server/models/momo.js +17 -13
  279. package/server/models/news.js +1 -1
  280. package/server/models/newsfeed.js +1 -1
  281. package/server/models/nhadat.js +0 -0
  282. package/server/models/note.js +1 -1
  283. package/server/models/notification.js +2 -1
  284. package/server/models/okr.js +4 -3
  285. package/server/models/okrdiagram.js +1 -1
  286. package/server/models/onepay.js +13 -12
  287. package/server/models/opportunity.js +2 -1
  288. package/server/models/options.js +0 -0
  289. package/server/models/otp.js +1 -1
  290. package/server/models/parameter.js +1 -1
  291. package/server/models/participant.js +4 -4
  292. package/server/models/partner.js +0 -0
  293. package/server/models/payload.js +0 -0
  294. package/server/models/pbl.js +9 -8
  295. package/server/models/pc0.js +8 -8
  296. package/server/models/pc1.js +9 -8
  297. package/server/models/pc2.js +4 -4
  298. package/server/models/pc3.js +7 -7
  299. package/server/models/pdn.js +3 -3
  300. package/server/models/pdx.js +1 -1
  301. package/server/models/phieudanhgia.js +0 -0
  302. package/server/models/phucap.js +2 -0
  303. package/server/models/pkc.js +0 -0
  304. package/server/models/pkh.js +0 -0
  305. package/server/models/pkk.js +2 -2
  306. package/server/models/pkt.js +3 -3
  307. package/server/models/pn1.js +4 -4
  308. package/server/models/pn2.js +1 -1
  309. package/server/models/pn3.js +4 -4
  310. package/server/models/pn5.js +2 -2
  311. package/server/models/pn6.js +2 -2
  312. package/server/models/pn9.js +4 -4
  313. package/server/models/pnc.js +2 -2
  314. package/server/models/pnh.js +1 -1
  315. package/server/models/pnk.js +2 -2
  316. package/server/models/po1.js +1 -1
  317. package/server/models/ppb.js +1 -1
  318. package/server/models/profile.js +0 -0
  319. package/server/models/pt1.js +8 -7
  320. package/server/models/pt5.js +1 -1
  321. package/server/models/ptl.js +0 -0
  322. package/server/models/ptthanhtoan.js +3 -3
  323. package/server/models/purchase_contract.js +3 -3
  324. package/server/models/pxc.js +2 -2
  325. package/server/models/pxh.js +9 -0
  326. package/server/models/pxk.js +2 -2
  327. package/server/models/qts.js +0 -0
  328. package/server/models/qts_dieuchinh.js +0 -0
  329. package/server/models/quanhuyen.js +0 -0
  330. package/server/models/reason.js +0 -0
  331. package/server/models/reportinfo.js +4 -3
  332. package/server/models/right.js +0 -0
  333. package/server/models/rpt.js +1 -1
  334. package/server/models/rptform.js +3 -3
  335. package/server/models/rptobject.js +1 -1
  336. package/server/models/sale_contract.js +1 -1
  337. package/server/models/schedule.js +0 -0
  338. package/server/models/schedule_log.js +0 -0
  339. package/server/models/service.js +1 -1
  340. package/server/models/session.js +1 -1
  341. package/server/models/shipbook.js +1 -1
  342. package/server/models/shortcut.js +1 -1
  343. package/server/models/so1.js +9 -8
  344. package/server/models/so2.js +0 -0
  345. package/server/models/so3.js +0 -0
  346. package/server/models/so4.js +0 -0
  347. package/server/models/socai.js +13 -8
  348. package/server/models/sodiemthuong.js +0 -0
  349. package/server/models/sokho.js +12 -10
  350. package/server/models/sokhocapphat.js +11 -10
  351. package/server/models/sokhott.js +12 -0
  352. package/server/models/sophanbokh.js +1 -1
  353. package/server/models/sosanxuat.js +1 -1
  354. package/server/models/sotinhkh.js +0 -0
  355. package/server/models/spdd_ck.js +1 -1
  356. package/server/models/spdd_dk.js +1 -1
  357. package/server/models/step.js +2 -2
  358. package/server/models/strategicdiagram.js +3 -2
  359. package/server/models/strategicgoal.js +3 -2
  360. package/server/models/strategickpi.js +2 -2
  361. package/server/models/strategicobjective.js +3 -2
  362. package/server/models/strategicplan.js +2 -2
  363. package/server/models/subscribe.js +0 -0
  364. package/server/models/support.js +1 -1
  365. package/server/models/synctime.js +0 -0
  366. package/server/models/sysconfig.js +2 -2
  367. package/server/models/sysgroup.js +1 -1
  368. package/server/models/tableinfo.js +1 -1
  369. package/server/models/task.js +6 -6
  370. package/server/models/taskreg.js +1 -1
  371. package/server/models/tc.js +0 -0
  372. package/server/models/tdttco.js +2 -2
  373. package/server/models/tdttco_tt.js +2 -1
  374. package/server/models/tdttno.js +2 -2
  375. package/server/models/tdttno_tt.js +2 -2
  376. package/server/models/templaterpt.js +1 -1
  377. package/server/models/templatestore.js +1 -1
  378. package/server/models/templatevoucher.js +1 -1
  379. package/server/models/tinhthanh.js +2 -2
  380. package/server/models/tokens.js +0 -0
  381. package/server/models/tontucthoi.js +1 -1
  382. package/server/models/training.js +2 -1
  383. package/server/models/trangthai.js +1 -1
  384. package/server/models/transaction.js +0 -0
  385. package/server/models/trialinfo.js +0 -0
  386. package/server/models/user.js +7 -7
  387. package/server/models/usergroup.js +1 -1
  388. package/server/models/vanchuyen.js +3 -3
  389. package/server/models/vat.js +2 -2
  390. package/server/models/vatra.js +0 -0
  391. package/server/models/vatvao.js +0 -0
  392. package/server/models/versioninfo.js +0 -0
  393. package/server/models/voice-command.js +0 -0
  394. package/server/models/vsocai.js +4 -4
  395. package/server/models/waitevent.js +2 -2
  396. package/server/models/wallet.js +0 -0
  397. package/server/models/warranty.js +2 -1
  398. package/server/models/xaphuong.js +0 -0
  399. package/server/models/xhd.js +3 -3
  400. package/server/models/ytdd_ck.js +2 -2
  401. package/server/models/ytdd_dk.js +1 -1
  402. package/server/models/zalo.js +17 -0
  403. package/server/modules/lists/bg-cdvt.js +3 -3
  404. package/server/modules/lists/ls-account.js +4 -4
  405. package/server/modules/lists/ls-approve.js +2 -0
  406. package/server/modules/lists/ls-assbuy.js +5 -0
  407. package/server/modules/lists/ls-asscashwithdraw.js +11 -0
  408. package/server/modules/lists/ls-assinvestment.js +15 -0
  409. package/server/modules/lists/ls-asskey.js +22 -20
  410. package/server/modules/lists/ls-assneedtobuy.js +9 -0
  411. package/server/modules/lists/ls-assperiod.js +9 -0
  412. package/server/modules/lists/ls-assproduct.js +9 -0
  413. package/server/modules/lists/ls-asssell.js +10 -0
  414. package/server/modules/lists/ls-asstransfer.js +3 -3
  415. package/server/modules/lists/ls-asswithdraw.js +7 -0
  416. package/server/modules/lists/ls-checkinactivity.js +8 -4
  417. package/server/modules/lists/ls-ckgtluong.js +1 -1
  418. package/server/modules/lists/ls-ctds.js +2 -2
  419. package/server/modules/lists/ls-customer.js +6 -7
  420. package/server/modules/lists/ls-dkhoc.js +4 -4
  421. package/server/modules/lists/ls-dmchietkhau.js +1 -1
  422. package/server/modules/lists/ls-dmchietkhauhd.js +3 -0
  423. package/server/modules/lists/ls-dmdt.js +3 -3
  424. package/server/modules/lists/ls-dmnv.js +4 -3
  425. package/server/modules/lists/ls-dmqddvt.js +2 -2
  426. package/server/modules/lists/ls-dmvt.js +11 -10
  427. package/server/modules/lists/ls-kbm-bcqt.js +5 -1
  428. package/server/modules/lists/ls-keyresult.js +7 -6
  429. package/server/modules/lists/ls-okr.js +5 -5
  430. package/server/modules/lists/ls-participant.js +4 -4
  431. package/server/modules/lists/ls-phucap.js +1 -0
  432. package/server/modules/lists/ls-profile.js +1 -1
  433. package/server/modules/lists/ls-rpt.js +4 -4
  434. package/server/modules/lists/ls-rptform.js +1 -1
  435. package/server/modules/lists/ls-task.js +21 -22
  436. package/server/modules/lists/ls-tontucthoi.js +3 -3
  437. package/server/modules/lists/ls-usergroup.js +2 -1
  438. package/server/modules/lists/ls_hanmucton.js +3 -0
  439. package/server/modules/lists/sys-right.js +1 -1
  440. package/server/modules/public/callin.js +4 -3
  441. package/server/modules/public/paymentCallback.js +5 -6
  442. package/server/modules/reports/calc-tinhluong.js +23 -19
  443. package/server/modules/reports/rp-bcqt.js +66 -16
  444. package/server/modules/reports/rp-chitietchitientheohoadon.js +3 -3
  445. package/server/modules/reports/rp-chitietthutientheohoadon.js +3 -3
  446. package/server/modules/reports/rp-ckvttt.js +3 -0
  447. package/server/modules/reports/rp-congviectheobp.js +8 -8
  448. package/server/modules/reports/rp-congviectheodt.js +8 -8
  449. package/server/modules/reports/rp-congviectheokh.js +8 -8
  450. package/server/modules/reports/rp-congviectheonv.js +9 -8
  451. package/server/modules/reports/rp-congviectheotimeline.js +3 -3
  452. package/server/modules/reports/rp-getbtpb.js +4 -4
  453. package/server/modules/reports/rp-getcashbycashier.js +3 -2
  454. package/server/modules/reports/rp-getdk4pkc.js +8 -7
  455. package/server/modules/reports/rp-getluongchuyen.js +2 -2
  456. package/server/modules/reports/rp-ptcttct.js +10 -9
  457. package/server/modules/reports/rp-pttct.js +25 -17
  458. package/server/modules/reports/rp-sctbhxh.js +4 -0
  459. package/server/modules/reports/rp-sctluong.js +3 -3
  460. package/server/modules/reports/rp-sctthuetncn.js +3 -3
  461. package/server/modules/reports/rp-sctvttt.js +3 -0
  462. package/server/modules/reports/rp-socai.js +5 -5
  463. package/server/modules/reports/rp-sokho.js +5 -4
  464. package/server/modules/reports/rp-sokhott.js +6 -0
  465. package/server/modules/reports/rp-thnxt.js +1 -1
  466. package/server/modules/reports/rp-thnxttt.js +7 -0
  467. package/server/modules/systems/sys-app.js +6 -6
  468. package/server/modules/systems/sys-quanhuyen.js +1 -1
  469. package/server/modules/systems/sys-reportinfo.js +3 -3
  470. package/server/modules/systems/sys-tinhthanh.js +1 -1
  471. package/server/modules/systems/sys-xaphuong.js +1 -1
  472. package/server/modules/vouchers/vo-bc1.js +15 -12
  473. package/server/modules/vouchers/vo-bc5.js +7 -6
  474. package/server/modules/vouchers/vo-bg1.js +6 -6
  475. package/server/modules/vouchers/vo-bg2.js +8 -7
  476. package/server/modules/vouchers/vo-bn1.js +26 -18
  477. package/server/modules/vouchers/vo-dinhmucsx.js +5 -5
  478. package/server/modules/vouchers/vo-dn0.js +8 -8
  479. package/server/modules/vouchers/vo-dnm.js +20 -16
  480. package/server/modules/vouchers/vo-hd1.js +27 -26
  481. package/server/modules/vouchers/vo-hd2.js +36 -34
  482. package/server/modules/vouchers/vo-hd3.js +19 -18
  483. package/server/modules/vouchers/vo-hd7.js +33 -29
  484. package/server/modules/vouchers/vo-kbbtpb.js +5 -5
  485. package/server/modules/vouchers/vo-lenhsx.js +1 -1
  486. package/server/modules/vouchers/vo-pbl.js +49 -44
  487. package/server/modules/vouchers/vo-pc0.js +12 -11
  488. package/server/modules/vouchers/vo-pc1.js +22 -14
  489. package/server/modules/vouchers/vo-pc2.js +18 -14
  490. package/server/modules/vouchers/vo-pc3.js +13 -13
  491. package/server/modules/vouchers/vo-pdn.js +9 -9
  492. package/server/modules/vouchers/vo-pdx.js +7 -8
  493. package/server/modules/vouchers/vo-pkc.js +5 -4
  494. package/server/modules/vouchers/vo-pkh.js +6 -6
  495. package/server/modules/vouchers/vo-pkk.js +13 -12
  496. package/server/modules/vouchers/vo-pkt.js +10 -10
  497. package/server/modules/vouchers/vo-pn1.js +20 -20
  498. package/server/modules/vouchers/vo-pn2.js +12 -12
  499. package/server/modules/vouchers/vo-pn3.js +15 -15
  500. package/server/modules/vouchers/vo-pn5.js +13 -12
  501. package/server/modules/vouchers/vo-pn6.js +14 -13
  502. package/server/modules/vouchers/vo-pn9.js +19 -18
  503. package/server/modules/vouchers/vo-pnc.js +13 -12
  504. package/server/modules/vouchers/vo-pnh.js +13 -11
  505. package/server/modules/vouchers/vo-pnk.js +11 -10
  506. package/server/modules/vouchers/vo-po1.js +10 -9
  507. package/server/modules/vouchers/vo-ppb.js +5 -5
  508. package/server/modules/vouchers/vo-pt1.js +14 -12
  509. package/server/modules/vouchers/vo-pt5.js +1 -1
  510. package/server/modules/vouchers/vo-ptl.js +6 -6
  511. package/server/modules/vouchers/vo-pxc.js +12 -12
  512. package/server/modules/vouchers/vo-pxh.js +13 -0
  513. package/server/modules/vouchers/vo-pxk.js +11 -10
  514. package/server/modules/vouchers/vo-qts.js +8 -7
  515. package/server/modules/vouchers/vo-sale_contract.js +7 -7
  516. package/server/modules/vouchers/vo-shipbook.js +14 -14
  517. package/server/modules/vouchers/vo-so1.js +45 -43
  518. package/server/modules/vouchers/vo-so2.js +5 -5
  519. package/server/modules/vouchers/vo-so3.js +13 -13
  520. package/server/modules/vouchers/vo-so4.js +11 -11
  521. package/server/modules/vouchers/vo-vanchuyen.js +4 -4
  522. package/server/modules/vouchers/vo-xhd.js +18 -17
  523. package/server/route.js +23 -21
  524. package/server/smtpserver.js +6 -0
  525. package/server/templates/add-file.html +0 -0
  526. package/server/templates/add-file.pug +0 -0
  527. package/server/templates/alert task.html +0 -0
  528. package/server/templates/alert task.pug +0 -0
  529. package/server/templates/alert warranty.html +0 -0
  530. package/server/templates/alert warranty.pug +0 -0
  531. package/server/templates/excels/PN9.xlsx +0 -0
  532. package/server/templates/excels/hd1.xlsx +0 -0
  533. package/server/templates/excels/hd2.xlsx +0 -0
  534. package/server/templates/excels/hd3.xlsx +0 -0
  535. package/server/templates/excels/lists/account.xlsx +0 -0
  536. package/server/templates/excels/lists/customer.xlsx +0 -0
  537. package/server/templates/excels/lists/dmvt.xlsx +0 -0
  538. package/server/templates/excels/pc1.xlsx +0 -0
  539. package/server/templates/excels/pkc.xlsx +0 -0
  540. package/server/templates/excels/pkh.xlsx +0 -0
  541. package/server/templates/excels/pkt.xlsx +0 -0
  542. package/server/templates/excels/pn1.xlsx +0 -0
  543. package/server/templates/excels/pn2.xlsx +0 -0
  544. package/server/templates/excels/pn3.xlsx +0 -0
  545. package/server/templates/excels/pn5.xlsx +0 -0
  546. package/server/templates/excels/pnk.xlsx +0 -0
  547. package/server/templates/excels/pt1.xlsx +0 -0
  548. package/server/templates/excels/pxc.xlsx +0 -0
  549. package/server/templates/excels/pxk.xlsx +0 -0
  550. package/server/templates/excels/reports/bangtinhkhauhao.xlsx +0 -0
  551. package/server/templates/excels/reports/bcdkt.xlsx +0 -0
  552. package/server/templates/excels/reports/bkct.xlsx +0 -0
  553. package/server/templates/excels/reports/bkvatra.xlsx +0 -0
  554. package/server/templates/excels/reports/bkvatvao.xlsx +0 -0
  555. package/server/templates/excels/reports/cdpsdt.xlsx +0 -0
  556. package/server/templates/excels/reports/cdpskh.xlsx +0 -0
  557. package/server/templates/excels/reports/cdpstk.xlsx +0 -0
  558. package/server/templates/excels/reports/chitietchitientheohoadon.xlsx +0 -0
  559. package/server/templates/excels/reports/chitiettaisan.xlsx +0 -0
  560. package/server/templates/excels/reports/chitietthutientheohoadon.xlsx +0 -0
  561. package/server/templates/excels/reports/ctbanle.xlsx +0 -0
  562. package/server/templates/excels/reports/cthangbanbitralai.xlsx +0 -0
  563. package/server/templates/excels/reports/ctmuahang.xlsx +0 -0
  564. package/server/templates/excels/reports/dtbanletheokh.xlsx +0 -0
  565. package/server/templates/excels/reports/dtbanletheonam.xlsx +0 -0
  566. package/server/templates/excels/reports/dtbanletheongay.xlsx +0 -0
  567. package/server/templates/excels/reports/dtbanletheonv.xlsx +0 -0
  568. package/server/templates/excels/reports/dtbanletheoquy.xlsx +0 -0
  569. package/server/templates/excels/reports/dtbanletheothang.xlsx +0 -0
  570. package/server/templates/excels/reports/dtbanletheovt.xlsx +0 -0
  571. package/server/templates/excels/reports/hangbanbitralai.xlsx +0 -0
  572. package/server/templates/excels/reports/hoadonbanhangtheohantt.xlsx +0 -0
  573. package/server/templates/excels/reports/hoadonmuahangtheohantt.xlsx +0 -0
  574. package/server/templates/excels/reports/kqhdkd.xlsx +0 -0
  575. package/server/templates/excels/reports/lcttgt.xlsx +0 -0
  576. package/server/templates/excels/reports/lctttt.xlsx +0 -0
  577. package/server/templates/excels/reports/pttct.xlsx +0 -0
  578. package/server/templates/excels/reports/sctcnkh.xlsx +0 -0
  579. package/server/templates/excels/reports/sctdt.xlsx +0 -0
  580. package/server/templates/excels/reports/scttk.xlsx +0 -0
  581. package/server/templates/excels/reports/sctvt.xlsx +0 -0
  582. package/server/templates/excels/reports/socaitk.xlsx +0 -0
  583. package/server/templates/excels/reports/sochut.xlsx +0 -0
  584. package/server/templates/excels/reports/sonkbh.xlsx +0 -0
  585. package/server/templates/excels/reports/sonkc.xlsx +0 -0
  586. package/server/templates/excels/reports/sonkct.xlsx +0 -0
  587. package/server/templates/excels/reports/sonkmh.xlsx +0 -0
  588. package/server/templates/excels/reports/sonktt.xlsx +0 -0
  589. package/server/templates/excels/reports/soquy.xlsx +0 -0
  590. package/server/templates/excels/reports/sotaisan.xlsx +0 -0
  591. package/server/templates/excels/reports/sotiengui.xlsx +0 -0
  592. package/server/templates/excels/reports/thnxt.xlsx +0 -0
  593. package/server/templates/excels/reports/tkgtgt.xlsx +0 -0
  594. package/server/templates/excels/reports/tonghopbanhang.xlsx +0 -0
  595. package/server/templates/excels/reports/tonghopmuahang.xlsx +0 -0
  596. package/server/templates/excels/reports/tonghoptralaihang.xlsx +0 -0
  597. package/server/templates/imports/cdkh.xlsx +0 -0
  598. package/server/templates/imports/cdtk.xlsx +0 -0
  599. package/server/templates/imports/cdvt.xlsx +0 -0
  600. package/server/templates/imports/contract.xlsx +0 -0
  601. package/server/templates/imports/dmban.xlsx +0 -0
  602. package/server/templates/imports/dmkh.xlsx +0 -0
  603. package/server/templates/imports/dmvt.xlsx +0 -0
  604. package/server/templates/imports/hd1.xlsx +0 -0
  605. package/server/templates/imports/hd2.xlsx +0 -0
  606. package/server/templates/imports/lienhe.xlsx +0 -0
  607. package/server/templates/imports/pc1.xlsx +0 -0
  608. package/server/templates/imports/pkt.xlsx +0 -0
  609. package/server/templates/imports/pn1.xlsx +0 -0
  610. package/server/templates/imports/pn2.xlsx +0 -0
  611. package/server/templates/imports/pnk.xlsx +0 -0
  612. package/server/templates/imports/pt1.xlsx +0 -0
  613. package/server/templates/order.html +0 -0
  614. package/server/templates/order.pug +0 -0
  615. package/server/templates/reply-comment.html +0 -0
  616. package/server/templates/reply-comment.pug +0 -0
  617. package/server/templates/reset mat khau.html +0 -0
  618. package/server/templates/reset mat khau.pug +0 -0
  619. package/server/templates/rpts/giaoca.html +0 -0
  620. package/server/templates/rpts/pbl.html +0 -0
  621. package/server/templates/rpts/pc0.html +0 -0
  622. package/server/templates/rpts/pc1.html +0 -0
  623. package/server/templates/rpts/pc2.html +0 -0
  624. package/server/templates/rpts/pc3.html +0 -0
  625. package/server/templates/rpts/pdn.html +0 -0
  626. package/server/templates/rpts/pkh.html +0 -0
  627. package/server/templates/rpts/pkk.html +0 -0
  628. package/server/templates/rpts/pkt.html +0 -0
  629. package/server/templates/rpts/pn1.html +0 -0
  630. package/server/templates/rpts/pn6.html +0 -0
  631. package/server/templates/rpts/pnc.html +0 -0
  632. package/server/templates/rpts/pnk.html +0 -0
  633. package/server/templates/rpts/pt1.html +0 -0
  634. package/server/templates/rpts/pxc.html +0 -0
  635. package/server/templates/rpts/pxk.html +0 -0
  636. package/server/templates/rpts/reports/bangtinhkhauhao/templates/browser.html +78 -0
  637. package/server/templates/rpts/reports/bangtinhkhauhao/templates/print.html +49 -0
  638. package/server/templates/rpts/reports/baocaokhachhang/templates/browser.html +122 -0
  639. package/server/templates/rpts/reports/baocaokhachhang/templates/print.html +50 -0
  640. package/server/templates/rpts/reports/bcdkt/templates/browser.html +59 -0
  641. package/server/templates/rpts/reports/bcdkt/templates/print.html +38 -0
  642. package/server/templates/rpts/reports/bkct/templates/browser.html +126 -0
  643. package/server/templates/rpts/reports/bkct/templates/print.html +49 -0
  644. package/server/templates/rpts/reports/bkct/templates/view.html +90 -0
  645. package/server/templates/rpts/reports/bkshipbook/templates/browser.html +111 -0
  646. package/server/templates/rpts/reports/bkshipbook/templates/print.html +71 -0
  647. package/server/templates/rpts/reports/bkvanchuyen/templates/browser.html +105 -0
  648. package/server/templates/rpts/reports/bkvanchuyen/templates/print.html +65 -0
  649. package/server/templates/rpts/reports/bkvatra/templates/browser.html +106 -0
  650. package/server/templates/rpts/reports/bkvatra/templates/print.html +94 -0
  651. package/server/templates/rpts/reports/bkvatvao/templates/browser.html +108 -0
  652. package/server/templates/rpts/reports/bkvatvao/templates/print.html +94 -0
  653. package/server/templates/rpts/reports/cdpsdt/templates/browser.html +98 -0
  654. package/server/templates/rpts/reports/cdpsdt/templates/print.html +56 -0
  655. package/server/templates/rpts/reports/cdpskh/templates/browser.html +101 -0
  656. package/server/templates/rpts/reports/cdpskh/templates/print.html +57 -0
  657. package/server/templates/rpts/reports/cdpstk/templates/browser.html +94 -0
  658. package/server/templates/rpts/reports/cdpstk/templates/print.html +55 -0
  659. package/server/templates/rpts/reports/chitietchitientheohoadon/templates/browser.html +97 -0
  660. package/server/templates/rpts/reports/chitietchitientheohoadon/templates/print.html +60 -0
  661. package/server/templates/rpts/reports/chitiettaisan/templates/browser.html +77 -0
  662. package/server/templates/rpts/reports/chitiettaisan/templates/print.html +48 -0
  663. package/server/templates/rpts/reports/chitietthutientheohoadon/templates/browser.html +101 -0
  664. package/server/templates/rpts/reports/chitietthutientheohoadon/templates/print.html +60 -0
  665. package/server/templates/rpts/reports/congviectheokh/templates/browser.html +81 -0
  666. package/server/templates/rpts/reports/congviectheokh/templates/print.html +57 -0
  667. package/server/templates/rpts/reports/congviectheonv/templates/browser.html +80 -0
  668. package/server/templates/rpts/reports/congviectheonv/templates/print.html +59 -0
  669. package/server/templates/rpts/reports/ctbanle/templates/browser.html +136 -0
  670. package/server/templates/rpts/reports/ctbanle/templates/print.html +74 -0
  671. package/server/templates/rpts/reports/cthangbanbitralai/templates/browser.html +96 -0
  672. package/server/templates/rpts/reports/cthangbanbitralai/templates/print.html +59 -0
  673. package/server/templates/rpts/reports/ctmuahang/templates/browser.html +115 -0
  674. package/server/templates/rpts/reports/ctmuahang/templates/print.html +55 -0
  675. package/server/templates/rpts/reports/cttralaihang/templates/browser.html +82 -0
  676. package/server/templates/rpts/reports/cttralaihang/templates/print.html +57 -0
  677. package/server/templates/rpts/reports/dtbanletheokh/templates/browser.html +109 -0
  678. package/server/templates/rpts/reports/dtbanletheokh/templates/print.html +73 -0
  679. package/server/templates/rpts/reports/dtbanletheonam/templates/browser.html +111 -0
  680. package/server/templates/rpts/reports/dtbanletheonam/templates/print.html +71 -0
  681. package/server/templates/rpts/reports/dtbanletheongay/templates/browser.html +112 -0
  682. package/server/templates/rpts/reports/dtbanletheongay/templates/print.html +72 -0
  683. package/server/templates/rpts/reports/dtbanletheonv/templates/browser.html +114 -0
  684. package/server/templates/rpts/reports/dtbanletheonv/templates/print.html +67 -0
  685. package/server/templates/rpts/reports/dtbanletheoquy/templates/browser.html +104 -0
  686. package/server/templates/rpts/reports/dtbanletheoquy/templates/print.html +72 -0
  687. package/server/templates/rpts/reports/dtbanletheothang/templates/browser.html +104 -0
  688. package/server/templates/rpts/reports/dtbanletheothang/templates/print.html +71 -0
  689. package/server/templates/rpts/reports/dtbanletheovt/templates/browser.html +101 -0
  690. package/server/templates/rpts/reports/dtbanletheovt/templates/print.html +63 -0
  691. package/server/templates/rpts/reports/dutoanthuchitheodt/templates/browser.html +219 -0
  692. package/server/templates/rpts/reports/dutoanthuchitheodt/templates/print.html +193 -0
  693. package/server/templates/rpts/reports/hangbanbitralai/templates/browser.html +86 -0
  694. package/server/templates/rpts/reports/hangbanbitralai/templates/print.html +47 -0
  695. package/server/templates/rpts/reports/hoadonbanhangtheohantt/templates/browser.html +120 -0
  696. package/server/templates/rpts/reports/hoadonbanhangtheohantt/templates/print.html +83 -0
  697. package/server/templates/rpts/reports/hoadonmuahangtheohantt/templates/browser.html +120 -0
  698. package/server/templates/rpts/reports/hoadonmuahangtheohantt/templates/print.html +83 -0
  699. package/server/templates/rpts/reports/kcsns/templates/browser.html +26 -0
  700. package/server/templates/rpts/reports/kqchamcong/templates/browser.html +50 -0
  701. package/server/templates/rpts/reports/kqchamcong/templates/print.html +33 -0
  702. package/server/templates/rpts/reports/kqhdkd/templates/browser.html +75 -0
  703. package/server/templates/rpts/reports/kqhdkd/templates/print.html +40 -0
  704. package/server/templates/rpts/reports/lcttgt/templates/browser.html +76 -0
  705. package/server/templates/rpts/reports/lcttgt/templates/print.html +40 -0
  706. package/server/templates/rpts/reports/lctttt/templates/browser.html +77 -0
  707. package/server/templates/rpts/reports/lctttt/templates/print.html +40 -0
  708. package/server/templates/rpts/reports/phanbochitienchohoadon/templates/browser.html +134 -0
  709. package/server/templates/rpts/reports/phanbothutienchohoadon/templates/browser.html +134 -0
  710. package/server/templates/rpts/reports/ptbitralai/templates/browser.html +84 -0
  711. package/server/templates/rpts/reports/ptbitralai/templates/print.html +36 -0
  712. package/server/templates/rpts/reports/ptcttct/templates/browser.html +145 -0
  713. package/server/templates/rpts/reports/ptcttct/templates/print.html +86 -0
  714. package/server/templates/rpts/reports/ptdonhang/templates/browser.html +90 -0
  715. package/server/templates/rpts/reports/ptdonhang/templates/print.html +42 -0
  716. package/server/templates/rpts/reports/pttct/templates/browser.html +132 -0
  717. package/server/templates/rpts/reports/pttct/templates/print.html +38 -0
  718. package/server/templates/rpts/reports/pttctkho/templates/browser.html +128 -0
  719. package/server/templates/rpts/reports/pttctkho/templates/print.html +36 -0
  720. package/server/templates/rpts/reports/pttctkho2/templates/browser.html +125 -0
  721. package/server/templates/rpts/reports/pttctkho2/templates/print.html +36 -0
  722. package/server/templates/rpts/reports/sctcnkh/templates/browser.html +141 -0
  723. package/server/templates/rpts/reports/sctcnkh/templates/print.html +51 -0
  724. package/server/templates/rpts/reports/sctdt/templates/browser.html +187 -0
  725. package/server/templates/rpts/reports/sctdt/templates/print.html +58 -0
  726. package/server/templates/rpts/reports/scttk/templates/browser.html +137 -0
  727. package/server/templates/rpts/reports/scttk/templates/print.html +49 -0
  728. package/server/templates/rpts/reports/sctvt/templates/browser.html +130 -0
  729. package/server/templates/rpts/reports/sctvt/templates/print.html +51 -0
  730. package/server/templates/rpts/reports/search/templates/browser.html +245 -0
  731. package/server/templates/rpts/reports/socaitk/templates/browser.html +137 -0
  732. package/server/templates/rpts/reports/socaitk/templates/print.html +49 -0
  733. package/server/templates/rpts/reports/sochut/templates/browser.html +75 -0
  734. package/server/templates/rpts/reports/sochut/templates/print.html +41 -0
  735. package/server/templates/rpts/reports/sonkbh/templates/browser.html +90 -0
  736. package/server/templates/rpts/reports/sonkbh/templates/print.html +41 -0
  737. package/server/templates/rpts/reports/sonkc/templates/browser.html +90 -0
  738. package/server/templates/rpts/reports/sonkc/templates/print.html +54 -0
  739. package/server/templates/rpts/reports/sonkct/templates/browser.html +90 -0
  740. package/server/templates/rpts/reports/sonkct/templates/print.html +41 -0
  741. package/server/templates/rpts/reports/sonkmh/templates/browser.html +90 -0
  742. package/server/templates/rpts/reports/sonkmh/templates/print.html +41 -0
  743. package/server/templates/rpts/reports/sonktt/templates/browser.html +90 -0
  744. package/server/templates/rpts/reports/sonktt/templates/print.html +41 -0
  745. package/server/templates/rpts/reports/soquy/templates/browser.html +88 -0
  746. package/server/templates/rpts/reports/soquy/templates/print.html +48 -0
  747. package/server/templates/rpts/reports/sotaisan/templates/browser.html +107 -0
  748. package/server/templates/rpts/reports/sotaisan/templates/print.html +87 -0
  749. package/server/templates/rpts/reports/sotiengui/templates/browser.html +88 -0
  750. package/server/templates/rpts/reports/sotiengui/templates/print.html +48 -0
  751. package/server/templates/rpts/reports/thgt/templates/browser.html +94 -0
  752. package/server/templates/rpts/reports/thgt/templates/print.html +68 -0
  753. package/server/templates/rpts/reports/thnxt/templates/browser.html +163 -0
  754. package/server/templates/rpts/reports/thnxt/templates/print.html +63 -0
  755. package/server/templates/rpts/reports/tinhgiatb/templates/browser.html +120 -0
  756. package/server/templates/rpts/reports/tinhgiatb/templates/print.html +57 -0
  757. package/server/templates/rpts/reports/tinhgiathanh/templates/browser.html +97 -0
  758. package/server/templates/rpts/reports/tinhgiathanh/templates/print.html +69 -0
  759. package/server/templates/rpts/reports/tinhkhauhaots/templates/browser.html +73 -0
  760. package/server/templates/rpts/reports/tinhkhauhaots/templates/print.html +46 -0
  761. package/server/templates/rpts/reports/tkgtgt/templates/browser.html +73 -0
  762. package/server/templates/rpts/reports/tkgtgt/templates/print.html +43 -0
  763. package/server/templates/rpts/reports/tonghopbanhang/templates/browser.html +94 -0
  764. package/server/templates/rpts/reports/tonghopbanhang/templates/print.html +66 -0
  765. package/server/templates/rpts/reports/tonghopmuahang/templates/browser.html +85 -0
  766. package/server/templates/rpts/reports/tonghopmuahang/templates/print.html +49 -0
  767. package/server/templates/rpts/reports/tonghoptralaihang/templates/browser.html +73 -0
  768. package/server/templates/rpts/reports/tonghoptralaihang/templates/print.html +45 -0
  769. package/server/templates/rpts/so1.html +0 -0
  770. package/server/templates/thong tin dang nhap.html +0 -0
  771. package/server/templates/thong tin dang nhap.pug +0 -0
  772. package/server/templates/thu moi gia nhap nhom.html +0 -0
  773. package/server/templates/thu moi gia nhap nhom.pug +0 -0
  774. package/server/workers/backupApp.js +0 -0
  775. package/server/workers/calcGrid.js +0 -0
  776. package/server/workers/customerOnImport.js +0 -0
  777. package/server/workers/dmvtOnImport.js +0 -0
  778. package/server/workers/excelParser.js +0 -0
  779. package/server/workers/inputWorker.js +1 -1
  780. package/server/workers/pushNotify.js +0 -0
  781. package/server/workers/reportWorker.js +0 -0
  782. package/server/workers/restoreApp.js +0 -0
  783. package/test.js +13 -0
  784. package/server/modules/reports/rp-congviectheonvphutrach.js +0 -155
  785. package/server/modules/reports/rp-getluong copy.js +0 -90
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "flexbiz-server",
3
3
  "main": "./server/app.js",
4
4
  "description": "Flexible Server",
5
- "version": "9.20.21",
5
+ "version": "9.20.27",
6
6
  "author": {
7
7
  "name": "Van Truong Pham",
8
8
  "email": "invncur@gmail.com"
@@ -20,6 +20,7 @@
20
20
  "agendash": "^2.1.1",
21
21
  "async": "^3.2.0",
22
22
  "axios": "^0.20.0",
23
+ "barcode": "^0.1.0",
23
24
  "body-parser": "^1.19.0",
24
25
  "cheerio": "^1.0.0-rc.10",
25
26
  "compression": "^1.7.4",
package/server/app.js CHANGED
@@ -1,18 +1,17 @@
1
1
  'use strict';const express=require("express"),bodyParser=require("body-parser"),session=require("express-session"),passport=require("passport"),https=require("https"),http=require("http"),fs=require("fs"),cors=require("cors"),async=require("async"),underscore=require("underscore"),_global=require("./global"),User=global.getModel("user"),defaultConfigs=require("./defaultConfigs"),mainServer=function($app$$,$options$$={cluster:!0,port:443,useSocket:!0},$callback$jscomp$1$$=null){const $configs$$=global.configs=
2
2
  {...defaultConfigs,...$options$$.configs};$configs$$.admins=underscore.pluck($configs$$.adminUsers,"email");$configs$$.supportUsers=underscore.pluck($configs$$.adminUsers,"email");$configs$$.public_token||($configs$$.public_token="flex.public.token");global.port=$options$$.port||$configs$$.PORT||443;var $compress_modulesVisible_morgan_multer_root_dir_uploads$$=require($configs$$.paths.menu||"./menu").getModules();global.modulesInMenu={};Object.values($compress_modulesVisible_morgan_multer_root_dir_uploads$$).forEach(function($module$$){global.modulesInMenu[$module$$.name]=
3
3
  $module$$});require("moment-timezone").tz.setDefault($configs$$.timezone||"Asia/Ho_Chi_Minh");$app$$||($app$$=express());$app$$.use(session({secret:"QV098PVT123456HLBN",resave:!1,saveUninitialized:!0}));$compress_modulesVisible_morgan_multer_root_dir_uploads$$=require("compression");$app$$.use($compress_modulesVisible_morgan_multer_root_dir_uploads$$());$compress_modulesVisible_morgan_multer_root_dir_uploads$$=$configs$$.paths.uploads||__dirname+"/uploads";$compress_modulesVisible_morgan_multer_root_dir_uploads$$=
4
- require("multer")({dest:$compress_modulesVisible_morgan_multer_root_dir_uploads$$});$app$$.use($compress_modulesVisible_morgan_multer_root_dir_uploads$$);$app$$.use(cors());$configs$$.paths||($configs$$.paths={});$app$$.use("/",express.static($configs$$.paths.public||__dirname+"/public"));$app$$.use("/admin",express.static($configs$$.paths.admin||__dirname+"/admin"));$app$$.use("/templates",express.static($configs$$.paths.templates||__dirname+"/templates"));$app$$.use("/images",express.static($configs$$.paths.images||
5
- __dirname+"/images"));$app$$.use(bodyParser.json({limit:$configs$$.limitRequestSize||"100mb"}));$app$$.use(bodyParser.urlencoded({limit:$configs$$.limitRequestSize||"100mb",extended:!0}));$app$$.use(passport.initialize());$compress_modulesVisible_morgan_multer_root_dir_uploads$$=require("morgan");var $accessLogStream_rfs$$=require("rotating-file-stream");const $logDirectory$$=$configs$$.paths.log||__dirname+"/log";fs.existsSync($logDirectory$$)||fs.mkdirSync($logDirectory$$);$accessLogStream_rfs$$=
6
- $accessLogStream_rfs$$("access.log",{interval:"1d",path:$logDirectory$$});$app$$.use($compress_modulesVisible_morgan_multer_root_dir_uploads$$("combined",{stream:$accessLogStream_rfs$$,skip:function($req$$,$res$$){return 400>$res$$.statusCode}}));$app$$.use(function($err$$,$req$$,$res$$,$next$$){console.error($err$$.stack);$res$$.status(500).send("Server Error!")});global.mongoose.connect($configs$$.database.url,{useNewUrlParser:!0}).then(()=>{function $initSysData$$(){console.log("creating system data...");
7
- const $files$$=fs.readdirSync(__dirname+"/data/sys");async.map($files$$,function($file$$,$callback$jscomp$0$$){setImmediate(()=>{if(".js"==$file$$.substr(-3)){const $data$$=JSON.parse(JSON.stringify(require("./data/sys/"+$file$$).data)),$model$$=global.getModel(""+$file$$);console.log("creating system data...",$file$$);$model$$.deleteMany({},$e$$=>{console.error($e$$);async.map($data$$,function($r$$,$callback$$){delete $r$$._id;delete $r$$.__v;delete $r$$.collection_name;delete $r$$.pkey;$model$$.create($r$$,
8
- function($error$$){if($error$$)return $callback$$($error$$);$callback$$()})},function($error$$,$rs$$){$callback$jscomp$0$$($error$$,$rs$$)})})}else $callback$jscomp$0$$()})},function($error$$){if($error$$)return console.log($error$$);console.log("created system data")})}console.log("Connected to Database");var $Agenda_Mailmanagement_redis$$=require("redis");global.clientRedis=$Agenda_Mailmanagement_redis$$.createClient();global.clientRedis.on("connect",function(){console.log("redis connected")});
9
- if(!0!==$options$$.lite){$Agenda_Mailmanagement_redis$$=require("./libs/mailmanagement");global.mailmanagement=new $Agenda_Mailmanagement_redis$$;global.mailmanagement.start();$Agenda_Mailmanagement_redis$$=require("agenda");global.agenda=new $Agenda_Mailmanagement_redis$$({db:{address:$configs$$.database.url}});require("./libs/schedule").define();global.agenda.on("ready",async()=>{console.log("agenda is ready")});const $campaign$$=global.getModel("campaign");$campaign$$.find({status:!0}).lean().exec(($e$$,
10
- $rs$$)=>{$rs$$&&$rs$$.forEach($cam$$=>{$campaign$$.listenerEvents($cam$$,()=>{})})});$configs$$.adminUsers.forEach(function($adminUser$$){User.findOne({email:$adminUser$$.email},function($error$jscomp$0$$,$rs$$){if($error$jscomp$0$$)return console.error($error$jscomp$0$$);$rs$$||($adminUser$$.local={name:$adminUser$$.name,email:$adminUser$$.email,active:!0},$error$jscomp$0$$=new User($adminUser$$),$error$jscomp$0$$.local.password=$error$jscomp$0$$.generateHash($adminUser$$.defaultPassword),$error$jscomp$0$$.save(function($error$$,
11
- $user$$){if($error$$)return console.error($error$$);$user$$&&console.log("da tao thanh cong user "+$user$$.email)}))})});$configs$$.initSysData?$initSysData$$():global.getModel("tableinfo").findOne({},($e$$,$rs$$)=>{$rs$$||$initSysData$$()});require("./route")($app$$,()=>{if(!1!==$options$$.createServer){var $StaticPool_StaticPool$$=require("sticky-session");if($configs$$.use_ssl){var $cluster_server_server80_sslConfig$$=require("./sslConfig");$cluster_server_server80_sslConfig$$=https.createServer($cluster_server_server80_sslConfig$$($options$$.sslDir),
12
- $app$$)}else $cluster_server_server80_sslConfig$$=http.createServer($app$$);!1!==$options$$.useSocket&&User.initSocket($cluster_server_server80_sslConfig$$);if(!1!==$options$$.cluster){if(!$StaticPool_StaticPool$$.listen($cluster_server_server80_sslConfig$$,global.port))$cluster_server_server80_sslConfig$$.once("listening",function(){console.log("server started on",global.port)});$cluster_server_server80_sslConfig$$=require("cluster");$cluster_server_server80_sslConfig$$.on("exit",function($worker$$,
13
- $code$$,$signal$$){console.error("worker "+$worker$$.process.pid+" died",$code$$,$signal$$)});$cluster_server_server80_sslConfig$$.on("online",function($worker$$){console.info("worker "+$worker$$.process.pid+" is online")})}else $cluster_server_server80_sslConfig$$.listen(global.port,()=>{console.log("server start at "+global.port+" port")});if("443"===global.port)if($cluster_server_server80_sslConfig$$=http.createServer(function($req$$,$res$$){$res$$.writeHead(301,{Location:"https://"+$req$$.headers.host+
14
- ":"+global.port+$req$$.url});$res$$.end()}),0!=$options$$.cluster){if(!$StaticPool_StaticPool$$.listen($cluster_server_server80_sslConfig$$,80))$cluster_server_server80_sslConfig$$.once("listening",function(){console.log("server started on",80)})}else $cluster_server_server80_sslConfig$$.listen(80,()=>{console.log("server start at 80 port")})}$options$$.start_import_data_pool&&($StaticPool_StaticPool$$=require("./libs/WorkerStaticPool"),global.importDataMainPool=new $StaticPool_StaticPool$$(__dirname+
15
- "/workers/inputWorker.js"),global.importDataMainPool.exec({load:!0,configs:JSON.parse(JSON.stringify($configs$$))},()=>{console.log("load import data pool")}));$options$$.start_report_pool&&($StaticPool_StaticPool$$=require("./libs/WorkerStaticPool"),global.reportMainPool=new $StaticPool_StaticPool$$(__dirname+"/workers/reportWorker.js"),global.reportMainPool.exec({load:!0,configs:JSON.parse(JSON.stringify($configs$$))},()=>{console.log("load report pool")}));$callback$jscomp$1$$&&$callback$jscomp$1$$()})}else require("./route")($app$$,
4
+ require("multer")({dest:$compress_modulesVisible_morgan_multer_root_dir_uploads$$});$app$$.use($compress_modulesVisible_morgan_multer_root_dir_uploads$$);$app$$.use(cors({credentials:!0,origin:($origin$$,$callback$$)=>{$callback$$(null,!0)}}));$configs$$.paths||($configs$$.paths={});$app$$.use("/",express.static($configs$$.paths.public||__dirname+"/public"));$app$$.use("/admin",express.static($configs$$.paths.admin||__dirname+"/admin"));$app$$.use("/templates",express.static($configs$$.paths.templates||
5
+ __dirname+"/templates"));$app$$.use("/images",express.static($configs$$.paths.images||__dirname+"/images"));$app$$.use(bodyParser.json({limit:$configs$$.limitRequestSize||"100mb"}));$app$$.use(bodyParser.urlencoded({limit:$configs$$.limitRequestSize||"100mb",extended:!0}));$app$$.use(passport.initialize());$compress_modulesVisible_morgan_multer_root_dir_uploads$$=require("morgan");var $accessLogStream_rfs$$=require("rotating-file-stream");const $logDirectory$$=$configs$$.paths.log||__dirname+"/log";
6
+ fs.existsSync($logDirectory$$)||fs.mkdirSync($logDirectory$$);$accessLogStream_rfs$$=$accessLogStream_rfs$$("access.log",{interval:"1d",path:$logDirectory$$});$app$$.use($compress_modulesVisible_morgan_multer_root_dir_uploads$$("combined",{stream:$accessLogStream_rfs$$,skip:function($req$$,$res$$){return 400>$res$$.statusCode}}));$app$$.use(function($err$$,$req$$,$res$$,$next$$){console.error($err$$.stack);$res$$.status(500).send("Server Error!")});global.mongoose.connect($configs$$.database.url,
7
+ {useNewUrlParser:!0}).then(()=>{function $initSysData$$(){console.log("creating system data...");const $files$$=fs.readdirSync(__dirname+"/data/sys");async.map($files$$,function($file$$,$callback$jscomp$0$$){setImmediate(()=>{if(".js"==$file$$.substr(-3)){const $data$$=JSON.parse(JSON.stringify(require("./data/sys/"+$file$$).data)),$model$$=global.getModel(""+$file$$);console.log("creating system data...",$file$$);$model$$.deleteMany({},$e$$=>{console.error($e$$);async.map($data$$,function($r$$,$callback$$){delete $r$$._id;
8
+ delete $r$$.__v;delete $r$$.collection_name;delete $r$$.pkey;$model$$.create($r$$,function($error$$){if($error$$)return $callback$$($error$$);$callback$$()})},function($error$$,$rs$$){$callback$jscomp$0$$($error$$,$rs$$)})})}else $callback$jscomp$0$$()})},function($error$$){if($error$$)return console.log($error$$);console.log("created system data")})}console.log("Connected to Database");var $Agenda_Mailmanagement_redis$$=require("redis");global.clientRedis=$Agenda_Mailmanagement_redis$$.createClient();
9
+ global.clientRedis.on("connect",function(){console.log("redis connected")});if(!0!==$options$$.lite){$Agenda_Mailmanagement_redis$$=require("./libs/mailmanagement");global.mailmanagement=new $Agenda_Mailmanagement_redis$$;global.mailmanagement.start();$Agenda_Mailmanagement_redis$$=require("agenda");global.agenda=new $Agenda_Mailmanagement_redis$$({db:{address:$configs$$.database.url}});require("./libs/schedule").define();global.agenda.on("ready",async()=>{console.log("agenda is ready")});const $campaign$$=
10
+ global.getModel("campaign");$campaign$$.find({status:!0}).lean().exec(($e$$,$rs$$)=>{$rs$$&&$rs$$.forEach($cam$$=>{$campaign$$.listenerEvents($cam$$,()=>{})})});$configs$$.adminUsers.forEach(function($adminUser$$){User.findOne({email:$adminUser$$.email},function($error$jscomp$0$$,$rs$$){if($error$jscomp$0$$)return console.error($error$jscomp$0$$);$rs$$||($adminUser$$.local={name:$adminUser$$.name,email:$adminUser$$.email,active:!0},$error$jscomp$0$$=new User($adminUser$$),$error$jscomp$0$$.local.password=
11
+ $error$jscomp$0$$.generateHash($adminUser$$.defaultPassword),$error$jscomp$0$$.save(function($error$$,$user$$){if($error$$)return console.error($error$$);$user$$&&console.log("da tao thanh cong user "+$user$$.email)}))})});$configs$$.initSysData?$initSysData$$():global.getModel("tableinfo").findOne({},($e$$,$rs$$)=>{$rs$$||$initSysData$$()});require("./route")($app$$,()=>{if(!1!==$options$$.createServer){var $StaticPool_StaticPool$$=require("sticky-session");if($configs$$.use_ssl){var $server_sslConfig$$=
12
+ require("./sslConfig");$server_sslConfig$$=https.createServer($server_sslConfig$$($options$$.sslDir),$app$$)}else $server_sslConfig$$=http.createServer($app$$);$server_sslConfig$$.timeout=6E5;!1!==$options$$.useSocket&&User.initSocket($server_sslConfig$$);if(!1!==$options$$.cluster){if(!$StaticPool_StaticPool$$.listen($server_sslConfig$$,global.port))$server_sslConfig$$.once("listening",function(){console.log("server started on",global.port)});$StaticPool_StaticPool$$=require("cluster");$StaticPool_StaticPool$$.on("exit",
13
+ function($worker$$,$code$$,$signal$$){console.error("worker "+$worker$$.process.pid+" died",$code$$,$signal$$)});$StaticPool_StaticPool$$.on("online",function($worker$$){console.info("worker "+$worker$$.process.pid+" is online")})}else $server_sslConfig$$.listen(global.port,()=>{console.log("server start at "+global.port+" port")})}$options$$.start_import_data_pool&&($StaticPool_StaticPool$$=require("./libs/WorkerStaticPool"),global.importDataMainPool=new $StaticPool_StaticPool$$(__dirname+"/workers/inputWorker.js"),
14
+ global.importDataMainPool.exec({load:!0,configs:JSON.parse(JSON.stringify($configs$$))},()=>{console.log("load import data pool")}));$options$$.start_report_pool&&($StaticPool_StaticPool$$=require("./libs/WorkerStaticPool"),global.reportMainPool=new $StaticPool_StaticPool$$(__dirname+"/workers/reportWorker.js"),global.reportMainPool.exec({load:!0,configs:JSON.parse(JSON.stringify($configs$$))},()=>{console.log("load report pool")}));$callback$jscomp$1$$&&$callback$jscomp$1$$()})}else require("./route")($app$$,
16
15
  ()=>{$callback$jscomp$1$$&&$callback$jscomp$1$$()},!0)}).catch($err$$=>{console.log("Not Connected to Database ERROR! ",$err$$)});return $app$$};process.on("uncaughtException",function($err$jscomp$2_error$$){console.error((new Date).toUTCString()+" uncaughtException:",$err$jscomp$2_error$$.message);console.error($err$jscomp$2_error$$.stack);$err$jscomp$2_error$$=`
17
16
  Error: ${$err$jscomp$2_error$$.message}
18
17
  Stack: ${$err$jscomp$2_error$$.stack}
package/server/app.jsc ADDED
Binary file
File without changes
File without changes
File without changes
@@ -19,18 +19,18 @@ $e$$)}});$app$$.get("/auth/local",$rateLimiter$$,function($req$$,$res$$,$next$$)
19
19
  new Date($req$$[$d_session$$]):$req$$[$d_session$$]=$now$$;$req$$=$now$$.getTime()-$d$$.getTime();if(18E6>$req$$&&10<$times_try$$)return $res$$.status(400).send({message:"B\u1ea1n \u0111\u0103ng nh\u1eadp sai 10 l\u1ea7n li\u00ean ti\u1ebfp. H\u00e3y th\u1eed l\u1ea1i sau "+Math.round((18E6-$req$$)/6E4,0)+" ph\u00fat"});$next$$()}else global.clientRedis.get($t_session$$,function($err$$,$reply$$){$reply$$?($times_try$$=Number($reply$$)+1,global.clientRedis.set($t_session$$,$times_try$$)):(global.clientRedis.set($t_session$$,
20
20
  $times_try$$),global.clientRedis.set($d_session$$,$now$$));global.clientRedis.get($d_session$$,function($err$jscomp$3_time_wait$$,$reply$$){$reply$$?$d$$=new Date($reply$$):global.clientRedis.set($d_session$$,$now$$);$err$jscomp$3_time_wait$$=$now$$.getTime()-$d$$.getTime();if(18E6>$err$jscomp$3_time_wait$$&&10<$times_try$$)return $res$$.status(400).send({message:"B\u1ea1n \u0111\u0103ng nh\u1eadp sai 10 l\u1ea7n li\u00ean ti\u1ebfp. H\u00e3y th\u1eed l\u1ea1i sau "+Math.round((18E6-$err$jscomp$3_time_wait$$)/
21
21
  6E4,0)+" ph\u00fat"});$next$$()})})}},function($req$$,$res$$,$next$$){$passport$$.authenticate("basic",{session:!1},function($err$$,$user$$){if($err$$||!$user$$)return $res$$.status(401).send({message:$err$$||"Unauthorized"});if(configs.require_verify&&!$user$$.local.active)return $res$$.status(401).send({require_verify:!0});$req$$.user=$user$$;$next$$()})($req$$,$res$$,$next$$)},async($req$$,$res$$)=>{let $agent$$=$req$$.headers["user-agent"];if($req$$.headers.cookie){var $group_id$jscomp$1_session$$=
22
- $req$$.session;$group_id$jscomp$1_session$$[$req$$.t_session]=0;$group_id$jscomp$1_session$$[$req$$.d_session]=""}else global.clientRedis.set($req$$.t_session,0),global.clientRedis.set($req$$.d_session,"");log.create({id_app:"LOGIN",id_func:"LOGIN",action:"LOCALLOGIN"},$req$$.user.email,$req$$.header("user-agent"),$req$$);let $user$$=$req$$.user;if($req$$.query.id_app&&$req$$.query.group_id){const $id_app$$=$req$$.query.id_app;$group_id$jscomp$1_session$$=$req$$.query.group_id;const $app$$=await App.findOne({_id:$id_app$$}),
23
- $group$$=await UserGroup.findOne({_id:$group_id$jscomp$1_session$$,is_customer_group:!0});$app$$&&$group$$&&Participant.createParticipant({id_app:$id_app$$,email:$user$$.email,name:$user$$.name,group_id:$group_id$jscomp$1_session$$,active:!0},$cust$jscomp$1_e$$=>{if($cust$jscomp$1_e$$)return console.log("can't add user",$user$$.email,"to company",$app$$.name);$cust$jscomp$1_e$$={ten_kh:$user$$.name,email:$user$$.email,id_app:$id_app$$,user_created:$user$$.email,user_updated:$user$$.email,kh_yn:!0,
24
- of_user:$user$$.email};validator.isMobilePhone($user$$.email,["vi-VN"])&&($cust$jscomp$1_e$$.dien_thoai=$user$$.email);try{Customer.asyncCreateCustomer($cust$jscomp$1_e$$)}catch($e$$){console.log("Auto create new customer with error:",$e$$.message)}})}const $accessToken$$=generateToken($user$$);(new Token({email:$user$$.email,token:$accessToken$$,agent:$agent$$,ip:"",once:1==$req$$.query.once||"true"==$req$$.query.once||"1"===$req$$.query.once?!0:!1})).save(function($e$$,$rs$$){if($e$$)return $res$$.status(500).send($e$$);
25
- $res$$.send({token:$accessToken$$,once:$rs$$.once})})});$app$$.get("/check-user/:email",$rateLimiter$$,function($req$$,$res$$){User.findOne({email:$req$$.params.email},{email:1,name:1,picture:1}).lean().exec(function($e$$,$user$$){if($e$$)return $res$$.status(400).send($e$$);$res$$.send($user$$)})});$app$$.post("/signup",$rateLimiter$$,async($req$$,$res$$)=>{var $body$$=$req$$.body;$body$$.json&&($body$$=JSON.parse($body$$.json));if(!$body$$)return $res$$.status(400).send("Kh\u00f4ng c\u00f3 n\u1ed9i dung");
26
- if(!$body$$.email)return $res$$.status(400).send("L\u1ed7i: B\u1ea1n ch\u01b0a nh\u1eadp t\u00e0i kho\u1ea3n");$body$$.email=$body$$.email.trim().toLowerCase();if(!$body$$.name)return $res$$.status(400).send("L\u1ed7i: H\u1ecd v\u00e0 t\u00ean ch\u01b0a nh\u1eadp");User.findOne({email:$body$$.email},function($error$jscomp$1$$,$result$$){if($error$jscomp$1$$)return $res$$.status(400).send($error$jscomp$1$$);if($result$$){if($result$$.local&&$result$$.local.email==$body$$.email)return $res$$.status(400).send("L\u1ed7i: T\u00e0i kho\u1ea3n "+
27
- $body$$.email+" \u0111\u00e3 \u0111\u01b0\u1ee3c \u0111\u0103ng k\u00fd");$result$$.local||($result$$.local={})}else $result$$=new User,$result$$.email=$body$$.email,$result$$.local={};$result$$.local.email=$body$$.email;$result$$.local.name=$body$$.name;$result$$.partner=$body$$.partner;$result$$.name=$result$$.local.name;$body$$.picture?$result$$.local.picture=$body$$.picture:$result$$.local.picture||($result$$.local.picture="/images/avatar.jpg");if($body$$.password){if($body$$.rePassword!==$body$$.password)return $res$$.status(400).send("L\u1ed7i: M\u1eadt kh\u1ea9u x\u00e1c nh\u1eadn kh\u00f4ng ch\u00ednh x\u00e1c");
28
- if(!User.teststrengthPassword($body$$.password))return $res$$.status(400).send("L\u1ed7i: M\u1eadt kh\u1ea9u ph\u1ea3i c\u00f3 \u00edt nh\u1ea5t 6 k\u00fd t\u1ef1 v\u00e0 bao g\u1ed3m \u00edt nh\u1ea5t m\u1ed9t ch\u1eef s\u1ed1, m\u1ed9t ch\u1eef hoa v\u00e0 m\u1ed9t ch\u1eef th\u01b0\u1eddng");var $password$$=$body$$.password}else $password$$=_crypto.createHash("md5").update($result$$.email+(new Date).toISOString()).digest("hex");$result$$.local.password=$result$$.generateHash($password$$);$result$$.save(function($app$jscomp$3_error$$,
29
- $newUser$$){if($app$jscomp$3_error$$)return $res$$.status(400).send("L\u1ed7i: Kh\u00f4ng th\u1ec3 \u0111\u0103ng k\u00fd");log.create({id_app:"SIGNUP",id_func:"SIGNUP",action:"SIGNUP"},$result$$.email,$req$$.header("user-agent"),$req$$);if($body$$.cty_name){$app$jscomp$3_error$$=new App;$app$jscomp$3_error$$.user_created=$result$$.email;$app$jscomp$3_error$$.user_updated=$result$$.email;$app$jscomp$3_error$$.name=$body$$.cty_name;var $d$jscomp$1_now$$=new Date;$app$jscomp$3_error$$.ngay_dn=new Date($d$jscomp$1_now$$.getFullYear(),
30
- 0,1);$app$jscomp$3_error$$.ngay_ks=new Date($d$jscomp$1_now$$.getFullYear()-1,12,0);$app$jscomp$3_error$$.nam_bd=$d$jscomp$1_now$$.getFullYear();$app$jscomp$3_error$$.ngay_ky1=new Date($d$jscomp$1_now$$.getFullYear(),0,1);$d$jscomp$1_now$$=new Date;$d$jscomp$1_now$$.setMonth($d$jscomp$1_now$$.getMonth()+3);$app$jscomp$3_error$$.expire_date=new Date($d$jscomp$1_now$$);$app$jscomp$3_error$$.save(function($error$jscomp$0$$,$obj$$){if($error$jscomp$0$$)return console.log("Khong tao duoc new app: "+$error$jscomp$0$$);
31
- require("../libs/initDatabase").init($obj$$._id,function($error$$){$error$$&&console.log("Can't init database \n"+$error$$)})})}$body$$.id_app&&App.findOne({_id:$body$$.id_app},($e$jscomp$0$$,$app$$)=>{if($e$jscomp$0$$||!$app$$)return console.log("Can't find app",$body$$.id_app,$e$jscomp$0$$);Participant.createParticipant({id_app:$body$$.id_app,email:$body$$.email,group_id:$body$$.group_id,active:!0},$cust$jscomp$2_e$$=>{if($cust$jscomp$2_e$$)return console.log("can't add user",$body$$.email,"to company",
32
- $app$$.name);$cust$jscomp$2_e$$={ten_kh:$body$$.name,email:$newUser$$.email,id_app:$body$$.id_app,user_created:$newUser$$.email,user_updated:$newUser$$.email,kh_yn:!0,of_user:$newUser$$.email};try{Customer.asyncCreateCustomer($cust$jscomp$2_e$$)}catch($e$$){console.log("Auto create new customer with error:",$e$$.message)}})});validator.isEmail($body$$.email)?(loadTemplate("thong tin dang nhap.html",{email:$result$$.email,password:$password$$,receiver_name:$body$$.name},function($error$jscomp$0$$,
33
- $html$$){if($error$jscomp$0$$)return console.log($error$jscomp$0$$);email.sendHtml({to:{name:$result$$.name,address:$result$$.email},subject:"Th\u00f4ng tin t\u00e0i kho\u1ea3n",html:$html$$},function($error$$){$error$$&&console.error("Khong the gui email thon tin tai khoan cho nguoi dung\n"+$error$$)})}),$res$$.send("T\u00e0i kho\u1ea3n c\u1ee7a b\u1ea1n \u0111\u00e3 \u0111\u01b0\u1ee3c t\u1ea1o. Ki\u1ec3m tra email \u0111\u1ec3 l\u1ea5y th\u00f4ng tin \u0111\u0103ng nh\u1eadp")):$res$$.send("T\u00e0i kho\u1ea3n "+
34
- $body$$.email+" \u0111\u00e3 \u0111\u01b0\u1ee3c t\u1ea1o")})})});$app$$.get("/resetpassword",$rateLimiter$$,async($req$$,$res$$)=>{let $address$$=$req$$.query.email;if(!$address$$)return $res$$.status(400).send("Y\u00eau c\u1ea7u m\u1ed9t email");$address$$=$address$$.toLowerCase();User.findOne({$or:[{"local.email":$address$$},{email:$address$$},{email2:$address$$}]},function($error$jscomp$2$$,$result$$){if($error$jscomp$2$$)return $res$$.status(400).send($error$jscomp$2$$);if(!$result$$)return $res$$.status(400).send(`T\u00e0i kho\u1ea3n ${$address$$} ch\u01b0a \u0111\u01b0\u1ee3c \u0111\u0103ng k\u00fd`);
35
- let $newpassword$$=_crypto.createHash("md5").update((new Date).toISOString()).digest("hex");$result$$.local.rspassword=$result$$.generateHash($newpassword$$);$result$$.save(function($error$jscomp$1$$){if($error$jscomp$1$$)return $res$$.status(400).send($error$jscomp$1$$);log.create({id_app:"RESETPASSWORD",id_func:"RESETPASSWORD",action:"RESETPASSWORD"},$result$$.email,$req$$.header("user-agent"),$req$$);loadTemplate("reset mat khau.html",{receiver_name:$result$$.name,email:$result$$.email,password:$newpassword$$},
36
- function($error$jscomp$0$$,$html$$){if($error$jscomp$0$$)return console.log($error$jscomp$0$$);email.sendHtml({to:{name:$result$$.name,address:$address$$},subject:"\u0110\u1ed5i m\u1eadt kh\u1ea9u",html:$html$$},function($error$$){$error$$&&console.error("Khong the gui thong tin tai khoan cho nguoi su dung\n"+$error$$)})});$res$$.send("M\u1eadt kh\u1ea9u c\u1ee7a b\u1ea1n \u0111\u00e3 \u0111\u01b0\u1ee3c \u0111\u1ed5i th\u00e0nh c\u00f4ng. Ki\u1ec3m tra email \u0111\u1ec3 l\u1ea5y m\u1eadt kh\u1ea9u m\u1edbi, sau \u0111\u00f3 b\u1ea1n n\u00ean \u0111\u1ed5i m\u1eadt kh\u1ea9u n\u00e0y")})})})};
22
+ $req$$.session;$group_id$jscomp$1_session$$[$req$$.t_session]=0;$group_id$jscomp$1_session$$[$req$$.d_session]=""}else global.clientRedis.set($req$$.t_session,0),global.clientRedis.set($req$$.d_session,"");log.create({id_app:"LOGIN",id_func:"LOGIN",action:"LOCALLOGIN"},$req$$.user.email,$req$$.header("user-agent"),$req$$);let $user$$=$req$$.user;if($req$$.query.id_app&&$req$$.query.group_id&&global.mongoose.Types.ObjectId.isValid($req$$.query.group_id)){const $id_app$$=$req$$.query.id_app;$group_id$jscomp$1_session$$=
23
+ $req$$.query.group_id;const $app$$=await App.findOne({_id:$id_app$$}),$group$$=await UserGroup.findOne({_id:$group_id$jscomp$1_session$$,is_customer_group:!0});$app$$&&$group$$&&Participant.createParticipant({id_app:$id_app$$,email:$user$$.email,name:$user$$.name,group_id:$group_id$jscomp$1_session$$,active:!0},$cust$jscomp$1_e$$=>{if($cust$jscomp$1_e$$)return console.log("can't add user",$user$$.email,"to company",$app$$.name);$cust$jscomp$1_e$$={ten_kh:$user$$.name,email:$user$$.email,id_app:$id_app$$,
24
+ user_created:$user$$.email,user_updated:$user$$.email,kh_yn:!0,of_user:$user$$.email};validator.isMobilePhone($user$$.email,["vi-VN"])&&($cust$jscomp$1_e$$.dien_thoai=$user$$.email);try{Customer.asyncCreateCustomer($cust$jscomp$1_e$$)}catch($e$$){console.log("Auto create new customer with error:",$e$$.message)}})}const $accessToken$$=generateToken($user$$);(new Token({email:$user$$.email,token:$accessToken$$,agent:$agent$$,ip:"",once:1==$req$$.query.once||"true"==$req$$.query.once||"1"===$req$$.query.once?
25
+ !0:!1})).save(function($e$$,$rs$$){if($e$$)return $res$$.status(500).send($e$$);$res$$.send({token:$accessToken$$,once:$rs$$.once})})});$app$$.get("/check-user/:email",$rateLimiter$$,function($req$$,$res$$){User.findOne({email:$req$$.params.email},{email:1,name:1,picture:1}).lean().exec(function($e$$,$user$$){if($e$$)return $res$$.status(400).send($e$$);$res$$.send($user$$)})});$app$$.post("/signup",$rateLimiter$$,async($req$$,$res$$)=>{var $body$$=$req$$.body;$body$$.json&&($body$$=JSON.parse($body$$.json));
26
+ if(!$body$$)return $res$$.status(400).send("Kh\u00f4ng c\u00f3 n\u1ed9i dung");if(!$body$$.email)return $res$$.status(400).send("L\u1ed7i: B\u1ea1n ch\u01b0a nh\u1eadp t\u00e0i kho\u1ea3n");$body$$.email=$body$$.email.trim().toLowerCase();if(!$body$$.name)return $res$$.status(400).send("L\u1ed7i: H\u1ecd v\u00e0 t\u00ean ch\u01b0a nh\u1eadp");User.findOne({email:$body$$.email},function($error$jscomp$1$$,$result$$){if($error$jscomp$1$$)return $res$$.status(400).send($error$jscomp$1$$);if($result$$){if($result$$.local&&
27
+ $result$$.local.email==$body$$.email)return $res$$.status(400).send("L\u1ed7i: T\u00e0i kho\u1ea3n "+$body$$.email+" \u0111\u00e3 \u0111\u01b0\u1ee3c \u0111\u0103ng k\u00fd");$result$$.local||($result$$.local={})}else $result$$=new User,$result$$.email=$body$$.email,$result$$.local={};$result$$.local.email=$body$$.email;$result$$.local.name=$body$$.name;$result$$.partner=$body$$.partner;$result$$.name=$result$$.local.name;$body$$.picture?$result$$.local.picture=$body$$.picture:$result$$.local.picture||
28
+ ($result$$.local.picture="/images/avatar.jpg");if($body$$.password){if($body$$.rePassword!==$body$$.password)return $res$$.status(400).send("L\u1ed7i: M\u1eadt kh\u1ea9u x\u00e1c nh\u1eadn kh\u00f4ng ch\u00ednh x\u00e1c");if(!User.teststrengthPassword($body$$.password))return $res$$.status(400).send("L\u1ed7i: M\u1eadt kh\u1ea9u ph\u1ea3i c\u00f3 \u00edt nh\u1ea5t 6 k\u00fd t\u1ef1 v\u00e0 bao g\u1ed3m \u00edt nh\u1ea5t m\u1ed9t ch\u1eef s\u1ed1, m\u1ed9t ch\u1eef hoa v\u00e0 m\u1ed9t ch\u1eef th\u01b0\u1eddng");
29
+ var $password$$=$body$$.password}else $password$$=_crypto.createHash("md5").update($result$$.email+(new Date).toISOString()).digest("hex");$result$$.local.password=$result$$.generateHash($password$$);$result$$.save(function($app$jscomp$3_error$$,$newUser$$){if($app$jscomp$3_error$$)return $res$$.status(400).send("L\u1ed7i: Kh\u00f4ng th\u1ec3 \u0111\u0103ng k\u00fd");log.create({id_app:"SIGNUP",id_func:"SIGNUP",action:"SIGNUP"},$result$$.email,$req$$.header("user-agent"),$req$$);if($body$$.cty_name){$app$jscomp$3_error$$=
30
+ new App;$app$jscomp$3_error$$.user_created=$result$$.email;$app$jscomp$3_error$$.user_updated=$result$$.email;$app$jscomp$3_error$$.name=$body$$.cty_name;var $d$jscomp$1_now$$=new Date;$app$jscomp$3_error$$.ngay_dn=new Date($d$jscomp$1_now$$.getFullYear(),0,1);$app$jscomp$3_error$$.ngay_ks=new Date($d$jscomp$1_now$$.getFullYear()-1,12,0);$app$jscomp$3_error$$.nam_bd=$d$jscomp$1_now$$.getFullYear();$app$jscomp$3_error$$.ngay_ky1=new Date($d$jscomp$1_now$$.getFullYear(),0,1);$d$jscomp$1_now$$=new Date;
31
+ $d$jscomp$1_now$$.setMonth($d$jscomp$1_now$$.getMonth()+3);$app$jscomp$3_error$$.expire_date=new Date($d$jscomp$1_now$$);$app$jscomp$3_error$$.save(function($error$jscomp$0$$,$obj$$){if($error$jscomp$0$$)return console.log("Khong tao duoc new app: "+$error$jscomp$0$$);require("../libs/initDatabase").init($obj$$._id,function($error$$){$error$$&&console.log("Can't init database \n"+$error$$)})})}$body$$.id_app&&App.findOne({_id:$body$$.id_app},($e$jscomp$0$$,$app$$)=>{if($e$jscomp$0$$||!$app$$)return console.log("Can't find app",
32
+ $body$$.id_app,$e$jscomp$0$$);Participant.createParticipant({id_app:$body$$.id_app,email:$body$$.email,group_id:$body$$.group_id,active:!0},$cust$jscomp$2_e$$=>{if($cust$jscomp$2_e$$)return console.log("can't add user",$body$$.email,"to company",$app$$.name);$cust$jscomp$2_e$$={ten_kh:$body$$.name,email:$newUser$$.email,id_app:$body$$.id_app,user_created:$newUser$$.email,user_updated:$newUser$$.email,kh_yn:!0,of_user:$newUser$$.email};try{Customer.asyncCreateCustomer($cust$jscomp$2_e$$)}catch($e$$){console.log("Auto create new customer with error:",
33
+ $e$$.message)}})});validator.isEmail($body$$.email)?(loadTemplate("thong tin dang nhap.html",{email:$result$$.email,password:$password$$,receiver_name:$body$$.name},function($error$jscomp$0$$,$html$$){if($error$jscomp$0$$)return console.log($error$jscomp$0$$);email.sendHtml({to:{name:$result$$.name,address:$result$$.email},subject:"Th\u00f4ng tin t\u00e0i kho\u1ea3n",html:$html$$},function($error$$){$error$$&&console.error("Khong the gui email thon tin tai khoan cho nguoi dung\n"+$error$$)})}),$res$$.send("T\u00e0i kho\u1ea3n c\u1ee7a b\u1ea1n \u0111\u00e3 \u0111\u01b0\u1ee3c t\u1ea1o. Ki\u1ec3m tra email \u0111\u1ec3 l\u1ea5y th\u00f4ng tin \u0111\u0103ng nh\u1eadp")):
34
+ $res$$.send("T\u00e0i kho\u1ea3n "+$body$$.email+" \u0111\u00e3 \u0111\u01b0\u1ee3c t\u1ea1o")})})});$app$$.get("/resetpassword",$rateLimiter$$,async($req$$,$res$$)=>{let $address$$=$req$$.query.email;if(!$address$$)return $res$$.status(400).send("Y\u00eau c\u1ea7u m\u1ed9t email");$address$$=$address$$.toLowerCase();User.findOne({$or:[{"local.email":$address$$},{email:$address$$},{email2:$address$$}]},function($error$jscomp$2$$,$result$$){if($error$jscomp$2$$)return $res$$.status(400).send($error$jscomp$2$$);
35
+ if(!$result$$)return $res$$.status(400).send(`T\u00e0i kho\u1ea3n ${$address$$} ch\u01b0a \u0111\u01b0\u1ee3c \u0111\u0103ng k\u00fd`);let $newpassword$$=_crypto.createHash("md5").update((new Date).toISOString()).digest("hex");$result$$.local.rspassword=$result$$.generateHash($newpassword$$);$result$$.save(function($error$jscomp$1$$){if($error$jscomp$1$$)return $res$$.status(400).send($error$jscomp$1$$);log.create({id_app:"RESETPASSWORD",id_func:"RESETPASSWORD",action:"RESETPASSWORD"},$result$$.email,
36
+ $req$$.header("user-agent"),$req$$);loadTemplate("reset mat khau.html",{receiver_name:$result$$.name,email:$result$$.email,password:$newpassword$$},function($error$jscomp$0$$,$html$$){if($error$jscomp$0$$)return console.log($error$jscomp$0$$);email.sendHtml({to:{name:$result$$.name,address:$address$$},subject:"\u0110\u1ed5i m\u1eadt kh\u1ea9u",html:$html$$},function($error$$){$error$$&&console.error("Khong the gui thong tin tai khoan cho nguoi su dung\n"+$error$$)})});$res$$.send("M\u1eadt kh\u1ea9u c\u1ee7a b\u1ea1n \u0111\u00e3 \u0111\u01b0\u1ee3c \u0111\u1ed5i th\u00e0nh c\u00f4ng. Ki\u1ec3m tra email \u0111\u1ec3 l\u1ea5y m\u1eadt kh\u1ea9u m\u1edbi, sau \u0111\u00f3 b\u1ea1n n\u00ean \u0111\u1ed5i m\u1eadt kh\u1ea9u n\u00e0y")})})})};
package/server/cluster.js CHANGED
@@ -1,15 +1,16 @@
1
1
  'use strict';const express=require("express"),bodyParser=require("body-parser"),session=require("express-session"),passport=require("passport"),https=require("https"),http=require("http"),fs=require("fs"),cors=require("cors"),underscore=require("underscore"),_global=require("./global"),defaultConfigs=require("./defaultConfigs"),sslConfig=require("./sslConfig"),clusterServer=function($app$$,$sslDir$$,$_configs_compress_modulesVisible_morgan_multer_root_dir_uploads$$={},$_port_accessLogStream_rfs$$=
2
- 9999,$options$$={start_import_data_pool:!1,start_report_pool:!0,useAgenda:!0}){const $configs$$=global.configs={...defaultConfigs,...$_configs_compress_modulesVisible_morgan_multer_root_dir_uploads$$};$configs$$.admins=underscore.pluck($configs$$.adminUsers,"email");$configs$$.supportUsers=underscore.pluck($configs$$.adminUsers,"email");$configs$$.public_token||($configs$$.public_token="flex.public.token");global.port=$_port_accessLogStream_rfs$$;$_configs_compress_modulesVisible_morgan_multer_root_dir_uploads$$=
2
+ 9999,$options$$={start_import_data_pool:!1,start_report_pool:!0,useAgenda:!0,createRedisCache:!0}){const $configs$$=global.configs={...defaultConfigs,...$_configs_compress_modulesVisible_morgan_multer_root_dir_uploads$$};$configs$$.admins=underscore.pluck($configs$$.adminUsers,"email");$configs$$.supportUsers=underscore.pluck($configs$$.adminUsers,"email");$configs$$.public_token||($configs$$.public_token="flex.public.token");global.port=$_port_accessLogStream_rfs$$;$_configs_compress_modulesVisible_morgan_multer_root_dir_uploads$$=
3
3
  require($configs$$.paths.menu||"./menu").getModules();global.modulesInMenu={};Object.values($_configs_compress_modulesVisible_morgan_multer_root_dir_uploads$$).forEach(function($module$$){global.modulesInMenu[$module$$.name]=$module$$});require("moment-timezone").tz.setDefault($configs$$.timezone||"Asia/Ho_Chi_Minh");$app$$||($app$$=express());$app$$.use(session({secret:"QV098PVT123456HLBN",resave:!1,saveUninitialized:!0}));$_configs_compress_modulesVisible_morgan_multer_root_dir_uploads$$=require("compression");
4
- $app$$.use($_configs_compress_modulesVisible_morgan_multer_root_dir_uploads$$());$_configs_compress_modulesVisible_morgan_multer_root_dir_uploads$$=$configs$$.paths.uploads||__dirname+"/uploads";$_configs_compress_modulesVisible_morgan_multer_root_dir_uploads$$=require("multer")({dest:$_configs_compress_modulesVisible_morgan_multer_root_dir_uploads$$});$app$$.use($_configs_compress_modulesVisible_morgan_multer_root_dir_uploads$$);$app$$.use(cors());$configs$$.paths||($configs$$.paths={});$app$$.use("/",
5
- express.static($configs$$.paths.public||__dirname+"/public"));$app$$.use("/admin",express.static($configs$$.paths.admin||__dirname+"/admin"));$app$$.use("/templates",express.static($configs$$.paths.templates||__dirname+"/templates"));$app$$.use("/images",express.static($configs$$.paths.images||__dirname+"/images"));$app$$.use(bodyParser.json({limit:$configs$$.limitRequestSize||"100mb"}));$app$$.use(bodyParser.urlencoded({limit:$configs$$.limitRequestSize||"100mb",extended:!0}));$app$$.use(passport.initialize());
6
- $_configs_compress_modulesVisible_morgan_multer_root_dir_uploads$$=require("morgan");$_port_accessLogStream_rfs$$=require("rotating-file-stream");const $logDirectory$$=$configs$$.paths.log||__dirname+"/log";fs.existsSync($logDirectory$$)||fs.mkdirSync($logDirectory$$);$_port_accessLogStream_rfs$$=$_port_accessLogStream_rfs$$("access-cluster.log",{interval:"1d",path:$logDirectory$$});$app$$.use($_configs_compress_modulesVisible_morgan_multer_root_dir_uploads$$("combined",{stream:$_port_accessLogStream_rfs$$,
7
- skip:function($req$$,$res$$){return 400>$res$$.statusCode}}));$app$$.use(function($err$$,$req$$,$res$$,$next$$){console.error($err$$.stack);$res$$.status(500).send("Server error!")});global.mongoose.connect($configs$$.database.url,{useNewUrlParser:!0}).then(async()=>{console.log("Connected to Database");var $Agenda_Mailmanagement_StaticPool_StaticPool$$=require("redis");global.clientRedis=$Agenda_Mailmanagement_StaticPool_StaticPool$$.createClient({enable_offline_queue:!1});global.clientRedis.on("connect",
8
- function(){console.log("redis connected");require("./libs/redis-cache").set()});$Agenda_Mailmanagement_StaticPool_StaticPool$$=require("./libs/mailmanagement");global.mailmanagement=new $Agenda_Mailmanagement_StaticPool_StaticPool$$;!1!==$options$$.useAgenda&&($Agenda_Mailmanagement_StaticPool_StaticPool$$=require("agenda"),global.agenda=new $Agenda_Mailmanagement_StaticPool_StaticPool$$({db:{address:$configs$$.database.url}}),require("./libs/schedule").define(),await global.agenda.start());global.getModel("schedule").start();
9
- require("./route")($app$$);$Agenda_Mailmanagement_StaticPool_StaticPool$$=$configs$$.use_ssl?https.createServer(sslConfig($sslDir$$),$app$$):http.createServer($app$$);global.getModel("user").initSocket($Agenda_Mailmanagement_StaticPool_StaticPool$$);if(!require("sticky-session").listen($Agenda_Mailmanagement_StaticPool_StaticPool$$,global.port))$Agenda_Mailmanagement_StaticPool_StaticPool$$.once("listening",function(){console.log("server started on",global.port)});$Agenda_Mailmanagement_StaticPool_StaticPool$$=
10
- require("cluster");$Agenda_Mailmanagement_StaticPool_StaticPool$$.on("exit",function($worker$$,$code$$,$signal$$){console.error("worker "+$worker$$.process.pid+" died",$code$$,$signal$$)});$Agenda_Mailmanagement_StaticPool_StaticPool$$.on("online",function($worker$$){console.info("worker "+$worker$$.process.pid+" is online")});$options$$.start_import_data_pool&&($Agenda_Mailmanagement_StaticPool_StaticPool$$=require("./libs/WorkerStaticPool"),global.importDataMainPool=new $Agenda_Mailmanagement_StaticPool_StaticPool$$(__dirname+
11
- "/workers/inputWorker.js"),global.importDataMainPool.exec({load:!0,configs:JSON.parse(JSON.stringify($configs$$))},()=>{console.log("load import data pool")}));$options$$.start_report_pool&&($Agenda_Mailmanagement_StaticPool_StaticPool$$=require("./libs/WorkerStaticPool"),global.reportMainPool=new $Agenda_Mailmanagement_StaticPool_StaticPool$$(__dirname+"/workers/reportWorker.js"),global.reportMainPool.exec({load:!0,configs:JSON.parse(JSON.stringify($configs$$))},()=>{console.log("load report pool")}))}).catch($err$$=>
12
- {console.error("Not Connected to Database ERROR!",$err$$)})};process.on("uncaughtException",function($err$jscomp$2_error$$){console.error((new Date).toUTCString()+" uncaughtException:",$err$jscomp$2_error$$.message);console.error($err$jscomp$2_error$$.stack);$err$jscomp$2_error$$=`
4
+ $app$$.use($_configs_compress_modulesVisible_morgan_multer_root_dir_uploads$$());$_configs_compress_modulesVisible_morgan_multer_root_dir_uploads$$=$configs$$.paths.uploads||__dirname+"/uploads";$_configs_compress_modulesVisible_morgan_multer_root_dir_uploads$$=require("multer")({dest:$_configs_compress_modulesVisible_morgan_multer_root_dir_uploads$$});$app$$.use($_configs_compress_modulesVisible_morgan_multer_root_dir_uploads$$);$app$$.use(cors({credentials:!0,origin:($origin$$,$callback$$)=>{$callback$$(null,
5
+ !0)}}));$configs$$.paths||($configs$$.paths={});$app$$.use("/",express.static($configs$$.paths.public||__dirname+"/public"));$app$$.use("/admin",express.static($configs$$.paths.admin||__dirname+"/admin"));$app$$.use("/templates",express.static($configs$$.paths.templates||__dirname+"/templates"));$app$$.use("/images",express.static($configs$$.paths.images||__dirname+"/images"));$app$$.use(bodyParser.json({limit:$configs$$.limitRequestSize||"100mb"}));$app$$.use(bodyParser.urlencoded({limit:$configs$$.limitRequestSize||
6
+ "100mb",extended:!0}));$app$$.use(passport.initialize());$_configs_compress_modulesVisible_morgan_multer_root_dir_uploads$$=require("morgan");$_port_accessLogStream_rfs$$=require("rotating-file-stream");const $logDirectory$$=$configs$$.paths.log||__dirname+"/log";fs.existsSync($logDirectory$$)||fs.mkdirSync($logDirectory$$);$_port_accessLogStream_rfs$$=$_port_accessLogStream_rfs$$("access-cluster.log",{interval:"1d",path:$logDirectory$$});$app$$.use($_configs_compress_modulesVisible_morgan_multer_root_dir_uploads$$("combined",
7
+ {stream:$_port_accessLogStream_rfs$$,skip:function($req$$,$res$$){return 400>$res$$.statusCode}}));$app$$.use(function($err$$,$req$$,$res$$,$next$$){console.error($err$$.stack);$res$$.status(500).send("Server error!")});global.mongoose.connect($configs$$.database.url,{useNewUrlParser:!0}).then(async()=>{console.log("Connected to Database");var $Agenda_Mailmanagement_StaticPool_StaticPool$$=require("redis");global.clientRedis=$Agenda_Mailmanagement_StaticPool_StaticPool$$.createClient({enable_offline_queue:!1});
8
+ global.clientRedis.on("connect",function(){console.log("redis connected");const $redisCache$$=require("./libs/redis-cache");0!=$options$$.createRedisCache&&$redisCache$$.set()});$Agenda_Mailmanagement_StaticPool_StaticPool$$=require("./libs/mailmanagement");global.mailmanagement=new $Agenda_Mailmanagement_StaticPool_StaticPool$$;!1!==$options$$.useAgenda&&($Agenda_Mailmanagement_StaticPool_StaticPool$$=require("agenda"),global.agenda=new $Agenda_Mailmanagement_StaticPool_StaticPool$$({db:{address:$configs$$.database.url}}),
9
+ require("./libs/schedule").define(),await global.agenda.start());global.getModel("schedule").start();require("./route")($app$$);$Agenda_Mailmanagement_StaticPool_StaticPool$$=$configs$$.use_ssl?https.createServer(sslConfig($sslDir$$),$app$$):http.createServer($app$$);$Agenda_Mailmanagement_StaticPool_StaticPool$$.timeout=6E5;global.getModel("user").initSocket($Agenda_Mailmanagement_StaticPool_StaticPool$$);if(!1!==$options$$.cluster){if(!require("sticky-session").listen($Agenda_Mailmanagement_StaticPool_StaticPool$$,
10
+ global.port))$Agenda_Mailmanagement_StaticPool_StaticPool$$.once("listening",function(){console.log("server cluster started on",global.port)});$Agenda_Mailmanagement_StaticPool_StaticPool$$=require("cluster");$Agenda_Mailmanagement_StaticPool_StaticPool$$.on("exit",function($worker$$,$code$$,$signal$$){console.error("worker "+$worker$$.process.pid+" died",$code$$,$signal$$)});$Agenda_Mailmanagement_StaticPool_StaticPool$$.on("online",function($worker$$){console.info("worker "+$worker$$.process.pid+
11
+ " is online")})}else $Agenda_Mailmanagement_StaticPool_StaticPool$$.listen(global.port,()=>{console.log("server start at "+global.port+" port")});$options$$.start_import_data_pool&&($Agenda_Mailmanagement_StaticPool_StaticPool$$=require("./libs/WorkerStaticPool"),global.importDataMainPool=new $Agenda_Mailmanagement_StaticPool_StaticPool$$(__dirname+"/workers/inputWorker.js"),global.importDataMainPool.exec({load:!0,configs:JSON.parse(JSON.stringify($configs$$))},()=>{console.log("load import data pool")}));
12
+ $options$$.start_report_pool&&($Agenda_Mailmanagement_StaticPool_StaticPool$$=require("./libs/WorkerStaticPool"),global.reportMainPool=new $Agenda_Mailmanagement_StaticPool_StaticPool$$(__dirname+"/workers/reportWorker.js"),global.reportMainPool.exec({load:!0,configs:JSON.parse(JSON.stringify($configs$$))},()=>{console.log("load report pool")}))}).catch($err$$=>{console.error("Not Connected to Database ERROR!",$err$$)})};
13
+ process.on("uncaughtException",function($err$jscomp$2_error$$){console.error((new Date).toUTCString()+" uncaughtException:",$err$jscomp$2_error$$.message);console.error($err$jscomp$2_error$$.stack);$err$jscomp$2_error$$=`
13
14
  Error: ${$err$jscomp$2_error$$.message}
14
15
  Stack: ${$err$jscomp$2_error$$.stack}
15
16
  `;try{const $logDirectory$$=__dirname+"/log";fs.existsSync($logDirectory$$)||fs.mkdirSync($logDirectory$$);fs.writeFile(`${$logDirectory$$}/error-${(new Date).getTime()}.txt`,$err$jscomp$2_error$$,()=>{console.log("wrote log error")})}catch($e$$){console.log($e$$)}process.exit(1)});module.exports=clusterServer;
Binary file