flexbiz-server 12.4.34 → 12.4.36
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.
- package/package.json +1 -1
- package/server/app.js +23 -1
- package/server/auths/bearer.js +3 -1
- package/server/auths/facebook.js +12 -1
- package/server/auths/google.js +13 -1
- package/server/auths/local.js +64 -1
- package/server/cluster.js +27 -1
- package/server/controllers/controller.js +107 -1
- package/server/controllers/controllerRPT.js +27 -1
- package/server/controllers/controllerUtils.js +71 -1
- package/server/controllers/createHandler.js +34 -1
- package/server/controllers/createRouteHandler.js +4 -1
- package/server/controllers/deleteHandler.js +10 -1
- package/server/controllers/deleteManyHandler.js +2 -1
- package/server/controllers/exportHandler.js +17 -1
- package/server/controllers/findHandler.js +53 -1
- package/server/controllers/handlers.js +3 -1
- package/server/controllers/historyHandler.js +5 -1
- package/server/controllers/importFromExcelHandler.js +14 -1
- package/server/controllers/importFromGsHandler.js +10 -1
- package/server/controllers/importFromJsonHandler.js +6 -1
- package/server/controllers/importHandler.js +22 -1
- package/server/controllers/logHandler.js +5 -1
- package/server/controllers/rptCreateRouteHandler.js +4 -1
- package/server/controllers/rptExcelHandler.js +32 -1
- package/server/controllers/rptHandler.js +13 -1
- package/server/controllers/updateBookHandler.js +10 -1
- package/server/controllers/updateFieldHandler.js +12 -1
- package/server/controllers/updateHandler.js +38 -1
- package/server/controllers/updateKeyHandler.js +14 -1
- package/server/controllers/viewHandler.js +13 -1
- package/server/flow/FlowEngine.js +64 -1
- package/server/flow/WebhookManager.js +26 -1
- package/server/flow/handlers.js +3 -1
- package/server/flow/nodes/aiAnalysis.js +9 -1
- package/server/flow/nodes/customer.js +15 -1
- package/server/flow/nodes/data.js +14 -1
- package/server/flow/nodes/debug.js +2 -1
- package/server/flow/nodes/delay.js +3 -1
- package/server/flow/nodes/email.js +9 -1
- package/server/flow/nodes/event.js +11 -1
- package/server/flow/nodes/facebook.js +3 -1
- package/server/flow/nodes/facebookConversations.js +5 -1
- package/server/flow/nodes/facebookCreatePost.js +10 -1
- package/server/flow/nodes/facebookSendMessage.js +12 -1
- package/server/flow/nodes/forEachItem.js +8 -1
- package/server/flow/nodes/function.js +4 -1
- package/server/flow/nodes/httprequest.js +7 -1
- package/server/flow/nodes/inject.js +12 -1
- package/server/flow/nodes/pushNotification.js +5 -1
- package/server/flow/nodes/report.js +6 -1
- package/server/flow/nodes/saveData.js +2 -1
- package/server/flow/nodes/switch.js +20 -1
- package/server/flow/nodes/webhook.js +1 -1
- package/server/flow/nodes/zaloSendMessage.js +4 -1
- package/server/flow/utils.js +2 -1
- package/server/global.js +23 -1
- package/server/libs/BlockchainTransactionPool.js +3 -1
- package/server/libs/WorkerPool.js +4 -1
- package/server/libs/WorkerStaticPool.js +16 -1
- package/server/libs/WorkerStaticPool_v1.js +5 -1
- package/server/libs/assbonus.js +7 -1
- package/server/libs/backup.js +2 -1
- package/server/libs/blockchainconnect.js +12 -1
- package/server/libs/cdpsdiem.js +5 -1
- package/server/libs/cdpsdt.js +7 -1
- package/server/libs/cdpskh.js +9 -1
- package/server/libs/cdpsnphep.js +6 -1
- package/server/libs/cdpstk.js +11 -1
- package/server/libs/ckcn.js +12 -1
- package/server/libs/ckdiem.js +5 -1
- package/server/libs/ckdt.js +6 -1
- package/server/libs/cknphep.js +6 -1
- package/server/libs/cktk.js +4 -1
- package/server/libs/cktt.js +9 -1
- package/server/libs/ckvt.js +12 -1
- package/server/libs/ckvtcapphat.js +6 -1
- package/server/libs/ckvtnpp.js +8 -1
- package/server/libs/ckvttt.js +11 -1
- package/server/libs/createSocaitheongay.js +9 -1
- package/server/libs/ctdiem.js +5 -1
- package/server/libs/ctvt.js +7 -1
- package/server/libs/ctvtnpp.js +7 -1
- package/server/libs/ctvttt.js +7 -1
- package/server/libs/databanle.js +17 -1
- package/server/libs/databanlenpp.js +8 -1
- package/server/libs/databanletheongay.js +27 -1
- package/server/libs/dkcn.js +10 -1
- package/server/libs/dkdiem.js +5 -1
- package/server/libs/dkdt.js +6 -1
- package/server/libs/dknphep.js +7 -1
- package/server/libs/dktk.js +4 -1
- package/server/libs/dktt.js +8 -1
- package/server/libs/dkvt.js +9 -1
- package/server/libs/dkvtnpp.js +7 -1
- package/server/libs/dkvttt.js +7 -1
- package/server/libs/dncn.js +6 -1
- package/server/libs/dntk.js +4 -1
- package/server/libs/dntt.js +6 -1
- package/server/libs/docs.js +452 -1
- package/server/libs/dstkcn.js +1 -1
- package/server/libs/dstktt.js +1 -1
- package/server/libs/dtbanletheonpp.js +17 -1
- package/server/libs/dtbanletheosp.js +15 -1
- package/server/libs/dtbanletheospnpp.js +15 -1
- package/server/libs/email.js +3 -1
- package/server/libs/excel.js +2 -1
- package/server/libs/getGiaban.js +67 -1
- package/server/libs/getGiabanAsync.js +1 -1
- package/server/libs/getNotifies.js +1 -1
- package/server/libs/htmlReport.js +9 -1
- package/server/libs/initDatabase.js +9 -1
- package/server/libs/invoiceEasy.js +109 -1
- package/server/libs/invoiceViettel.js +29 -1
- package/server/libs/invoiceVnpt.js +22 -1
- package/server/libs/joinData.js +37 -0
- package/server/libs/kpistatus.js +32 -1
- package/server/libs/load-template.js +3 -1
- package/server/libs/mailmanagement.js +13 -1
- package/server/libs/mongooseDeletePost.js +6 -1
- package/server/libs/mongooseLeanId.js +1 -1
- package/server/libs/mongoosePatch.js +9 -1
- package/server/libs/onepay-payment.js +4 -1
- package/server/libs/optimizeBookkeeping.js +14 -1
- package/server/libs/parse-template.js +5 -1
- package/server/libs/permission.js +51 -1
- package/server/libs/phanbokh.js +3 -1
- package/server/libs/post-book.js +21 -1
- package/server/libs/post-socai.js +22 -1
- package/server/libs/post-sokho.js +25 -1
- package/server/libs/prototypes.js +18 -1
- package/server/libs/psdt.js +1 -1
- package/server/libs/pskh.js +1 -1
- package/server/libs/pstk.js +1 -1
- package/server/libs/redis-cache.js +19 -1
- package/server/libs/restore.js +1 -1
- package/server/libs/schedule.js +18 -1
- package/server/libs/sessionContext.js +17 -2
- package/server/libs/textReport.js +3 -1
- package/server/libs/thnxt.js +9 -1
- package/server/libs/thnxtnpp.js +9 -1
- package/server/libs/thnxttt.js +8 -1
- package/server/libs/tinhGt.js +7 -1
- package/server/libs/tinhGtCapnhatPNK.js +7 -1
- package/server/libs/tinhGtPhanboHeSo.js +12 -1
- package/server/libs/tinhGtPhanboSltp.js +10 -1
- package/server/libs/tinhGtPhanboYtcp.js +11 -1
- package/server/libs/tinhGtSltk.js +9 -1
- package/server/libs/tinhGtThcppstk.js +10 -1
- package/server/libs/tinhGtTrucTiep.js +7 -1
- package/server/libs/tinhGtXoa.js +3 -1
- package/server/libs/tinhgiatb.js +38 -1
- package/server/libs/tinhgiatb1vt.js +5 -1
- package/server/libs/tinhhoahong.js +64 -1
- package/server/libs/tinhhoahongnpp.js +46 -1
- package/server/libs/tinhkhauhao1ts.js +12 -1
- package/server/libs/tinhkhauhaots.js +8 -1
- package/server/libs/tuoinophaithu.js +10 -1
- package/server/libs/tuoinophaitra.js +11 -1
- package/server/libs/utils.js +78 -1
- package/server/libs/validate.js +4 -1
- package/server/libs/validator-acc-cust.js +1 -1
- package/server/libs/validator-account.js +4 -1
- package/server/libs/validator-vt.js +2 -1
- package/server/libs/validator.js +11 -1
- package/server/libs/vsocai.js +8 -1
- package/server/models/account.js +7 -1
- package/server/models/afflink.js +2 -1
- package/server/models/app.js +15 -1
- package/server/models/approve.js +92 -1
- package/server/models/assabcihandler.js +35 -1
- package/server/models/assbank.js +19 -1
- package/server/models/assbooking.js +4 -1
- package/server/models/assbuy.js +3 -1
- package/server/models/asscashwithdraw.js +4 -1
- package/server/models/assfindhash.js +2 -1
- package/server/models/assinvestment.js +13 -1
- package/server/models/assissue.js +2 -1
- package/server/models/asskey.js +15 -1
- package/server/models/assneedtobuy.js +6 -1
- package/server/models/assperiod.js +7 -1
- package/server/models/assproduct.js +13 -1
- package/server/models/assprofitsharing.js +4 -1
- package/server/models/assreceiver.js +2 -1
- package/server/models/assrequest.js +11 -1
- package/server/models/asssell.js +7 -1
- package/server/models/asstransaction.js +3 -1
- package/server/models/asstransfer.js +4 -1
- package/server/models/assuser_identity.js +4 -1
- package/server/models/asswithdraw.js +4 -1
- package/server/models/attend.js +2 -1
- package/server/models/banggiaban.js +8 -1
- package/server/models/bangtinhluong.js +6 -1
- package/server/models/base.js +1 -1
- package/server/models/bds_area.js +4 -1
- package/server/models/bds_block.js +3 -1
- package/server/models/bds_building.js +4 -1
- package/server/models/bds_floor.js +3 -1
- package/server/models/bds_floordetail.js +9 -1
- package/server/models/bds_nhadat.js +11 -1
- package/server/models/bds_nhomnhadat.js +4 -1
- package/server/models/bds_phanloainhadat.js +3 -1
- package/server/models/bg1.js +9 -1
- package/server/models/bg2.js +10 -1
- package/server/models/cache.js +3 -1
- package/server/models/calllog.js +4 -1
- package/server/models/campaign.js +6 -1
- package/server/models/cart.js +5 -1
- package/server/models/cddiem.js +2 -1
- package/server/models/cddt.js +3 -1
- package/server/models/cdkh.js +5 -1
- package/server/models/cdkhtheongay.js +5 -1
- package/server/models/cdnphep.js +2 -1
- package/server/models/cdtk.js +3 -1
- package/server/models/cdtktheongay.js +3 -1
- package/server/models/cdvt.js +5 -1
- package/server/models/cdvtnpp.js +6 -1
- package/server/models/cdvttheongay.js +5 -1
- package/server/models/chamcong.js +7 -1
- package/server/models/checkin.js +4 -1
- package/server/models/checkinactivity.js +3 -1
- package/server/models/checkinkpi.js +4 -1
- package/server/models/checkinlocation.js +2 -1
- package/server/models/chitieukpi.js +3 -1
- package/server/models/chudethaoluan.js +3 -1
- package/server/models/ckgtluong.js +2 -1
- package/server/models/colleague.js +2 -1
- package/server/models/comment.js +4 -1
- package/server/models/congdoansx.js +4 -1
- package/server/models/congtacvien.js +4 -1
- package/server/models/congthuctinhgiaban.js +8 -1
- package/server/models/consultant.js +4 -1
- package/server/models/contract.js +6 -1
- package/server/models/counter.js +2 -1
- package/server/models/ctds.js +5 -1
- package/server/models/ctds2.js +6 -1
- package/server/models/currency.js +3 -1
- package/server/models/customer.js +31 -1
- package/server/models/databanle.js +8 -1
- package/server/models/datlich.js +4 -1
- package/server/models/department.js +4 -1
- package/server/models/dh2.js +20 -1
- package/server/models/diagram.js +2 -1
- package/server/models/dinhmucsx.js +8 -1
- package/server/models/dkhoc.js +6 -1
- package/server/models/dknphep.js +2 -1
- package/server/models/dmban.js +4 -1
- package/server/models/dmbp.js +12 -1
- package/server/models/dmca.js +2 -1
- package/server/models/dmchietkhau.js +9 -1
- package/server/models/dmchietkhauhd.js +20 -1
- package/server/models/dmcpmh.js +2 -1
- package/server/models/dmdiemthuong.js +5 -1
- package/server/models/dmdoi.js +4 -1
- package/server/models/dmdoituongdanhgia.js +2 -1
- package/server/models/dmdt.js +8 -1
- package/server/models/dmdvt.js +3 -1
- package/server/models/dmgiaban.js +9 -1
- package/server/models/dmgiamua.js +5 -1
- package/server/models/dmgiathitruong.js +5 -1
- package/server/models/dmgiathitruong_ngay.js +2 -1
- package/server/models/dmgiathitruong_theodoi.js +2 -1
- package/server/models/dmhoahonghd.js +9 -1
- package/server/models/dmhoahongnpp.js +9 -1
- package/server/models/dmkc.js +3 -1
- package/server/models/dmkho.js +6 -1
- package/server/models/dmkhuyenmai.js +9 -1
- package/server/models/dmkhuyenmaihd.js +11 -1
- package/server/models/dmletet.js +2 -1
- package/server/models/dmlo.js +4 -1
- package/server/models/dmloaicong.js +4 -1
- package/server/models/dmloaitask.js +2 -1
- package/server/models/dmloaits.js +2 -1
- package/server/models/dmnckkm.js +4 -1
- package/server/models/dmnghiepvu.js +4 -1
- package/server/models/dmnguonvon.js +2 -1
- package/server/models/dmnhnv.js +4 -1
- package/server/models/dmnv.js +17 -1
- package/server/models/dmnvt.js +9 -1
- package/server/models/dmphatdichvu.js +5 -1
- package/server/models/dmphi.js +3 -1
- package/server/models/dmqct.js +3 -1
- package/server/models/dmqddvt.js +3 -1
- package/server/models/dmtanggiamts.js +3 -1
- package/server/models/dmto.js +4 -1
- package/server/models/dmtt.js +6 -1
- package/server/models/dmvt.js +17 -1
- package/server/models/dmyt.js +4 -1
- package/server/models/dn0.js +13 -1
- package/server/models/dnm.js +11 -1
- package/server/models/dokho.js +2 -1
- package/server/models/domain.js +2 -1
- package/server/models/dvcs.js +3 -1
- package/server/models/ecomcategories.js +3 -1
- package/server/models/ecomcategories_cty.js +3 -1
- package/server/models/ecomproductlines.js +2 -1
- package/server/models/ecompromotion_flashsales.js +2 -1
- package/server/models/ecompromotion_freeships.js +2 -1
- package/server/models/email.js +2 -1
- package/server/models/endpoint.js +1 -1
- package/server/models/events.js +3 -1
- package/server/models/evoucher.js +5 -1
- package/server/models/experiencejourney.js +2 -1
- package/server/models/experiencejourneydata.js +4 -1
- package/server/models/experiencejourneypersona.js +3 -1
- package/server/models/experiencejourneystage.js +2 -1
- package/server/models/exportexceltemplate.js +2 -1
- package/server/models/fbconversation.js +15 -1
- package/server/models/fbmessage.js +2 -1
- package/server/models/fbpage.js +2 -1
- package/server/models/fbpost.js +2 -1
- package/server/models/fieldright.js +2 -1
- package/server/models/file.js +4 -1
- package/server/models/financialroadmap.js +3 -1
- package/server/models/flow.js +2 -1
- package/server/models/flowdata.js +3 -1
- package/server/models/folder.js +4 -1
- package/server/models/follow.js +2 -1
- package/server/models/form.js +3 -1
- package/server/models/forminfo.js +5 -1
- package/server/models/formvalue.js +3 -1
- package/server/models/giaoca.js +4 -1
- package/server/models/giatb.js +3 -1
- package/server/models/group.js +11 -1
- package/server/models/gt_ctgt.js +4 -1
- package/server/models/gt_hspb.js +3 -1
- package/server/models/gt_sltk.js +3 -1
- package/server/models/gt_thcppstk.js +3 -1
- package/server/models/hanmucton.js +4 -1
- package/server/models/hd1.js +11 -1
- package/server/models/hd2.js +27 -1
- package/server/models/hd3.js +18 -1
- package/server/models/hd4.js +13 -1
- package/server/models/hd7.js +17 -1
- package/server/models/hd8.js +12 -1
- package/server/models/hde.js +11 -1
- package/server/models/hlink.js +2 -1
- package/server/models/hlinkvalue.js +2 -1
- package/server/models/hmcn.js +3 -1
- package/server/models/hmcnct.js +2 -1
- package/server/models/hspbts.js +4 -1
- package/server/models/htl.js +13 -1
- package/server/models/importexceltemplate.js +2 -1
- package/server/models/introducebonus.js +4 -1
- package/server/models/introducecode.js +3 -1
- package/server/models/introducer.js +4 -1
- package/server/models/kbbtpb.js +7 -1
- package/server/models/kbmPttct.js +4 -1
- package/server/models/kbmTkgtgt.js +5 -1
- package/server/models/kbm_bcdkt.js +4 -1
- package/server/models/kbm_kqhdkd.js +3 -1
- package/server/models/kbm_lcttgt.js +5 -1
- package/server/models/kbm_lctttt.js +4 -1
- package/server/models/kbm_pttct.js +4 -1
- package/server/models/kbm_tkgtgt.js +5 -1
- package/server/models/kbmbcdkt.js +4 -1
- package/server/models/kbmbcqt.js +4 -1
- package/server/models/kbmkqhdkd.js +3 -1
- package/server/models/kbmlcttgt.js +6 -1
- package/server/models/kbmlctttt.js +4 -1
- package/server/models/kbmtmbctc.js +4 -1
- package/server/models/kehoachdtcp.js +3 -1
- package/server/models/kehoachmh.js +8 -1
- package/server/models/keyresult.js +7 -1
- package/server/models/khunghangthanhvien.js +3 -1
- package/server/models/label.js +2 -1
- package/server/models/labelinfo.js +2 -1
- package/server/models/lenhcapphat.js +8 -1
- package/server/models/lenhsx.js +8 -1
- package/server/models/lienhe.js +4 -1
- package/server/models/like_module.js +2 -1
- package/server/models/link.js +2 -1
- package/server/models/listinfo.js +8 -5
- package/server/models/loaidiem.js +2 -1
- package/server/models/lock.js +2 -1
- package/server/models/log.js +5 -1
- package/server/models/mailaccount.js +3 -1
- package/server/models/mailgroup.js +3 -1
- package/server/models/mailreceived.js +2 -1
- package/server/models/mailschedule.js +2 -1
- package/server/models/mailsent.js +2 -1
- package/server/models/mailtemplate.js +2 -1
- package/server/models/maudanhgia.js +2 -1
- package/server/models/menuinfo.js +2 -1
- package/server/models/message.js +8 -1
- package/server/models/message2.js +4 -1
- package/server/models/message2setting.js +3 -1
- package/server/models/moduleinfo.js +4 -1
- package/server/models/momo.js +17 -1
- package/server/models/news.js +3 -1
- package/server/models/newsfeed.js +4 -1
- package/server/models/note.js +2 -1
- package/server/models/notification.js +7 -1
- package/server/models/okr.js +4 -1
- package/server/models/okrdiagram.js +3 -1
- package/server/models/onepay.js +24 -1
- package/server/models/opportunity.js +4 -1
- package/server/models/options.js +2 -1
- package/server/models/originimportid.js +1 -1
- package/server/models/otp.js +1 -1
- package/server/models/parameter.js +2 -1
- package/server/models/participant.js +20 -1
- package/server/models/partner.js +1 -1
- package/server/models/payload.js +1 -1
- package/server/models/pbl.js +16 -1
- package/server/models/pc0.js +13 -1
- package/server/models/pc1.js +14 -1
- package/server/models/pc2.js +13 -1
- package/server/models/pc3.js +13 -1
- package/server/models/pc5.js +8 -1
- package/server/models/pc6.js +14 -1
- package/server/models/pcl.js +6 -1
- package/server/models/pdn.js +9 -1
- package/server/models/pdx.js +9 -1
- package/server/models/pgh.js +5 -1
- package/server/models/phieudanhgia.js +3 -1
- package/server/models/pht.js +8 -1
- package/server/models/phucap.js +4 -1
- package/server/models/pkc.js +6 -1
- package/server/models/pkh.js +6 -1
- package/server/models/pkk.js +10 -1
- package/server/models/pkt.js +12 -1
- package/server/models/pn1.js +17 -1
- package/server/models/pn2.js +11 -1
- package/server/models/pn3.js +13 -1
- package/server/models/pn5.js +14 -1
- package/server/models/pn6.js +14 -1
- package/server/models/pn9.js +17 -1
- package/server/models/pnc.js +10 -1
- package/server/models/pnh.js +12 -1
- package/server/models/pnk.js +10 -1
- package/server/models/po1.js +19 -1
- package/server/models/ppb.js +6 -1
- package/server/models/profile.js +4 -1
- package/server/models/pt1.js +12 -1
- package/server/models/pt5.js +8 -1
- package/server/models/ptl.js +6 -1
- package/server/models/ptthanhtoan.js +6 -1
- package/server/models/purchase_contract.js +17 -1
- package/server/models/pxc.js +9 -1
- package/server/models/pxh.js +12 -1
- package/server/models/pxk.js +10 -1
- package/server/models/qts.js +14 -1
- package/server/models/qts_dieuchinh.js +3 -1
- package/server/models/qts_dieuchuyen.js +4 -1
- package/server/models/quanhuyen.js +2 -1
- package/server/models/reason.js +2 -1
- package/server/models/receivedinvoice.js +2 -1
- package/server/models/reportinfo.js +5 -1
- package/server/models/right.js +4 -1
- package/server/models/rpt.js +2 -1
- package/server/models/rptform.js +5 -1
- package/server/models/rptobject.js +2 -1
- package/server/models/sale_contract.js +9 -1
- package/server/models/schedule.js +16 -1
- package/server/models/schedule_log.js +2 -1
- package/server/models/service.js +4 -1
- package/server/models/shipbook.js +12 -1
- package/server/models/shortcut.js +2 -1
- package/server/models/smsaccount.js +10 -1
- package/server/models/smssend.js +2 -1
- package/server/models/so1.js +22 -1
- package/server/models/so2.js +10 -1
- package/server/models/so3.js +9 -1
- package/server/models/so5.js +15 -1
- package/server/models/so9.js +19 -1
- package/server/models/socai.js +25 -1
- package/server/models/socainpp.js +18 -1
- package/server/models/socaitc.js +6 -1
- package/server/models/socaitmp.js +16 -1
- package/server/models/socaitt.js +4 -1
- package/server/models/sodiemthuong.js +4 -1
- package/server/models/sokho.js +26 -1
- package/server/models/sokhocapphat.js +18 -1
- package/server/models/sokhokhongton.js +19 -1
- package/server/models/sokhonpp.js +19 -1
- package/server/models/sokhotc.js +8 -1
- package/server/models/sokhott.js +18 -1
- package/server/models/sophanbokh.js +3 -1
- package/server/models/sosanxuat.js +5 -1
- package/server/models/sotinhkh.js +2 -1
- package/server/models/spdd_ck.js +3 -1
- package/server/models/spdd_dk.js +3 -1
- package/server/models/step.js +2 -1
- package/server/models/strategicdiagram.js +3 -1
- package/server/models/strategicgoal.js +4 -1
- package/server/models/strategickpi.js +6 -1
- package/server/models/strategicobjective.js +5 -1
- package/server/models/strategicplan.js +5 -1
- package/server/models/subscribe.js +2 -1
- package/server/models/support.js +2 -1
- package/server/models/synctime.js +2 -1
- package/server/models/sysconfig.js +2 -1
- package/server/models/sysgroup.js +2 -1
- package/server/models/tableinfo.js +3 -1
- package/server/models/task.js +9 -1
- package/server/models/taskreg.js +4 -1
- package/server/models/tc.js +2 -1
- package/server/models/tdttco.js +8 -1
- package/server/models/tdttco_tt.js +5 -1
- package/server/models/tdttno.js +8 -1
- package/server/models/tdttno_tt.js +5 -1
- package/server/models/templaterpt.js +2 -1
- package/server/models/templatestore.js +3 -1
- package/server/models/templatevoucher.js +3 -1
- package/server/models/tinhthanh.js +2 -1
- package/server/models/tokens.js +2 -1
- package/server/models/tontucthoi.js +9 -1
- package/server/models/trangthai.js +4 -1
- package/server/models/trangthaiapp.js +4 -1
- package/server/models/transaction.js +16 -1
- package/server/models/trialinfo.js +2 -1
- package/server/models/user.js +38 -1
- package/server/models/usergroup.js +7 -1
- package/server/models/vanchuyen.js +12 -1
- package/server/models/vat.js +3 -1
- package/server/models/vatra.js +6 -1
- package/server/models/vatvao.js +6 -1
- package/server/models/versioninfo.js +2 -1
- package/server/models/vietqrbanks.js +2 -1
- package/server/models/vsocai.js +6 -1
- package/server/models/waitevent.js +2 -1
- package/server/models/wallet.js +8 -1
- package/server/models/warranty.js +3 -1
- package/server/models/warrantyclaim.js +2 -1
- package/server/models/warrantypolicy.js +1 -1
- package/server/models/xaphuong.js +2 -1
- package/server/models/xhd.js +10 -1
- package/server/models/ytdd_ck.js +4 -1
- package/server/models/ytdd_dk.js +4 -1
- package/server/models/zalo.js +17 -1
- package/server/modules/lists/bg-cddiem.js +6 -1
- package/server/modules/lists/bg-cddt.js +7 -1
- package/server/modules/lists/bg-cdkh.js +11 -1
- package/server/modules/lists/bg-cdnphep.js +6 -1
- package/server/modules/lists/bg-cdtk.js +9 -1
- package/server/modules/lists/bg-cdvt.js +8 -1
- package/server/modules/lists/bg-cdvtnpp.js +8 -1
- package/server/modules/lists/ls-account.js +4 -1
- package/server/modules/lists/ls-afflink.js +3 -1
- package/server/modules/lists/ls-approve.js +4 -1
- package/server/modules/lists/ls-assabcihandler.js +3 -1
- package/server/modules/lists/ls-assbank.js +3 -1
- package/server/modules/lists/ls-assbooking.js +20 -1
- package/server/modules/lists/ls-assbuy.js +8 -1
- package/server/modules/lists/ls-asscashwithdraw.js +8 -1
- package/server/modules/lists/ls-assinvestment.js +31 -1
- package/server/modules/lists/ls-assissue.js +3 -1
- package/server/modules/lists/ls-asskey.js +41 -1
- package/server/modules/lists/ls-assneedtobuy.js +10 -1
- package/server/modules/lists/ls-assperiod.js +19 -1
- package/server/modules/lists/ls-assproduct.js +9 -1
- package/server/modules/lists/ls-assprofitsharing.js +8 -1
- package/server/modules/lists/ls-assreceiver.js +3 -1
- package/server/modules/lists/ls-assrequest.js +4 -1
- package/server/modules/lists/ls-asssell.js +13 -1
- package/server/modules/lists/ls-asstransaction.js +3 -1
- package/server/modules/lists/ls-asstransfer.js +3 -1
- package/server/modules/lists/ls-assuser_identity.js +1 -1
- package/server/modules/lists/ls-asswithdraw.js +12 -1
- package/server/modules/lists/ls-bangtinhluong.js +2 -1
- package/server/modules/lists/ls-bds_area.js +3 -1
- package/server/modules/lists/ls-bds_block.js +1 -1
- package/server/modules/lists/ls-bds_building.js +3 -1
- package/server/modules/lists/ls-bds_dmnhbds.js +6 -1
- package/server/modules/lists/ls-bds_floor.js +2 -1
- package/server/modules/lists/ls-bds_floordetail.js +19 -1
- package/server/modules/lists/ls-bds_nhadat.js +16 -1
- package/server/modules/lists/ls-bds_nhomnhadat.js +1 -1
- package/server/modules/lists/ls-bds_phanloainhadat.js +1 -1
- package/server/modules/lists/ls-calllog.js +4 -1
- package/server/modules/lists/ls-campaign.js +1 -1
- package/server/modules/lists/ls-cart.js +14 -1
- package/server/modules/lists/ls-chamcong.js +3 -1
- package/server/modules/lists/ls-checkin.js +12 -1
- package/server/modules/lists/ls-checkinactivity.js +8 -1
- package/server/modules/lists/ls-checkinkpi.js +3 -1
- package/server/modules/lists/ls-checkinlocation.js +1 -1
- package/server/modules/lists/ls-chitieukpi.js +1 -1
- package/server/modules/lists/ls-chudethaoluan.js +1 -1
- package/server/modules/lists/ls-ckgtluong.js +1 -1
- package/server/modules/lists/ls-comment.js +9 -1
- package/server/modules/lists/ls-congdoansx.js +3 -1
- package/server/modules/lists/ls-congtacvien.js +5 -1
- package/server/modules/lists/ls-consultant.js +2 -1
- package/server/modules/lists/ls-contract.js +7 -1
- package/server/modules/lists/ls-ctds.js +4 -1
- package/server/modules/lists/ls-ctds2.js +4 -1
- package/server/modules/lists/ls-currency.js +1 -1
- package/server/modules/lists/ls-customer.js +21 -1
- package/server/modules/lists/ls-datlich.js +9 -1
- package/server/modules/lists/ls-dckhauhaots.js +3 -1
- package/server/modules/lists/ls-department.js +3 -1
- package/server/modules/lists/ls-diagram.js +1 -1
- package/server/modules/lists/ls-dkhoc.js +6 -1
- package/server/modules/lists/ls-dknphep.js +1 -1
- package/server/modules/lists/ls-dmban.js +4 -1
- package/server/modules/lists/ls-dmbp.js +7 -1
- package/server/modules/lists/ls-dmca.js +1 -1
- package/server/modules/lists/ls-dmchietkhau.js +19 -1
- package/server/modules/lists/ls-dmchietkhauhd.js +4 -1
- package/server/modules/lists/ls-dmchucvu.js +2 -1
- package/server/modules/lists/ls-dmcpmh.js +1 -1
- package/server/modules/lists/ls-dmdiemthuong.js +4 -1
- package/server/modules/lists/ls-dmdoi.js +4 -1
- package/server/modules/lists/ls-dmdoituongdanhgia.js +1 -1
- package/server/modules/lists/ls-dmdt.js +11 -1
- package/server/modules/lists/ls-dmdvt.js +2 -1
- package/server/modules/lists/ls-dmgiaban.js +4 -1
- package/server/modules/lists/ls-dmgiamua.js +4 -1
- package/server/modules/lists/ls-dmgiathitruong.js +15 -1
- package/server/modules/lists/ls-dmgiathitruong_ngay.js +2 -1
- package/server/modules/lists/ls-dmgiathitruong_theodoi.js +1 -1
- package/server/modules/lists/ls-dmhoahonghd.js +1 -1
- package/server/modules/lists/ls-dmhoahongnpp.js +1 -1
- package/server/modules/lists/ls-dmkc.js +3 -1
- package/server/modules/lists/ls-dmkho.js +1 -1
- package/server/modules/lists/ls-dmkhuyenmai.js +5 -1
- package/server/modules/lists/ls-dmkhuyenmaihd.js +3 -1
- package/server/modules/lists/ls-dmletet.js +1 -1
- package/server/modules/lists/ls-dmlo.js +1 -1
- package/server/modules/lists/ls-dmloaicong.js +1 -1
- package/server/modules/lists/ls-dmloaits.js +1 -1
- package/server/modules/lists/ls-dmnckkm.js +7 -1
- package/server/modules/lists/ls-dmnghiepvu.js +1 -1
- package/server/modules/lists/ls-dmnguonvon.js +1 -1
- package/server/modules/lists/ls-dmnhnv.js +6 -1
- package/server/modules/lists/ls-dmnhtask.js +5 -1
- package/server/modules/lists/ls-dmnkh.js +6 -1
- package/server/modules/lists/ls-dmntt.js +6 -1
- package/server/modules/lists/ls-dmnv.js +17 -1
- package/server/modules/lists/ls-dmnvt.js +8 -1
- package/server/modules/lists/ls-dmphatdichvu.js +3 -1
- package/server/modules/lists/ls-dmphi.js +6 -1
- package/server/modules/lists/ls-dmqct.js +2 -1
- package/server/modules/lists/ls-dmqddvt.js +3 -1
- package/server/modules/lists/ls-dmtanggiamts.js +1 -1
- package/server/modules/lists/ls-dmto.js +5 -1
- package/server/modules/lists/ls-dmtt.js +7 -1
- package/server/modules/lists/ls-dmvt.js +68 -1
- package/server/modules/lists/ls-dmyt.js +1 -1
- package/server/modules/lists/ls-dokho.js +1 -1
- package/server/modules/lists/ls-dvcs.js +1 -1
- package/server/modules/lists/ls-ecomcategories.js +5 -1
- package/server/modules/lists/ls-ecomcategories_cty.js +5 -1
- package/server/modules/lists/ls-email.js +4 -1
- package/server/modules/lists/ls-events.js +3 -1
- package/server/modules/lists/ls-evoucher.js +3 -1
- package/server/modules/lists/ls-experiencejourney.js +1 -1
- package/server/modules/lists/ls-experiencejourneydata.js +3 -1
- package/server/modules/lists/ls-experiencejourneypersona.js +4 -1
- package/server/modules/lists/ls-experiencejourneystage.js +1 -1
- package/server/modules/lists/ls-fbconversation.js +2 -1
- package/server/modules/lists/ls-fbmessage.js +2 -1
- package/server/modules/lists/ls-fbpage.js +11 -1
- package/server/modules/lists/ls-fbpost.js +2 -1
- package/server/modules/lists/ls-file.js +31 -1
- package/server/modules/lists/ls-financialroadmap.js +3 -1
- package/server/modules/lists/ls-flow.js +6 -1
- package/server/modules/lists/ls-flowdata.js +1 -1
- package/server/modules/lists/ls-folder.js +1 -1
- package/server/modules/lists/ls-form.js +1 -1
- package/server/modules/lists/ls-forminfo.js +1 -1
- package/server/modules/lists/ls-formvalue.js +1 -1
- package/server/modules/lists/ls-giaoca.js +5 -1
- package/server/modules/lists/ls-group.js +5 -1
- package/server/modules/lists/ls-hlink.js +1 -1
- package/server/modules/lists/ls-hlinkvalue.js +1 -1
- package/server/modules/lists/ls-hmcn.js +2 -1
- package/server/modules/lists/ls-hspbts.js +3 -1
- package/server/modules/lists/ls-introducebonus.js +4 -1
- package/server/modules/lists/ls-introducecode.js +10 -1
- package/server/modules/lists/ls-introducer.js +20 -1
- package/server/modules/lists/ls-kbm-bcdkt.js +1 -1
- package/server/modules/lists/ls-kbm-bcqt.js +5 -1
- package/server/modules/lists/ls-kbm-kqhdkd.js +1 -1
- package/server/modules/lists/ls-kbm-lcttgt.js +1 -1
- package/server/modules/lists/ls-kbm-lctttt.js +1 -1
- package/server/modules/lists/ls-kbm-pttct.js +3 -1
- package/server/modules/lists/ls-kbm-tkgtgt.js +3 -1
- package/server/modules/lists/ls-kbm-tmbctc.js +3 -1
- package/server/modules/lists/ls-kehoachdtcp.js +4 -1
- package/server/modules/lists/ls-keyresult.js +7 -1
- package/server/modules/lists/ls-khunghangthanhvien.js +1 -1
- package/server/modules/lists/ls-kygui.js +19 -1
- package/server/modules/lists/ls-label.js +1 -1
- package/server/modules/lists/ls-lienhe.js +4 -1
- package/server/modules/lists/ls-like-module.js +1 -1
- package/server/modules/lists/ls-link.js +1 -1
- package/server/modules/lists/ls-loaidiem.js +1 -1
- package/server/modules/lists/ls-lock.js +1 -1
- package/server/modules/lists/ls-log.js +3 -1
- package/server/modules/lists/ls-mailaccount.js +5 -1
- package/server/modules/lists/ls-mailreceived.js +5 -1
- package/server/modules/lists/ls-mailschedule.js +7 -1
- package/server/modules/lists/ls-mailsent.js +4 -1
- package/server/modules/lists/ls-mailtemplate.js +4 -1
- package/server/modules/lists/ls-maudanhgia.js +3 -1
- package/server/modules/lists/ls-message2.js +8 -1
- package/server/modules/lists/ls-message2setting.js +5 -1
- package/server/modules/lists/ls-news.js +7 -1
- package/server/modules/lists/ls-newsfeed.js +4 -1
- package/server/modules/lists/ls-note.js +6 -1
- package/server/modules/lists/ls-okr.js +5 -1
- package/server/modules/lists/ls-okrdiagram.js +1 -1
- package/server/modules/lists/ls-opportunity.js +5 -1
- package/server/modules/lists/ls-options.js +4 -1
- package/server/modules/lists/ls-parameter.js +3 -1
- package/server/modules/lists/ls-participant.js +10 -1
- package/server/modules/lists/ls-phieudanhgia.js +7 -1
- package/server/modules/lists/ls-phucap.js +2 -1
- package/server/modules/lists/ls-profile.js +1 -1
- package/server/modules/lists/ls-ptthanhtoan.js +3 -1
- package/server/modules/lists/ls-qts-dieuchinh.js +2 -1
- package/server/modules/lists/ls-qts-dieuchuyen.js +8 -1
- package/server/modules/lists/ls-reason.js +1 -1
- package/server/modules/lists/ls-rpt.js +5 -1
- package/server/modules/lists/ls-rptform.js +4 -1
- package/server/modules/lists/ls-service.js +3 -1
- package/server/modules/lists/ls-shortcut.js +1 -1
- package/server/modules/lists/ls-smsaccount.js +1 -1
- package/server/modules/lists/ls-smssend.js +3 -1
- package/server/modules/lists/ls-sosanxuat.js +4 -1
- package/server/modules/lists/ls-step.js +1 -1
- package/server/modules/lists/ls-strategicdiagram.js +1 -1
- package/server/modules/lists/ls-strategicgoal.js +3 -1
- package/server/modules/lists/ls-strategickpi.js +7 -1
- package/server/modules/lists/ls-strategicobjective.js +3 -1
- package/server/modules/lists/ls-strategicplan.js +6 -1
- package/server/modules/lists/ls-support.js +3 -1
- package/server/modules/lists/ls-task.js +34 -1
- package/server/modules/lists/ls-taskreg.js +2 -1
- package/server/modules/lists/ls-tc.js +1 -1
- package/server/modules/lists/ls-templaterpt.js +5 -1
- package/server/modules/lists/ls-templatevoucher.js +1 -1
- package/server/modules/lists/ls-tontucthoi.js +3 -1
- package/server/modules/lists/ls-trangthaiapp.js +3 -1
- package/server/modules/lists/ls-transaction.js +4 -1
- package/server/modules/lists/ls-usergroup.js +7 -1
- package/server/modules/lists/ls-vat.js +1 -1
- package/server/modules/lists/ls-vatra.js +5 -1
- package/server/modules/lists/ls-vatvao.js +6 -1
- package/server/modules/lists/ls-waitevent.js +1 -1
- package/server/modules/lists/ls-warranty.js +4 -1
- package/server/modules/lists/ls_hanmucton.js +3 -1
- package/server/modules/lists/ls_hspb.js +4 -1
- package/server/modules/lists/ls_spdd_ck.js +3 -1
- package/server/modules/lists/ls_spdd_dk.js +3 -1
- package/server/modules/lists/ls_ytdd_ck.js +4 -1
- package/server/modules/lists/ls_ytdd_dk.js +4 -1
- package/server/modules/lists/sys-attend.js +4 -1
- package/server/modules/lists/sys-follow.js +4 -1
- package/server/modules/lists/sys-right.js +2 -1
- package/server/modules/public/app.js +4 -1
- package/server/modules/public/approve.js +37 -1
- package/server/modules/public/callin.js +7 -1
- package/server/modules/public/comment.js +5 -1
- package/server/modules/public/dmnvt.js +4 -1
- package/server/modules/public/dmvt.js +9 -1
- package/server/modules/public/file.js +11 -1
- package/server/modules/public/form.js +7 -1
- package/server/modules/public/forminfo.js +1 -1
- package/server/modules/public/group.js +4 -1
- package/server/modules/public/hlink.js +3 -1
- package/server/modules/public/introducecode.js +1 -1
- package/server/modules/public/listinfo.js +1 -1
- package/server/modules/public/media-webhook.js +1 -1
- package/server/modules/public/partner.js +1 -1
- package/server/modules/public/paymentCallback.js +32 -1
- package/server/modules/public/province.js +1 -1
- package/server/modules/public/ptthanhtoan.js +4 -1
- package/server/modules/public/subscribe.js +30 -1
- package/server/modules/public/support.js +3 -1
- package/server/modules/public/tableinfo.js +1 -1
- package/server/modules/public/trialinfo.js +4 -1
- package/server/modules/public/versioninfo.js +1 -1
- package/server/modules/reports/calc-tinhgiatb.js +6 -1
- package/server/modules/reports/calc-tinhgiathanh.js +6 -1
- package/server/modules/reports/calc-tinhkhauhaots.js +3 -1
- package/server/modules/reports/calc-tinhluong.js +37 -1
- package/server/modules/reports/rp-analyzedata.js +6 -1
- package/server/modules/reports/rp-assbonus.js +4 -1
- package/server/modules/reports/rp-assinterest.js +8 -1
- package/server/modules/reports/rp-assproductowners.js +3 -1
- package/server/modules/reports/rp-asssupply.js +1 -1
- package/server/modules/reports/rp-asstransferlog.js +10 -1
- package/server/modules/reports/rp-banggiatb.js +3 -1
- package/server/modules/reports/rp-bangtinhkhauhao.js +6 -1
- package/server/modules/reports/rp-baocaokhachhang.js +6 -1
- package/server/modules/reports/rp-bcdkt.js +11 -1
- package/server/modules/reports/rp-bcintroducebonus.js +4 -1
- package/server/modules/reports/rp-bckhtiemnang.js +3 -1
- package/server/modules/reports/rp-bcqt.js +85 -1
- package/server/modules/reports/rp-bkct.js +13 -1
- package/server/modules/reports/rp-bkshipbook.js +8 -1
- package/server/modules/reports/rp-bkvanchuyen.js +8 -1
- package/server/modules/reports/rp-bkvatra.js +7 -1
- package/server/modules/reports/rp-bkvatvao.js +7 -1
- package/server/modules/reports/rp-capnhatsocaitc.js +4 -1
- package/server/modules/reports/rp-cdpsdiem.js +4 -1
- package/server/modules/reports/rp-cdpsdt.js +5 -1
- package/server/modules/reports/rp-cdpskh.js +7 -1
- package/server/modules/reports/rp-cdpsnphep.js +3 -1
- package/server/modules/reports/rp-cdpstk.js +4 -1
- package/server/modules/reports/rp-chitietchitientheohoadon.js +12 -1
- package/server/modules/reports/rp-chitiettaisan.js +13 -1
- package/server/modules/reports/rp-chitietthutientheohoadon.js +13 -1
- package/server/modules/reports/rp-ckcn.js +3 -1
- package/server/modules/reports/rp-ckdiem.js +2 -1
- package/server/modules/reports/rp-cktk.js +3 -1
- package/server/modules/reports/rp-ckvt.js +10 -1
- package/server/modules/reports/rp-ckvttheokho.js +4 -1
- package/server/modules/reports/rp-ckvttheotg.js +4 -1
- package/server/modules/reports/rp-ckvttt.js +3 -1
- package/server/modules/reports/rp-congnophaithutheotuoino.js +3 -1
- package/server/modules/reports/rp-congnophaitratheotuoino.js +3 -1
- package/server/modules/reports/rp-congnosapthu.js +4 -1
- package/server/modules/reports/rp-congnosaptra.js +4 -1
- package/server/modules/reports/rp-congviectheobp.js +9 -1
- package/server/modules/reports/rp-congviectheodt.js +8 -1
- package/server/modules/reports/rp-congviectheokh.js +8 -1
- package/server/modules/reports/rp-congviectheonv.js +9 -1
- package/server/modules/reports/rp-congviectheotimeline.js +6 -1
- package/server/modules/reports/rp-ctbanle.js +15 -1
- package/server/modules/reports/rp-ctbanle2.js +20 -1
- package/server/modules/reports/rp-ctbanlectv.js +20 -1
- package/server/modules/reports/rp-ctbanlenpp.js +24 -1
- package/server/modules/reports/rp-ctdanhgianhanvien.js +8 -1
- package/server/modules/reports/rp-cthangbanbitralai.js +4 -1
- package/server/modules/reports/rp-ctmuahang.js +7 -1
- package/server/modules/reports/rp-cttralaihang.js +4 -1
- package/server/modules/reports/rp-databanle.js +10 -1
- package/server/modules/reports/rp-diemthuong.js +2 -1
- package/server/modules/reports/rp-dkcn.js +3 -1
- package/server/modules/reports/rp-dktk.js +2 -1
- package/server/modules/reports/rp-dsnhanviencm.js +9 -1
- package/server/modules/reports/rp-dsnhanvientb.js +9 -1
- package/server/modules/reports/rp-dtbanlekempk.js +9 -1
- package/server/modules/reports/rp-dtbanletheoct.js +23 -1
- package/server/modules/reports/rp-dtbanletheoctkempk.js +25 -1
- package/server/modules/reports/rp-dtbanletheokh.js +20 -1
- package/server/modules/reports/rp-dtbanletheokhnpp.js +19 -1
- package/server/modules/reports/rp-dtbanletheokho.js +18 -1
- package/server/modules/reports/rp-dtbanletheonam.js +3 -1
- package/server/modules/reports/rp-dtbanletheongay.js +1 -1
- package/server/modules/reports/rp-dtbanletheonpp.js +23 -1
- package/server/modules/reports/rp-dtbanletheonv.js +19 -1
- package/server/modules/reports/rp-dtbanletheoquy.js +3 -1
- package/server/modules/reports/rp-dtbanletheosp.js +8 -1
- package/server/modules/reports/rp-dtbanletheospnpp.js +6 -1
- package/server/modules/reports/rp-dtbanletheothang.js +3 -1
- package/server/modules/reports/rp-dtbanletheothungan.js +12 -1
- package/server/modules/reports/rp-dtbanletheovt.js +2 -1
- package/server/modules/reports/rp-dtbanletheovtnpp.js +2 -1
- package/server/modules/reports/rp-dutoanthuchitheodt.js +4 -1
- package/server/modules/reports/rp-getPXC2PNC.js +8 -1
- package/server/modules/reports/rp-getariseofaccountsbymonth.js +4 -1
- package/server/modules/reports/rp-getbtpb.js +6 -1
- package/server/modules/reports/rp-getcashbycashier.js +7 -1
- package/server/modules/reports/rp-getcschietkhau.js +5 -1
- package/server/modules/reports/rp-getdinhmuc4lenhcp.js +7 -1
- package/server/modules/reports/rp-getdinhmuc4pxk.js +9 -1
- package/server/modules/reports/rp-getdk4pht.js +8 -1
- package/server/modules/reports/rp-getdk4pkc.js +9 -1
- package/server/modules/reports/rp-getdttheoca.js +5 -1
- package/server/modules/reports/rp-getinvoice2pay.js +4 -1
- package/server/modules/reports/rp-getinvoice2receive.js +4 -1
- package/server/modules/reports/rp-getinvoice2return.js +5 -1
- package/server/modules/reports/rp-getinvoice2return_bl.js +6 -1
- package/server/modules/reports/rp-getkehoachmh4lenhcp.js +4 -1
- package/server/modules/reports/rp-getkhauhao.js +7 -1
- package/server/modules/reports/rp-getluong.js +8 -1
- package/server/modules/reports/rp-getluongchuyen.js +5 -1
- package/server/modules/reports/rp-getpn2fee.js +5 -1
- package/server/modules/reports/rp-getpn2return.js +5 -1
- package/server/modules/reports/rp-getthanhpham4pnk.js +7 -1
- package/server/modules/reports/rp-getvc2xhd.js +11 -1
- package/server/modules/reports/rp-gt_cpnvltt.js +6 -1
- package/server/modules/reports/rp-hangbanbitralai.js +5 -1
- package/server/modules/reports/rp-hangthanhvien.js +3 -1
- package/server/modules/reports/rp-hoadonbanhangtheohantt.js +5 -1
- package/server/modules/reports/rp-hoadonmuahangtheohantt.js +5 -1
- package/server/modules/reports/rp-hoahong.js +15 -1
- package/server/modules/reports/rp-kcsns.js +19 -1
- package/server/modules/reports/rp-kgchamcong.js +7 -1
- package/server/modules/reports/rp-khoaso.js +12 -1
- package/server/modules/reports/rp-kiemtrasocaitcvssocai.js +6 -1
- package/server/modules/reports/rp-kqdanhgianhanvien.js +5 -1
- package/server/modules/reports/rp-kqhdkd.js +7 -1
- package/server/modules/reports/rp-lcttgt.js +17 -1
- package/server/modules/reports/rp-lctttt.js +11 -1
- package/server/modules/reports/rp-linkslist.js +4 -1
- package/server/modules/reports/rp-phanbochitienchohoadon.js +11 -1
- package/server/modules/reports/rp-phanbothutienchohoadon.js +10 -1
- package/server/modules/reports/rp-ptbitralai.js +7 -1
- package/server/modules/reports/rp-ptcttct.js +22 -1
- package/server/modules/reports/rp-ptdonhang.js +8 -1
- package/server/modules/reports/rp-pttct.js +49 -1
- package/server/modules/reports/rp-pttctkho.js +32 -1
- package/server/modules/reports/rp-pttctkho2.js +29 -1
- package/server/modules/reports/rp-referredusers.js +1 -1
- package/server/modules/reports/rp-sctbhxh.js +4 -1
- package/server/modules/reports/rp-sctcnkh.js +18 -1
- package/server/modules/reports/rp-sctdiem.js +3 -1
- package/server/modules/reports/rp-sctdt.js +7 -1
- package/server/modules/reports/rp-sctdtcp.js +11 -1
- package/server/modules/reports/rp-sctluong.js +4 -1
- package/server/modules/reports/rp-sctthuetncn.js +4 -1
- package/server/modules/reports/rp-scttk.js +8 -1
- package/server/modules/reports/rp-sctvt.js +5 -1
- package/server/modules/reports/rp-sctvt_sl.js +5 -1
- package/server/modules/reports/rp-sctvtnpp.js +6 -1
- package/server/modules/reports/rp-sctvttt.js +5 -1
- package/server/modules/reports/rp-search.js +4 -1
- package/server/modules/reports/rp-socai.js +6 -1
- package/server/modules/reports/rp-socaitk.js +8 -1
- package/server/modules/reports/rp-sochut.js +7 -1
- package/server/modules/reports/rp-sokho.js +7 -1
- package/server/modules/reports/rp-sokhott.js +5 -1
- package/server/modules/reports/rp-sonkbh.js +5 -1
- package/server/modules/reports/rp-sonkc.js +6 -1
- package/server/modules/reports/rp-sonkct.js +5 -1
- package/server/modules/reports/rp-sonkmh.js +5 -1
- package/server/modules/reports/rp-sonktt.js +5 -1
- package/server/modules/reports/rp-soquy.js +11 -1
- package/server/modules/reports/rp-sosanhkhvatt.js +13 -1
- package/server/modules/reports/rp-sosanhkhvatt2.js +6 -1
- package/server/modules/reports/rp-sotaisan.js +13 -1
- package/server/modules/reports/rp-sotiengui.js +7 -1
- package/server/modules/reports/rp-taodinhmuctudkhoc.js +5 -1
- package/server/modules/reports/rp-thbanhangkempk.js +28 -1
- package/server/modules/reports/rp-thdanhgianhanvien.js +9 -1
- package/server/modules/reports/rp-thgt.js +6 -1
- package/server/modules/reports/rp-thnxt.js +12 -1
- package/server/modules/reports/rp-thnxt_sl.js +9 -1
- package/server/modules/reports/rp-thnxtnpp.js +10 -1
- package/server/modules/reports/rp-thnxttt.js +9 -1
- package/server/modules/reports/rp-tkbanhangtheogioithieu.js +9 -1
- package/server/modules/reports/rp-tkgioithieukh.js +4 -1
- package/server/modules/reports/rp-tkgtgt.js +7 -1
- package/server/modules/reports/rp-tmbctc.js +20 -1
- package/server/modules/reports/rp-tonghopbanhang.js +6 -1
- package/server/modules/reports/rp-tonghopmuahang.js +5 -1
- package/server/modules/reports/rp-tonghoptralaihang.js +5 -1
- package/server/modules/reports/rp-tongquanbanle.js +20 -1
- package/server/modules/reports/rp-tongquanbds.js +3 -1
- package/server/modules/reports/rp-tongquancongty.js +6 -1
- package/server/modules/reports/rp-tongquanctvnpp.js +12 -1
- package/server/modules/reports/rp-tongquannvbh.js +14 -1
- package/server/modules/reports/rp-tongquannvnpp.js +5 -1
- package/server/modules/reports/rp-uoctinhnvl.js +11 -1
- package/server/modules/reports/rp-wallet.js +3 -1
- package/server/modules/reports/rpt-tkdiemtichluy.js +9 -1
- package/server/modules/systems/sys-app.js +30 -1
- package/server/modules/systems/sys-colleague.js +11 -1
- package/server/modules/systems/sys-domain.js +4 -1
- package/server/modules/systems/sys-ecomproductlines.js +1 -1
- package/server/modules/systems/sys-exportexceltemplate.js +4 -1
- package/server/modules/systems/sys-fieldright.js +3 -1
- package/server/modules/systems/sys-importexceltemplate.js +4 -1
- package/server/modules/systems/sys-labelinfo.js +4 -1
- package/server/modules/systems/sys-listinfo.js +10 -1
- package/server/modules/systems/sys-menuinfo.js +4 -1
- package/server/modules/systems/sys-message.js +14 -1
- package/server/modules/systems/sys-moduleinfo.js +4 -1
- package/server/modules/systems/sys-notification.js +8 -1
- package/server/modules/systems/sys-quanhuyen.js +4 -1
- package/server/modules/systems/sys-reportinfo.js +4 -1
- package/server/modules/systems/sys-rptobject.js +3 -1
- package/server/modules/systems/sys-schedule.js +11 -1
- package/server/modules/systems/sys-sysconfig.js +3 -1
- package/server/modules/systems/sys-sysgroup.js +3 -1
- package/server/modules/systems/sys-tableinfo.js +3 -1
- package/server/modules/systems/sys-templatestore.js +5 -1
- package/server/modules/systems/sys-tinhthanh.js +4 -1
- package/server/modules/systems/sys-token.js +3 -1
- package/server/modules/systems/sys-trangthai.js +4 -1
- package/server/modules/systems/sys-trialinfo.js +3 -1
- package/server/modules/systems/sys-user.js +45 -1
- package/server/modules/systems/sys-users.js +10 -1
- package/server/modules/systems/sys-versioninfo.js +3 -1
- package/server/modules/systems/sys-vietqrbanks.js +4 -1
- package/server/modules/systems/sys-xaphuong.js +4 -1
- package/server/modules/vouchers/vo-banggiaban.js +5 -1
- package/server/modules/vouchers/vo-bc1.js +33 -1
- package/server/modules/vouchers/vo-bc5.js +15 -1
- package/server/modules/vouchers/vo-bg1.js +10 -1
- package/server/modules/vouchers/vo-bg2.js +12 -1
- package/server/modules/vouchers/vo-bn1.js +35 -1
- package/server/modules/vouchers/vo-bn5.js +15 -1
- package/server/modules/vouchers/vo-dh2.js +35 -1
- package/server/modules/vouchers/vo-dinhmucsx.js +6 -1
- package/server/modules/vouchers/vo-dkb.js +21 -1
- package/server/modules/vouchers/vo-dn0.js +9 -1
- package/server/modules/vouchers/vo-dnm.js +20 -1
- package/server/modules/vouchers/vo-hd1.js +36 -1
- package/server/modules/vouchers/vo-hd2.js +107 -1
- package/server/modules/vouchers/vo-hd3.js +44 -1
- package/server/modules/vouchers/vo-hd4.js +13 -1
- package/server/modules/vouchers/vo-hd7.js +29 -1
- package/server/modules/vouchers/vo-hd8.js +29 -1
- package/server/modules/vouchers/vo-hde.js +40 -1
- package/server/modules/vouchers/vo-htl.js +11 -1
- package/server/modules/vouchers/vo-kbbtpb.js +6 -1
- package/server/modules/vouchers/vo-kehoachmh.js +11 -1
- package/server/modules/vouchers/vo-lenhcapphat.js +9 -1
- package/server/modules/vouchers/vo-lenhsx.js +12 -1
- package/server/modules/vouchers/vo-pbl.js +93 -1
- package/server/modules/vouchers/vo-pc0.js +14 -1
- package/server/modules/vouchers/vo-pc1.js +30 -1
- package/server/modules/vouchers/vo-pc2.js +24 -1
- package/server/modules/vouchers/vo-pc3.js +14 -1
- package/server/modules/vouchers/vo-pc5.js +15 -1
- package/server/modules/vouchers/vo-pc6.js +19 -1
- package/server/modules/vouchers/vo-pcl.js +7 -1
- package/server/modules/vouchers/vo-pdn.js +11 -1
- package/server/modules/vouchers/vo-pdx.js +9 -1
- package/server/modules/vouchers/vo-pgh.js +19 -1
- package/server/modules/vouchers/vo-pht.js +6 -1
- package/server/modules/vouchers/vo-pkc.js +5 -1
- package/server/modules/vouchers/vo-pkh.js +9 -1
- package/server/modules/vouchers/vo-pkk.js +12 -1
- package/server/modules/vouchers/vo-pkt.js +12 -1
- package/server/modules/vouchers/vo-pn1.js +33 -1
- package/server/modules/vouchers/vo-pn2.js +15 -1
- package/server/modules/vouchers/vo-pn3.js +18 -1
- package/server/modules/vouchers/vo-pn5.js +19 -1
- package/server/modules/vouchers/vo-pn6.js +18 -1
- package/server/modules/vouchers/vo-pn9.js +22 -1
- package/server/modules/vouchers/vo-pnc.js +20 -1
- package/server/modules/vouchers/vo-pnh.js +20 -1
- package/server/modules/vouchers/vo-pnk.js +12 -1
- package/server/modules/vouchers/vo-pnknpp.js +12 -1
- package/server/modules/vouchers/vo-po1.js +14 -1
- package/server/modules/vouchers/vo-ppb.js +8 -1
- package/server/modules/vouchers/vo-pt1.js +19 -1
- package/server/modules/vouchers/vo-pt5.js +15 -1
- package/server/modules/vouchers/vo-ptl.js +8 -1
- package/server/modules/vouchers/vo-purchase_contract.js +9 -1
- package/server/modules/vouchers/vo-pxc.js +22 -1
- package/server/modules/vouchers/vo-pxh.js +27 -1
- package/server/modules/vouchers/vo-pxk.js +15 -1
- package/server/modules/vouchers/vo-pxknpp.js +14 -1
- package/server/modules/vouchers/vo-qts.js +12 -1
- package/server/modules/vouchers/vo-sale_contract.js +11 -1
- package/server/modules/vouchers/vo-shipbook.js +17 -1
- package/server/modules/vouchers/vo-so1.js +126 -1
- package/server/modules/vouchers/vo-so2.js +37 -1
- package/server/modules/vouchers/vo-so3.js +41 -1
- package/server/modules/vouchers/vo-so5.js +57 -1
- package/server/modules/vouchers/vo-so7.js +97 -1
- package/server/modules/vouchers/vo-so9.js +119 -1
- package/server/modules/vouchers/vo-vanchuyen.js +14 -1
- package/server/modules/vouchers/vo-xhd.js +33 -1
- package/server/route.js +51 -1
- package/server/services/invoiceFetcher.js +12 -1
- package/server/sslConfig.js +2 -1
- package/server/transactionMiddleware.js +5 -1
- package/server/workers/backupApp.js +9 -1
- package/server/workers/calcGrid.js +9 -1
- package/server/workers/customerOnImport.js +8 -1
- package/server/workers/dmvtOnImport.js +9 -1
- package/server/workers/excelParser.js +9 -1
- package/server/workers/inputWorker.js +6 -1
- package/server/workers/pushNotify.js +10 -1
- package/server/workers/reportWorker.js +7 -1
- package/server/workers/restoreApp.js +23 -1
- package/server/workers/runScript.js +4 -1
- package/server/workers/sendEmail.js +13 -1
- package/server/workers/webhook.js +5 -1
- package/server/ssl/ca.ca-bundle +0 -67
- package/server/ssl/cert.crt +0 -36
- package/server/ssl/key.pem +0 -28
package/package.json
CHANGED
package/server/app.js
CHANGED
|
@@ -1 +1,23 @@
|
|
|
1
|
-
const _0x26c348=_0xe21a;(function(_0x3691ef,_0x4ac6bf){const _0x106820=_0xe21a,_0x5732ba=_0x3691ef();while(!![]){try{const _0x518e24=parseInt(_0x106820(0x255))/0x1+-parseInt(_0x106820(0x22e))/0x2+parseInt(_0x106820(0x138))/0x3+-parseInt(_0x106820(0x216))/0x4*(-parseInt(_0x106820(0x14f))/0x5)+-parseInt(_0x106820(0x165))/0x6+parseInt(_0x106820(0x15b))/0x7*(-parseInt(_0x106820(0x15f))/0x8)+parseInt(_0x106820(0x176))/0x9;if(_0x518e24===_0x4ac6bf)break;else _0x5732ba['push'](_0x5732ba['shift']());}catch(_0xa9fb){_0x5732ba['push'](_0x5732ba['shift']());}}}(_0x31ea,0x9cfd7),require(_0x26c348(0x25e)+'s')['Event'+_0x26c348(0x16f)+'er'][_0x26c348(0x16d)+_0x26c348(0x13a)+_0x26c348(0x1ea)+_0x26c348(0x242)]=0x989680);const os=require('os'),express=require(_0x26c348(0x192)+'ss'),bodyParser=require(_0x26c348(0x1b3)+_0x26c348(0x188)+'r'),crypto=require('crypt'+'o'),passport=require(_0x26c348(0x1d8)+'ort'),https=require(_0x26c348(0x1f0)),http=require('http'),fs=require('fs'),cors=require('cors'),_global=require(_0x26c348(0x1ec)+'bal'),defaultConfigs=require(_0x26c348(0x160)+'aultC'+_0x26c348(0x17d)+'s'),_0x2711af={};function _0xe21a(_0x35b63c,_0x5d4301){const _0x31eae0=_0x31ea();return _0xe21a=function(_0xe21ad,_0x24dceb){_0xe21ad=_0xe21ad-0x130;let _0x3ce2e5=_0x31eae0[_0xe21ad];if(_0xe21a['GRdqKf']===undefined){var _0x317083=function(_0x2711af){const _0x138101='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4e11b0='',_0x3159e2='';for(let _0x18b643=0x0,_0x2a998d,_0x55aba6,_0xbbb93e=0x0;_0x55aba6=_0x2711af['charAt'](_0xbbb93e++);~_0x55aba6&&(_0x2a998d=_0x18b643%0x4?_0x2a998d*0x40+_0x55aba6:_0x55aba6,_0x18b643++%0x4)?_0x4e11b0+=String['fromCharCode'](0xff&_0x2a998d>>(-0x2*_0x18b643&0x6)):0x0){_0x55aba6=_0x138101['indexOf'](_0x55aba6);}for(let _0x40ca99=0x0,_0xf921fe=_0x4e11b0['length'];_0x40ca99<_0xf921fe;_0x40ca99++){_0x3159e2+='%'+('00'+_0x4e11b0['charCodeAt'](_0x40ca99)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3159e2);};_0xe21a['byCxkf']=_0x317083,_0x35b63c=arguments,_0xe21a['GRdqKf']=!![];}const _0x2839e7=_0x31eae0[0x0],_0x24a2d5=_0xe21ad+_0x2839e7,_0x1b2431=_0x35b63c[_0x24a2d5];return!_0x1b2431?(_0x3ce2e5=_0xe21a['byCxkf'](_0x3ce2e5),_0x35b63c[_0x24a2d5]=_0x3ce2e5):_0x3ce2e5=_0x1b2431,_0x3ce2e5;},_0xe21a(_0x35b63c,_0x5d4301);}_0x2711af[_0x26c348(0x132)+'er']=![],_0x2711af['port']=0x1bb,_0x2711af[_0x26c348(0x205)+'cket']=!![];function _0x31ea(){const _0x4c011a=['Cgf0Ahm','zxHLyW','yxjZzxi','CIbPCYa','ifteG25N','y3b1CW','y2f0y2G','yxrHyMe','CgfZC3a','Aw5WDxq','B25Jzq','tu9or08','u3rYAw4','tejo','C3rHCNq','rMLSzq','zMLSzxm','zw52','ihbYB3G','CNrvC2u','zMf1Bhq','C2uGDhi','ig9U','C2v0lwm','Dwv1zv8','zgvK','tgLZDgu','l2fKBwK','lI9NBg8','zxjZl3i','Bwf4','Df9Kyxq','Ahr0Chm','DxnLtMu','ywXPEMu','ifjLCg8','BNqGrxi','zxHPC3q','zgXLCG','yv9WB28','B3jPz2K','lI9ZC2W','DhjLyw0','BIbR4BQ/Da','Df9JChu','CMv0CNK','ig5VDY4','BwvZC2e','u2vYDMu','u0Lhsu4','lI9YB3u','zxbVCNq','Bwf4x3e','DxnLu28','DgfFCg8','DgvNEq','Dw5Jyxu','C3rHDgK','BMvJDgK','yxrPy1a','zw5K','Dg9vvem','ihjLzgK','C3nPB24','Agv4','ienSAwu','BwTKAxi','DgLTzuW','zxiGC3q','ug9VBa','mJmYDfv6BLjZ','CY9xB3i','y2HL','z2LMEq','x2fIy2K','y3rPB24','y29TyMK','B25L','yY50B2S','z2v0vgK','Aw5PDgK','ihrOAEg6VW','B3jRzxi','BM93','y29VA2K','BMCGzog6QW','ihnLCNy','zunSAwu','Bw9Uz28','AgvHzgu','zgvZDa','C3rYzwe','zMLSzvm','C0nVBM4','mJa1ota5mej1sNHxEq','B25SAw4','ihnVCNi','CMfUC2e','igDPyw4','imsr4BUzBMC','zwn0Aw8','C0nHy2G','ue9sva','l3DVCMS','ywrTAw4','rMLSzsa','y2XPzw4','ie5VDca','BEg7MxqGDa','ieLTCg8','C3vWCg8','x2LUChu','DwLK','zw4Gy2e','BMvYCW','BgvY','B2WGCMu','zgvS','BMnLBdO','zxiG','DgHLBG','DhjHBNm','AxPL','y29TBwe','DUg7M2KGza','Aw1Hz2u','ihDYB3q','BMXPBMu','CMLNAhq','C2TPCa','Cg9YDa','ig5VDYW','DfjLzgK','mta4mZq3ne54wK1ksq','uMvXDwu','y2TLDa','y2LOyw4','AxmTy2e','DgvTCgW','zgf0ywi','cIaG','C2f2zvu','zxzLBNq','lJaUmq','y29UDgu','BYbTB24','Dg9VigW','BwfW','AwXLlxm','C2vY','ihjLCxu','Cf0Gq3i','CNrFCg8','BMLUzW','Es1Zzxm','Bg9N','l3vWBg8','zwn0zwq','rMLSzvm','zxH0zw4','ienVBM4','ihbVB2W','uvyWotG','y2X1C3q','zw1HAwW','zxHPDa','Av9nAw4','CY9Yzwq','BMvJDgu','mta5mtaYnwnAsw14tW','C3rYAw4','BhrnyxG','ig7HU5fPia','C3rHDhu','B29S','zxPVBMu','BgLTAxq','C0nVzgu','CIbfCNi','lI9SAwi','yxrLCW','D1vYBfa','y29TChi','C2v0rgu','x2LTCg8','CMvWB3i','y29UBMu','C2v0uge','ihDVCMS','DxbSB2e','DxjS','y190B2S','otq0ndveBKnyBxa','B24Gy2W','lMPZ','C3rtAxO','B29RAwu','CNrFzge','zxnZAw8','ChjVy2u','twfPBLa','zsbfuLi','x3jLCg8','zxjYB3i','mJfuvKPrD3m','w2fWCf0','BwLU','CYbJB24','mJy3otiYnevNsKH5CG','lI9Kzwy','Dg9tDhi','BNqTBgu','DsdeKCAW4BUD','Aw5Nlwy','ntCXmtu4Bhf2Ehr6','l3rLBxa','BKXPzMu','igpHU6DHia','C2HHCMu','ihrVieq','igrPzwq','Aw5MBW','zgvMyxu','DerHDge','rw1PDhq','vxnLCNm','C3mTC2u','BgLLBNq','A2vYu3q','x3n0CMe','DgfIyxm','mJa2nZKWm1HOqu1hwa','B25Nigy','CMvKAxm','BgL0zq','D3jPDgu','C3KTANm','Dc10Aw0','B25MAwC','CI5QCW','Dg9VyNu','yxj0zwq','C1n5BMm','yxnL','ywr5','zxn0igG','rxjYB3i','zs1Wyxi','BMvK','CgfYC2u','C2LVBG','C2vJCMu','BgLZDgu','z2v0tw8','q29UzMK','cIaGica','CMfUzg8','l2XVzW','Dhj1C3q','zxHWCMu','u3rHy2S','C2vUza','y3jLyxq','x2HHBMq','zvjLzgK','zwnVBMq','yNvZEsa','CY91DgK','zfjLzgK','CM90yxq','CMvZyxy','Aw1WB3i','Cgf0Aa','Bwf4tge','B2nRzxq','ChvIBgK','l2vYCM8','C3nSrgK','C3rHy2S','igvYCM8','Aw1PDfm','AwvUDa','DwLKoG','Aw5N','mw1I','zvnLCNy','BM9Uzq','y2vWDgK','t1iHia','Buj5Dgu','De1HAw4','B3iH','yM9KEs0','DxnLx3m','DMfS','B3nL','zsbSB2C','CY5SB2C','DcbWB28','l2LTywC','DxnL','yxj0ige','u29JA2u','y3rLzca','DxnLCG','C2v0','CgLK','z2v0q2W','Aw5PDfm','BNb1DfC','Bgf0zxm','ywn0Aw8','zwn0ihq','ywrZ','DxjSzw4','CM91BMq','zxjZl2K','lNr4Da','qxnPys8','u3LUyW','CNqGCg8'];_0x31ea=function(){return _0x4c011a;};return _0x31ea();}const mainServer=function(_0x3df468,_0x21d832=_0x2711af,_0x36cf2a=null){const _0x485760=_0x26c348,_0x327fc4={...defaultConfigs,..._0x21d832['confi'+'gs']};_0x327fc4[_0x485760(0x179)]=_0x21d832[_0x485760(0x179)];const _0x57671b=global['confi'+'gs']=_0x327fc4;_0x57671b[_0x485760(0x25b)+_0x485760(0x182)][_0x485760(0x14d)]=process[_0x485760(0x1e1)][_0x485760(0x1db)+'_URI']||_0x57671b['datab'+_0x485760(0x182)]['url'];const _0x2bb5cd=global[_0x485760(0x18c)+_0x485760(0x245)](_0x485760(0x1bf));if(!_0x57671b[_0x485760(0x238)+'s'])_0x57671b['admin'+'s']=_0x57671b[_0x485760(0x238)+_0x485760(0x170)][_0x485760(0x263)](_0x455342=>_0x455342[_0x485760(0x133)]);if(!_0x57671b[_0x485760(0x23e)+_0x485760(0x1e3)+'rs'])_0x57671b[_0x485760(0x23e)+_0x485760(0x1e3)+'rs']=[..._0x57671b[_0x485760(0x238)+'s']];if(!_0x57671b[_0x485760(0x1a2)+'c_tok'+'en'])_0x57671b['publi'+_0x485760(0x14e)+'en']='flex.'+_0x485760(0x1a2)+_0x485760(0x21e)+'en';const _0x1022b5=_0x21d832[_0x485760(0x252)]||_0x57671b[_0x485760(0x252)]||_0x57671b[_0x485760(0x236)]||0x1bb;_0x57671b[_0x485760(0x252)]=_0x1022b5,global[_0x485760(0x252)]=_0x1022b5;const _0x5047b3=require('momen'+_0x485760(0x17c)+_0x485760(0x13e));_0x5047b3['tz'][_0x485760(0x146)+_0x485760(0x1e4)](_0x57671b['timez'+_0x485760(0x21d)]||_0x485760(0x1cd)+'Ho_Ch'+_0x485760(0x135)+'h');if(!_0x3df468)_0x3df468=express();_0x3df468['set'](_0x485760(0x191)+_0x485760(0x1e2)+'y',0x1);const _0x5cb330=require(_0x485760(0x17f)+_0x485760(0x17b));if(_0x57671b[_0x485760(0x1a0)+'g'])_0x5cb330[_0x485760(0x1a0)+'g'](_0x57671b['maxLa'+'g']);_0x3df468[_0x485760(0x1bb)](function(_0x407a7b,_0x445266,_0x14f145){const _0x3de42a=_0x485760;if(_0x5cb330()){console[_0x3de42a(0x15a)](_0x3de42a(0x200)+_0x3de42a(0x1d3)+_0x3de42a(0x199)+_0x3de42a(0x250)+_0x3de42a(0x1fe)+'\x20This'+_0x3de42a(0x266)+_0x3de42a(0x184)+'as\x20be'+_0x3de42a(0x241)+_0x3de42a(0x246),_0x407a7b[_0x3de42a(0x1f8)+'nalUr'+'l']);const _0x1be0e4={};_0x1be0e4['error']=_0x3de42a(0x200)+_0x3de42a(0x1d3)+_0x3de42a(0x199)+_0x3de42a(0x250)+_0x3de42a(0x253)+_0x3de42a(0x230)+'y.',_0x445266[_0x3de42a(0x13c)+'s'](0x1f7)[_0x3de42a(0x194)](_0x1be0e4);}else _0x14f145();});const _0x2d69d6=require(_0x485760(0x192)+_0x485760(0x171)+_0x485760(0x20f)),_0x14c6ed={};_0x14c6ed['secur'+'e']=![];const _0xbe07f1={};_0xbe07f1[_0x485760(0x18a)+'t']=_0x485760(0x131)+'PVT12'+'3456H'+_0x485760(0x1dd),_0xbe07f1[_0x485760(0x19d)+'e']=![],_0xbe07f1[_0x485760(0x25d)+'ninit'+'ializ'+'ed']=!![],_0xbe07f1[_0x485760(0x224)+'e']=_0x14c6ed,_0x3df468[_0x485760(0x1bb)](_0x2d69d6(_0xbe07f1));const _0x5e02c2=require('cooki'+_0x485760(0x186)+_0x485760(0x265));_0x3df468[_0x485760(0x1bb)](_0x5e02c2()),_0x3df468[_0x485760(0x1bb)](function(_0x5cb194,_0x2697ee,_0xfbdf46){const _0x3ac10b=_0x485760;let _0xcf864b=_0x5cb194[_0x3ac10b(0x224)+'es'][_0x3ac10b(0x240)];!_0xcf864b&&(_0xcf864b=_0x5cb194['heade'+'rs']['uid']),!_0xcf864b&&(_0xcf864b=_0x3ac10b(0x1a9)+crypto[_0x3ac10b(0x18f)+_0x3ac10b(0x1b0)+'s'](0x14)[_0x3ac10b(0x161)+_0x3ac10b(0x1aa)](_0x3ac10b(0x210)),_0x2697ee[_0x3ac10b(0x224)+'e'](_0x3ac10b(0x240),_0xcf864b,{'expires':new Date(Date[_0x3ac10b(0x223)]()+0x16d*0x18*0x36ee80),'sameSite':_0x3ac10b(0x1ad),'secure':!![]})),_0x2697ee[_0x3ac10b(0x1c0)](_0x3ac10b(0x240),_0xcf864b),_0x5cb194[_0x3ac10b(0x224)+'es'][_0x3ac10b(0x240)]=_0xcf864b,_0xfbdf46();});const _0x17bc2b=require(_0x485760(0x145)+_0x485760(0x155)+'n');_0x3df468[_0x485760(0x1bb)](_0x17bc2b());const _0x1a4e86=_0x57671b[_0x485760(0x1d0)][_0x485760(0x14c)+'ds']||__dirname+(_0x485760(0x26c)+_0x485760(0x1c8)),_0x2f49ab=_0x57671b['limit'+_0x485760(0x26e)+_0x485760(0x24a)]||0x400*0x400*0x1;_0x3df468['use'](function(_0x587f8a,_0x366bbf,_0x5c2a58){const _0x3d096a=_0x485760,_0x4c3366=_0x587f8a[_0x3d096a(0x229)+'rs'][_0x3d096a(0x260)+_0x3d096a(0x162)+'nght'];if(_0x4c3366&&_0x4c3366>_0x2f49ab){const _0x5790f8={};return _0x5790f8[_0x3d096a(0x15a)]=_0x3d096a(0x239)+_0x3d096a(0x262)+'arge',_0x366bbf[_0x3d096a(0x13c)+'s'](0x190)[_0x3d096a(0x194)](_0x5790f8);}_0x5c2a58();});const _0x9a569b={};_0x9a569b[_0x485760(0x1e0)]=0x1,_0x9a569b[_0x485760(0x22c)+_0x485760(0x24a)]=_0x2f49ab;const _0x4409bb={};_0x4409bb[_0x485760(0x22a)]=_0x1a4e86,_0x4409bb[_0x485760(0x13f)+'s']=_0x9a569b;const _0x404af2=require('multe'+'r')(_0x4409bb);_0x3df468[_0x485760(0x1bb)](_0x404af2);const _0x4db0d4={'credentials':!![],'exposedHeaders':[_0x485760(0x1e7)+_0x485760(0x153),_0x485760(0x240)],'origin':(_0x4b93ed,_0x376783)=>{_0x376783(null,!![]);}};_0x3df468[_0x485760(0x1bb)](cors(_0x4db0d4));if(!_0x57671b[_0x485760(0x1d0)])_0x57671b['paths']={};_0x21d832[_0x485760(0x179)]!==!![]&&(_0x3df468[_0x485760(0x1bb)]('/',express[_0x485760(0x209)+'c'](_0x57671b['paths']['publi'+'c']||__dirname+('/publ'+'ic'))),_0x3df468[_0x485760(0x1bb)](_0x485760(0x1eb)+'n',express['stati'+'c'](_0x57671b['paths'][_0x485760(0x238)]||__dirname+('/admi'+'n'))),_0x3df468['use'](_0x485760(0x166)+_0x485760(0x1c5),express[_0x485760(0x209)+'c'](_0x57671b[_0x485760(0x1d0)][_0x485760(0x25a)+_0x485760(0x143)]||__dirname+(_0x485760(0x166)+'lates'))),_0x3df468[_0x485760(0x1bb)](_0x485760(0x1ba)+'es',express[_0x485760(0x209)+'c'](_0x57671b[_0x485760(0x1d0)][_0x485760(0x24d)+'s']||__dirname+(_0x485760(0x1ba)+'es'))));const _0x518e96={};_0x518e96[_0x485760(0x13f)]=_0x57671b[_0x485760(0x13f)+'Reque'+_0x485760(0x152)+'e']||_0x485760(0x1ab),_0x3df468[_0x485760(0x1bb)](bodyParser['json'](_0x518e96));const _0x28452a={};_0x28452a[_0x485760(0x13f)]=_0x57671b[_0x485760(0x13f)+_0x485760(0x256)+'stSiz'+'e']||_0x485760(0x1ab),_0x28452a[_0x485760(0x26f)+_0x485760(0x1e9)]=!![],_0x3df468['use'](bodyParser[_0x485760(0x1c9)+'coded'](_0x28452a)),_0x3df468[_0x485760(0x1bb)](passport[_0x485760(0x220)+_0x485760(0x1f2)]());const _0x4fdd29=require('morga'+'n'),_0x320579=require(_0x485760(0x19c)+_0x485760(0x164)+_0x485760(0x264)+_0x485760(0x1fa)),_0x313476=_0x57671b['paths'][_0x485760(0x26b)]||__dirname+_0x485760(0x190);fs[_0x485760(0x1f5)+_0x485760(0x181)](_0x313476)||fs['mkdir'+_0x485760(0x1ce)](_0x313476);const _0x53b419={};_0x53b419['inter'+_0x485760(0x1b5)]='1d',_0x53b419[_0x485760(0x19f)]=_0x313476;const _0x40e463=_0x320579('acces'+_0x485760(0x1b8),_0x53b419),_0x235959={};_0x235959[_0x485760(0x22b)+'m']=_0x40e463,_0x235959[_0x485760(0x251)]=function(_0x18ae50,_0x3484e4){const _0x5f1304=_0x485760;return _0x3484e4['statu'+_0x5f1304(0x140)]<0x190;},_0x3df468[_0x485760(0x1bb)](_0x4fdd29(_0x485760(0x21c)+_0x485760(0x187),_0x235959)),_0x3df468[_0x485760(0x1bb)](function(_0x33f514,_0xeb1ac4,_0x4964da,_0x52dd2d){const _0x20148e=_0x485760;console['error'](_0x33f514['stack']),_0x4964da[_0x20148e(0x13c)+'s'](0x1f4)[_0x20148e(0x194)](_0x20148e(0x200)+_0x20148e(0x141)+_0x20148e(0x1b2));}),console[_0x485760(0x26b)](_0x485760(0x15c)+'\x20conn'+_0x485760(0x1c7)+_0x485760(0x261)+'godb',_0x57671b[_0x485760(0x25b)+_0x485760(0x182)]['url']);!_0x57671b['datab'+_0x485760(0x182)][_0x485760(0x14d)]&&(console[_0x485760(0x15a)](_0x485760(0x15c)+_0x485760(0x221)+_0x485760(0x163)+_0x485760(0x225)+_0x485760(0x1fb)+_0x485760(0x13b)+_0x485760(0x24c)+_0x485760(0x1d7)+_0x485760(0x1e5)+_0x485760(0x177)+'ile\x20c'+'onfig'),process['exit'](0x1));const _0x5db09b={};return _0x5db09b[_0x485760(0x1f1)+_0x485760(0x144)+_0x485760(0x1d2)]=!![],global[_0x485760(0x228)+_0x485760(0x1b6)][_0x485760(0x149)+'ct'](_0x57671b[_0x485760(0x25b)+_0x485760(0x182)]['url'],_0x5db09b)[_0x485760(0x248)](async()=>{const _0x25d8e8=_0x485760,_0x441032=mongoose[_0x25d8e8(0x149)+_0x25d8e8(0x21b)][_0x25d8e8(0x1c2)+_0x25d8e8(0x1a8)](),_0xfbb0e1=_0x441032['db']()['admin'](),_0x5a2a22={};_0x5a2a22[_0x25d8e8(0x14a)+'ramet'+'er']=0x1,_0x5a2a22[_0x25d8e8(0x249)+_0x25d8e8(0x1c6)+'nLife'+_0x25d8e8(0x213)+_0x25d8e8(0x1a7)+_0x25d8e8(0x198)+'s']=_0x21d832[_0x25d8e8(0x249)+'actio'+_0x25d8e8(0x167)+_0x25d8e8(0x213)+_0x25d8e8(0x1a7)+_0x25d8e8(0x198)+'s']||0x1e*0x3c;const _0x35aaef=await _0xfbb0e1[_0x25d8e8(0x24b)+'nd'](_0x5a2a22);console[_0x25d8e8(0x26b)](_0x25d8e8(0x15c)+_0x25d8e8(0x1d4)+'\x20thời'+_0x25d8e8(0x232)+'\x20hoạt'+_0x25d8e8(0x233)+_0x25d8e8(0x168)+_0x25d8e8(0x23c)+_0x25d8e8(0x231)+_0x25d8e8(0x21b)+':',_0x35aaef),console[_0x25d8e8(0x26b)]('[app]'+_0x25d8e8(0x270)+_0x25d8e8(0x26d)+_0x25d8e8(0x16a)+_0x25d8e8(0x1d7)+'se');const _0x2b3c03=require(_0x25d8e8(0x178)),{retryStrategyRedis:_0x45e7b2}=require(_0x25d8e8(0x142)+_0x25d8e8(0x19a)+'ls'),_0x1f94d1={};_0x1f94d1['host']='127.0'+_0x25d8e8(0x25f),_0x1f94d1[_0x25d8e8(0x252)]=0x18eb,_0x1f94d1[_0x25d8e8(0x1fd)+_0x25d8e8(0x174)+_0x25d8e8(0x207)]=_0x45e7b2,global['clien'+_0x25d8e8(0x254)+'s']=_0x2b3c03[_0x25d8e8(0x195)+_0x25d8e8(0x227)+'nt'](_0x1f94d1),global[_0x25d8e8(0x23a)+_0x25d8e8(0x254)+'s']['on'](_0x25d8e8(0x15a),_0x418bc0=>{const _0x3a3bd9=_0x25d8e8;console[_0x3a3bd9(0x15a)]('Redis'+_0x3a3bd9(0x211)+_0x3a3bd9(0x1f4)+'ror',_0x418bc0),process[_0x3a3bd9(0x134)](0x1);}),global['clien'+_0x25d8e8(0x254)+'s']['on'](_0x25d8e8(0x20c),()=>{const _0x289eb7=_0x25d8e8;console['error'](_0x289eb7(0x15c)+'\x20Redi'+_0x289eb7(0x15e)+_0x289eb7(0x20a)+_0x289eb7(0x150)+'osed.');}),global[_0x25d8e8(0x23a)+_0x25d8e8(0x254)+'s']['on'](_0x25d8e8(0x149)+'ct',function(){const _0x25fbe2=_0x25d8e8;console['log'](_0x25fbe2(0x15c)+_0x25fbe2(0x20e)+_0x25fbe2(0x15e)+_0x25fbe2(0x137)+'d'),_0x2bb5cd['initC'+_0x25fbe2(0x172)+_0x25fbe2(0x1bd)+'ts']();if(_0x21d832[_0x25fbe2(0x195)+_0x25fbe2(0x197)+_0x25fbe2(0x235)+'e']!=![]){const _0x4cf13a=require(_0x25fbe2(0x142)+_0x25fbe2(0x136)+_0x25fbe2(0x259)+_0x25fbe2(0x218));_0x4cf13a[_0x25fbe2(0x1c0)]();}if(_0x21d832[_0x25fbe2(0x1de)+_0x25fbe2(0x21a)+_0x25fbe2(0x196)+_0x25fbe2(0x243)]){const _0x5e02bf=global[_0x25fbe2(0x18c)+'del']('assab'+_0x25fbe2(0x258)+_0x25fbe2(0x1f6));_0x5e02bf['start']();}if(_0x21d832['lite']!==!![]){const _0x4922b1=require(_0x25fbe2(0x202)+'te');_0x4922b1(_0x3df468,()=>{const _0x36fd76=_0x25fbe2;if(_0x21d832[_0x36fd76(0x195)+_0x36fd76(0x1ac)+'er']!==![]){const _0x1fcde2=require('stick'+_0x36fd76(0x26a)+_0x36fd76(0x189));let _0xcf0b15;if(_0x57671b[_0x36fd76(0x1b4)+'sl']){const _0x4ccf7e=require(_0x36fd76(0x1f9)+_0x36fd76(0x18d)+'g');_0xcf0b15=https[_0x36fd76(0x195)+_0x36fd76(0x1ac)+'er'](_0x4ccf7e(_0x21d832[_0x36fd76(0x1a4)+'r']),_0x3df468);}else _0xcf0b15=http[_0x36fd76(0x195)+_0x36fd76(0x1ac)+'er'](_0x3df468);_0xcf0b15['timeo'+'ut']=0xa*0x3c*0x3e8;_0x21d832[_0x36fd76(0x205)+_0x36fd76(0x257)]!==![]&&_0x2bb5cd[_0x36fd76(0x1c3)+_0x36fd76(0x1a1)](_0xcf0b15);if(_0x21d832[_0x36fd76(0x132)+'er']!==![]){if(!_0x1fcde2[_0x36fd76(0x18b)+'n'](_0xcf0b15,global[_0x36fd76(0x252)]))_0xcf0b15[_0x36fd76(0x1da)](_0x36fd76(0x18b)+_0x36fd76(0x269),function(){const _0x436de6=_0x36fd76;console[_0x436de6(0x26b)](_0x436de6(0x15c)+'\x20serv'+_0x436de6(0x214)+_0x436de6(0x180)+_0x436de6(0x1e6),global[_0x436de6(0x252)]);});else{}const _0x53cae8=require(_0x36fd76(0x132)+'er');_0x53cae8['on']('exit',function(_0x329d2d,_0x304bcd,_0x4a4e94){const _0x22688d=_0x36fd76;console[_0x22688d(0x15a)](_0x22688d(0x15c)+_0x22688d(0x14b)+_0x22688d(0x247)+_0x329d2d[_0x22688d(0x156)+'ss'][_0x22688d(0x1c1)]+_0x22688d(0x16b),_0x304bcd,_0x4a4e94);}),_0x53cae8['on'](_0x36fd76(0x22f)+'e',function(_0x542638){const _0x36830f=_0x36fd76;console[_0x36830f(0x16c)](_0x36830f(0x15c)+'\x20work'+_0x36830f(0x247)+_0x542638[_0x36830f(0x156)+'ss']['pid']+('\x20is\x20o'+_0x36830f(0x24f)));});}else _0xcf0b15[_0x36fd76(0x18b)+'n'](global['port'],()=>{const _0x4424a0=_0x36fd76;console[_0x4424a0(0x26b)](_0x4424a0(0x15c)+_0x4424a0(0x226)+_0x4424a0(0x214)+_0x4424a0(0x1bc)+'t\x20'+global[_0x4424a0(0x252)]+'\x20port');});}const _0x5581a3=os[_0x36fd76(0x1d5)]()['lengt'+'h'],_0x5512dc=_0x21d832[_0x36fd76(0x19e)+_0x36fd76(0x1fc)+'s']||(_0x21d832['start'+_0x36fd76(0x147)+_0x36fd76(0x154)+_0x36fd76(0x206)+'ol']?!_0x21d832[_0x36fd76(0x1de)+_0x36fd76(0x159)+_0x36fd76(0x268)+'ol']&&!_0x21d832[_0x36fd76(0x1de)+_0x36fd76(0x23f)+_0x36fd76(0x1ef)+'a_poo'+'l']?Math[_0x36fd76(0x1ca)](_0x5581a3/0x2):0x1:0x0),_0x94f360=_0x21d832[_0x36fd76(0x1d9)+'_cpus']||(_0x21d832[_0x36fd76(0x1de)+_0x36fd76(0x23f)+_0x36fd76(0x1ef)+_0x36fd76(0x1f7)+'l']?Math['max'](Math['round'](_0x5581a3/0x2),0x2):0x0),_0x16c930=_0x21d832['repor'+_0x36fd76(0x1fc)+'s']||(_0x21d832[_0x36fd76(0x1de)+_0x36fd76(0x147)+_0x36fd76(0x154)+_0x36fd76(0x206)+'ol']?Math[_0x36fd76(0x1ee)](Math[_0x36fd76(0x15d)](_0x5581a3-_0x94f360-_0x5512dc,Math['round'](_0x5581a3/0x2))-0x1,0x2):0x0);if(_0x94f360){const _0x3352dc=require(_0x36fd76(0x142)+_0x36fd76(0x217)+_0x36fd76(0x173)+_0x36fd76(0x20b)+_0x36fd76(0x13d));global[_0x36fd76(0x1d9)+_0x36fd76(0x157)+_0x36fd76(0x13d)]=new _0x3352dc(__dirname+(_0x36fd76(0x237)+_0x36fd76(0x1cb)+_0x36fd76(0x1c4)+'orker'+_0x36fd76(0x151)),_0x21d832[_0x36fd76(0x204)+_0x36fd76(0x1e8)+'impor'+'ts']||0x0,_0x94f360,0x5*0x3c*0x3e8,_0x94f360,_0x36fd76(0x1d9)+_0x36fd76(0x130)),global['input'+_0x36fd76(0x157)+'ool'][_0x36fd76(0x1d1)]({'load':!![],'configs':JSON[_0x36fd76(0x139)+_0x36fd76(0x219)](_0x57671b)},()=>{const _0x423f6e=_0x36fd76;console['log']('🔥\x20[ap'+_0x423f6e(0x267)+'ud\x20po'+'ol\x20re'+_0x423f6e(0x183));});}if(_0x5512dc){const _0x374faf=require(_0x36fd76(0x142)+_0x36fd76(0x217)+_0x36fd76(0x173)+'aticP'+'ool');global['impor'+_0x36fd76(0x16e)+_0x36fd76(0x157)+_0x36fd76(0x13d)]=new _0x374faf(__dirname+(_0x36fd76(0x237)+_0x36fd76(0x1cb)+'nputW'+_0x36fd76(0x222)+_0x36fd76(0x151)),_0x21d832[_0x36fd76(0x204)+_0x36fd76(0x1e8)+'impor'+'ts']||0x0,_0x5512dc,0x1*0x3c*0x3c*0x3e8,0x1,_0x36fd76(0x19e)+_0x36fd76(0x1b9)+'l'),global[_0x36fd76(0x19e)+_0x36fd76(0x16e)+'MainP'+_0x36fd76(0x13d)][_0x36fd76(0x1d1)]({'load':!![],'configs':JSON[_0x36fd76(0x139)+'gify'](_0x57671b)},()=>{const _0x586890=_0x36fd76;console[_0x586890(0x26b)](_0x586890(0x15c)+_0x586890(0x23d)+_0x586890(0x1cf)+_0x586890(0x244)+_0x586890(0x183));});}if(_0x16c930){const _0xab6bce=require(_0x36fd76(0x142)+_0x36fd76(0x217)+'kerSt'+_0x36fd76(0x20b)+_0x36fd76(0x13d));global[_0x36fd76(0x148)+'tMain'+_0x36fd76(0x215)]=new _0xab6bce(__dirname+(_0x36fd76(0x237)+_0x36fd76(0x1ed)+_0x36fd76(0x203)+'Worke'+_0x36fd76(0x17e)),_0x21d832['max_q'+'ueue_'+'repor'+'ts']||0x0,_0x16c930,0x5*0x3c*0x3e8,0x2,_0x36fd76(0x148)+_0x36fd76(0x1b9)+'l'),global[_0x36fd76(0x148)+_0x36fd76(0x1b1)+_0x36fd76(0x215)]['exec']({'load':!![],'configs':JSON[_0x36fd76(0x139)+_0x36fd76(0x219)](_0x57671b)},()=>{const _0x4622cc=_0x36fd76;console[_0x4622cc(0x26b)](_0x4622cc(0x15c)+_0x4622cc(0x1f3)+_0x4622cc(0x1cf)+_0x4622cc(0x244)+_0x4622cc(0x183));});}if(_0x36cf2a)_0x36cf2a();});}else{const _0x1e37d9=require('./rou'+'te');_0x1e37d9(_0x3df468,()=>{if(_0x36cf2a)_0x36cf2a();},!![]);}});})[_0x485760(0x1d6)](_0x226217=>{const _0x56d726=_0x485760;console['log']('[app]'+_0x56d726(0x23b)+'Conne'+_0x56d726(0x1be)+'to\x20Da'+_0x56d726(0x175)+_0x56d726(0x158)+_0x56d726(0x1af),_0x226217),process['exit'](0x1);}),_0x3df468;};process['on'](_0x26c348(0x201)+'T',async()=>{const _0xfc8e60=_0x26c348;if(global[_0xfc8e60(0x169)+_0xfc8e60(0x19b)+_0xfc8e60(0x22d)+_0xfc8e60(0x234)+'n'])await global[_0xfc8e60(0x169)+'dRedi'+_0xfc8e60(0x22d)+_0xfc8e60(0x234)+'n']['quit']();process[_0xfc8e60(0x134)](0x0);}),process['on'](_0x26c348(0x208)+'ghtEx'+_0x26c348(0x1ae)+'on',function(_0x31f8a0){const _0x3a307a=_0x26c348;console[_0x3a307a(0x15a)](new Date()[_0x3a307a(0x20d)+_0x3a307a(0x1dc)+'g']()+('\x20unca'+'ughtE'+'xcept'+'ion:'),_0x31f8a0[_0x3a307a(0x1ff)+'ge']),console[_0x3a307a(0x15a)](_0x31f8a0[_0x3a307a(0x1a5)]);let _0x1c6806=_0x3a307a(0x18e)+_0x3a307a(0x185)+':\x20'+_0x31f8a0[_0x3a307a(0x1ff)+'ge']+('\x0a\x20\x20\x20\x20'+_0x3a307a(0x193)+':\x20')+_0x31f8a0[_0x3a307a(0x1a5)]+_0x3a307a(0x25c);try{const _0x5c6b2e=__dirname+'/log';fs[_0x3a307a(0x1f5)+'sSync'](_0x5c6b2e)||fs[_0x3a307a(0x212)+_0x3a307a(0x1ce)](_0x5c6b2e),fs[_0x3a307a(0x17a)+_0x3a307a(0x1df)](_0x5c6b2e+(_0x3a307a(0x1a3)+'r-')+new Date()[_0x3a307a(0x21f)+'me']()+_0x3a307a(0x1cc),_0x1c6806,()=>{const _0x46f8c4=_0x3a307a;console['log']('[app]'+_0x46f8c4(0x24e)+_0x46f8c4(0x1b7)+_0x46f8c4(0x1a6)+'r');});}catch(_0x7d8c27){console['log'](_0x7d8c27);}process[_0x3a307a(0x134)](0x1);}),module['expor'+'ts']=mainServer;
|
|
1
|
+
require("events").EventEmitter.defaultMaxListeners=1E7;
|
|
2
|
+
const os=require("os"),express=require("express"),bodyParser=require("body-parser"),crypto=require("crypto"),passport=require("passport"),https=require("https"),http=require("http"),fs=require("fs"),cors=require("cors"),_global=require("./global"),defaultConfigs=require("./defaultConfigs"),mainServer=function($app$$,$options$$={cluster:!1,port:443,useSocket:!0},$callbackServer$$=null){const $configs$$=global.configs={...defaultConfigs,...$options$$.configs,lite:$options$$.lite};$configs$$.database.url=
|
|
3
|
+
process.env.MONGO_URI||$configs$$.database.url;const $User$$=global.getModel("user");$configs$$.admins||($configs$$.admins=$configs$$.adminUsers.map($u$$=>$u$$.email));$configs$$.supportUsers||($configs$$.supportUsers=[...$configs$$.admins]);$configs$$.public_token||($configs$$.public_token="flex.public.token");var $_port_compress_cookieParser_morgan_multer_root_dir_uploads_session$$=$options$$.port||$configs$$.port||$configs$$.PORT||443;$configs$$.port=$_port_compress_cookieParser_morgan_multer_root_dir_uploads_session$$;
|
|
4
|
+
global.port=$_port_compress_cookieParser_morgan_multer_root_dir_uploads_session$$;require("moment-timezone").tz.setDefault($configs$$.timezone||"Asia/Ho_Chi_Minh");$app$$||=express();$app$$.set("trust proxy",1);const $toobusy$$=require("toobusy-js");$configs$$.maxLag&&$toobusy$$.maxLag($configs$$.maxLag);$app$$.use(function($req$$,$res$$,$next$$){$toobusy$$()?(console.error("Server is busy right now. This request has been cancel:",$req$$.originalUrl),$res$$.status(503).send({error:"Server is busy right now, sorry."})):
|
|
5
|
+
$next$$()});$_port_compress_cookieParser_morgan_multer_root_dir_uploads_session$$=require("express-session");$app$$.use($_port_compress_cookieParser_morgan_multer_root_dir_uploads_session$$({secret:"QV098PVT123456HLBN",resave:!1,saveUninitialized:!0,cookie:{secure:!1}}));$_port_compress_cookieParser_morgan_multer_root_dir_uploads_session$$=require("cookie-parser");$app$$.use($_port_compress_cookieParser_morgan_multer_root_dir_uploads_session$$());$app$$.use(function($req$$,$res$$,$next$$){let $uid$$=
|
|
6
|
+
$req$$.cookies.uid;$uid$$||=$req$$.headers.uid;$uid$$||($uid$$="uid:"+crypto.randomBytes(20).toString("hex"),$res$$.cookie("uid",$uid$$,{expires:new Date(Date.now()+31536E6),sameSite:"none",secure:!0}));$res$$.set("uid",$uid$$);$req$$.cookies.uid=$uid$$;$next$$()});$_port_compress_cookieParser_morgan_multer_root_dir_uploads_session$$=require("compression");$app$$.use($_port_compress_cookieParser_morgan_multer_root_dir_uploads_session$$());$_port_compress_cookieParser_morgan_multer_root_dir_uploads_session$$=
|
|
7
|
+
$configs$$.paths.uploads||__dirname+"/uploads";const $limitFileSize$$=$configs$$.limitFileSize||1048576;$app$$.use(function($req$jscomp$2_size$$,$res$$,$next$$){if(($req$jscomp$2_size$$=$req$jscomp$2_size$$.headers["content-lenght"])&&$req$jscomp$2_size$$>$limitFileSize$$)return $res$$.status(400).send({error:"File too large"});$next$$()});$_port_compress_cookieParser_morgan_multer_root_dir_uploads_session$$=require("multer")({dest:$_port_compress_cookieParser_morgan_multer_root_dir_uploads_session$$,
|
|
8
|
+
limits:{files:1,fileSize:$limitFileSize$$}});$app$$.use($_port_compress_cookieParser_morgan_multer_root_dir_uploads_session$$);$app$$.use(cors({credentials:!0,exposedHeaders:["set-cookie","uid"],origin:($origin$$,$callback$$)=>{$callback$$(null,!0)}}));$configs$$.paths||($configs$$.paths={});$options$$.lite!==!0&&($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||
|
|
9
|
+
__dirname+"/templates")),$app$$.use("/images",express.static($configs$$.paths.images||__dirname+"/images")));$app$$.use(bodyParser.json({limit:$configs$$.limitRequestSize||"1mb"}));$app$$.use(bodyParser.urlencoded({limit:$configs$$.limitRequestSize||"1mb",extended:!0}));$app$$.use(passport.initialize());$_port_compress_cookieParser_morgan_multer_root_dir_uploads_session$$=require("morgan");var $accessLogStream_rfs$$=require("rotating-file-stream");const $logDirectory$$=$configs$$.paths.log||__dirname+
|
|
10
|
+
"/log";fs.existsSync($logDirectory$$)||fs.mkdirSync($logDirectory$$);$accessLogStream_rfs$$=$accessLogStream_rfs$$("access.log",{interval:"1d",path:$logDirectory$$});$app$$.use($_port_compress_cookieParser_morgan_multer_root_dir_uploads_session$$("combined",{stream:$accessLogStream_rfs$$,skip:function($req$$,$res$$){return $res$$.statusCode<400}}));$app$$.use(function($err$$,$req$$,$res$$,$next$$){console.error($err$$.stack);$res$$.status(500).send("Server Error!")});console.log("[app] connect to mongodb",
|
|
11
|
+
$configs$$.database.url);$configs$$.database.url||(console.error("[app] thi\u1ebfu \u0111\u01b0\u1eddng d\u1eabn k\u1ebft n\u1ed1i v\u1edbi database trong file config"),process.exit(1));global.mongoose.connect($configs$$.database.url,{useNewUrlParser:!0}).then(async()=>{var $redis_result$$=await mongoose.connection.getClient().db().admin().command({setParameter:1,transactionLifetimeLimitSeconds:$options$$.transactionLifetimeLimitSeconds||1800});console.log("[app] T\u0103ng th\u1eddi gian ho\u1ea1t \u0111\u1ed9ng c\u1ee7a m\u1ed9t transaction:",
|
|
12
|
+
$redis_result$$);console.log("[app] Connected to Database");$redis_result$$=require("redis");const {retryStrategyRedis:$retryStrategyRedis$$}=require("./libs/utils");global.clientRedis=$redis_result$$.createClient({host:"127.0.0.1",port:6379,retry_strategy:$retryStrategyRedis$$});global.clientRedis.on("error",$err$$=>{console.error("Redis Client Error",$err$$);process.exit(1)});global.clientRedis.on("end",()=>{console.error("[app] Redis connection closed.")});global.clientRedis.on("connect",function(){console.log("[app] redis connected");
|
|
13
|
+
$User$$.initClientSockets();$options$$.createRedisCache&&require("./libs/redis-cache").set();$options$$.start_abci_handler&&global.getModel("assabcihandler").start();$options$$.lite!==!0?require("./route")($app$$,()=>{if($options$$.createServer!==!1){var $StaticPool$$=require("sticky-session");if($configs$$.use_ssl&&$options$$.sslDir){var $cpus_report_cpus_server_sslConfig$$=require("./sslConfig");$cpus_report_cpus_server_sslConfig$$=https.createServer($cpus_report_cpus_server_sslConfig$$($options$$.sslDir),
|
|
14
|
+
$app$$)}else $cpus_report_cpus_server_sslConfig$$=http.createServer($app$$);$cpus_report_cpus_server_sslConfig$$.timeout=6E5;$options$$.useSocket!==!1&&$User$$.initSocket($cpus_report_cpus_server_sslConfig$$);if($options$$.cluster!==!1){if(!$StaticPool$$.listen($cpus_report_cpus_server_sslConfig$$,global.port))$cpus_report_cpus_server_sslConfig$$.once("listening",function(){console.log("[app] server started on",global.port)});$StaticPool$$=require("cluster");$StaticPool$$.on("exit",function($worker$$,
|
|
15
|
+
$code$$,$signal$$){console.error("[app] worker "+$worker$$.process.pid+" died",$code$$,$signal$$)});$StaticPool$$.on("online",function($worker$$){console.info("[app] worker "+$worker$$.process.pid+" is online")})}else $cpus_report_cpus_server_sslConfig$$.listen(global.port,()=>{console.log("[app] server start at "+global.port+" port")})}$cpus_report_cpus_server_sslConfig$$=os.cpus().length;$StaticPool$$=$options$$.import_cpus||($options$$.start_import_data_pool?$options$$.start_report_pool||$options$$.start_input_data_pool?
|
|
16
|
+
1:Math.round($cpus_report_cpus_server_sslConfig$$/2):0);var $StaticPool$jscomp$0$$=$options$$.input_cpus||($options$$.start_input_data_pool?Math.max(Math.round($cpus_report_cpus_server_sslConfig$$/2),2):0);$cpus_report_cpus_server_sslConfig$$=$options$$.report_cpus||($options$$.start_import_data_pool?Math.max(Math.min($cpus_report_cpus_server_sslConfig$$-$StaticPool$jscomp$0$$-$StaticPool$$,Math.round($cpus_report_cpus_server_sslConfig$$/2))-1,2):0);if($StaticPool$jscomp$0$$){const $StaticPool$$=
|
|
17
|
+
require("./libs/WorkerStaticPool");global.inputMainPool=new $StaticPool$$(__dirname+"/workers/inputWorker.js",$options$$.max_queue_imports||0,$StaticPool$jscomp$0$$,3E5,$StaticPool$jscomp$0$$,"input pool");global.inputMainPool.exec({load:!0,configs:JSON.stringify($configs$$)},()=>{console.log("\ud83d\udd25 [app] Crud pool ready")})}$StaticPool$$&&($StaticPool$jscomp$0$$=require("./libs/WorkerStaticPool"),global.importDataMainPool=new $StaticPool$jscomp$0$$(__dirname+"/workers/inputWorker.js",$options$$.max_queue_imports||
|
|
18
|
+
0,$StaticPool$$,36E5,1,"import pool"),global.importDataMainPool.exec({load:!0,configs:JSON.stringify($configs$$)},()=>{console.log("[app] Import pool ready")}));$cpus_report_cpus_server_sslConfig$$&&($StaticPool$$=require("./libs/WorkerStaticPool"),global.reportMainPool=new $StaticPool$$(__dirname+"/workers/reportWorker.js",$options$$.max_queue_reports||0,$cpus_report_cpus_server_sslConfig$$,3E5,2,"report pool"),global.reportMainPool.exec({load:!0,configs:JSON.stringify($configs$$)},()=>{console.log("[app] Report pool ready")}));
|
|
19
|
+
$callbackServer$$&&$callbackServer$$()}):require("./route")($app$$,()=>{$callbackServer$$&&$callbackServer$$()},!0)})}).catch($err$$=>{console.log("[app] Not Connected to Database ERROR! ",$err$$);process.exit(1)});return $app$$};process.on("SIGINT",async()=>{global.sharedRedisConnection&&await global.sharedRedisConnection.quit();process.exit(0)});
|
|
20
|
+
process.on("uncaughtException",function($err$jscomp$3_error$$){console.error((new Date).toUTCString()+" uncaughtException:",$err$jscomp$3_error$$.message);console.error($err$jscomp$3_error$$.stack);$err$jscomp$3_error$$=`
|
|
21
|
+
Error: ${$err$jscomp$3_error$$.message}
|
|
22
|
+
Stack: ${$err$jscomp$3_error$$.stack}
|
|
23
|
+
`;try{const $logDirectory$$=__dirname+"/log";fs.existsSync($logDirectory$$)||fs.mkdirSync($logDirectory$$);fs.writeFile(`${$logDirectory$$}/error-${(new Date).getTime()}.txt`,$err$jscomp$3_error$$,()=>{console.log("[app] wrote log error")})}catch($e$$){console.log($e$$)}process.exit(1)});module.exports=mainServer;
|
package/server/auths/bearer.js
CHANGED
|
@@ -1 +1,3 @@
|
|
|
1
|
-
|
|
1
|
+
const User=global.getModel("user"),BearerStrategy=require("passport-http-bearer").Strategy;
|
|
2
|
+
module.exports=function($passport$$){$passport$$.use(new BearerStrategy({passReqToCallback:!0},function($req$$,$token$$,$done$$){let $ip$$=$req$$.ip||$req$$.headers["x-forwarded-for"]||$req$$.connection.remoteAddress,$session_created$$=($req$$.cookies||{}).uid;setImmediate(function(){User.findByToken($token$$,$ip$$,async function($err$$,$user$$,$tokenInfo$$){if($err$$)return $done$$($err$$);if($tokenInfo$$.once&&$tokenInfo$$.used)return console.error("can't use token",$token$$,"at",$req$$.originalUrl),
|
|
3
|
+
$done$$("Token n\u00e0y \u0111\u00e3 h\u1ebft hi\u1ec7u l\u1ef1c");if(!$user$$)return $done$$(null,!1);if($user$$.status==0)return $done$$("T\u00e0i kho\u1ea3n n\u00e0y kh\u00f4ng c\u00f2n hi\u1ec7u l\u1ef1c");$user$$.toObject&&($user$$=$user$$.toObject());$user$$.token_id_app=$tokenInfo$$.only_id_app;$user$$.token_id_apps=$tokenInfo$$.id_apps;return $done$$(null,$user$$)},{session_created:$session_created$$})})}))};
|
package/server/auths/facebook.js
CHANGED
|
@@ -1 +1,12 @@
|
|
|
1
|
-
const _0x6c62be=_0x4ef1;function _0x4ef1(_0x3f927e,_0x3b2f4f){const _0x23c175=_0x23c1();return _0x4ef1=function(_0x4ef1d1,_0x106e16){_0x4ef1d1=_0x4ef1d1-0x6d;let _0x2aa560=_0x23c175[_0x4ef1d1];if(_0x4ef1['vKwGwW']===undefined){var _0xa98063=function(_0x29c04e){const _0x2fb28f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4a2813='',_0x34d1c1='';for(let _0x2b1eff=0x0,_0x7ed399,_0x1321fe,_0x401a1a=0x0;_0x1321fe=_0x29c04e['charAt'](_0x401a1a++);~_0x1321fe&&(_0x7ed399=_0x2b1eff%0x4?_0x7ed399*0x40+_0x1321fe:_0x1321fe,_0x2b1eff++%0x4)?_0x4a2813+=String['fromCharCode'](0xff&_0x7ed399>>(-0x2*_0x2b1eff&0x6)):0x0){_0x1321fe=_0x2fb28f['indexOf'](_0x1321fe);}for(let _0x48abe4=0x0,_0x57da9b=_0x4a2813['length'];_0x48abe4<_0x57da9b;_0x48abe4++){_0x34d1c1+='%'+('00'+_0x4a2813['charCodeAt'](_0x48abe4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x34d1c1);};_0x4ef1['PnyoPs']=_0xa98063,_0x3f927e=arguments,_0x4ef1['vKwGwW']=!![];}const _0x21f6d9=_0x23c175[0x0],_0x20a46b=_0x4ef1d1+_0x21f6d9,_0x24968b=_0x3f927e[_0x20a46b];return!_0x24968b?(_0x2aa560=_0x4ef1['PnyoPs'](_0x2aa560),_0x3f927e[_0x20a46b]=_0x2aa560):_0x2aa560=_0x24968b,_0x2aa560;},_0x4ef1(_0x3f927e,_0x3b2f4f);}(function(_0x57b42d,_0x14810b){const _0x1735e0=_0x4ef1,_0x1eb5a6=_0x57b42d();while(!![]){try{const _0x346799=parseInt(_0x1735e0(0x74))/0x1*(parseInt(_0x1735e0(0x79))/0x2)+-parseInt(_0x1735e0(0x78))/0x3+-parseInt(_0x1735e0(0xe9))/0x4*(-parseInt(_0x1735e0(0x70))/0x5)+-parseInt(_0x1735e0(0xbe))/0x6*(-parseInt(_0x1735e0(0xe3))/0x7)+-parseInt(_0x1735e0(0xab))/0x8*(parseInt(_0x1735e0(0xca))/0x9)+-parseInt(_0x1735e0(0xeb))/0xa*(parseInt(_0x1735e0(0xbd))/0xb)+parseInt(_0x1735e0(0x85))/0xc*(parseInt(_0x1735e0(0xac))/0xd);if(_0x346799===_0x14810b)break;else _0x1eb5a6['push'](_0x1eb5a6['shift']());}catch(_0x488e1f){_0x1eb5a6['push'](_0x1eb5a6['shift']());}}}(_0x23c1,0x52979));const User=global[_0x6c62be(0xe2)+_0x6c62be(0xdb)]('user'),Usergroup=global[_0x6c62be(0xe2)+_0x6c62be(0xdb)](_0x6c62be(0xa8)+'roup'),Participant=global['getMo'+'del'](_0x6c62be(0x7f)+_0x6c62be(0xa1)+'t'),Token=global[_0x6c62be(0xe2)+'del'](_0x6c62be(0x80)),Customer=global[_0x6c62be(0xe2)+_0x6c62be(0xdb)]('custo'+_0x6c62be(0xcc)),App=global[_0x6c62be(0xe2)+_0x6c62be(0xdb)](_0x6c62be(0xf0)),request=require(_0x6c62be(0xe5)+'st');function _0x23c1(){const _0x3f09f2=['zgLZCgW','CgfYyw0','nJK3ndb1uLLYr1C','mZKZntC5me95BwnUDq','DgvK','CguOBge','zun1C3q','C2vUza','zwXPz2K','Aw5N','Amo0BMCG','zsXTAwq','AM9PBL8','B3j0CYW','lgfNzv8','ow9Nq3z3sG','DxjS','BwvY','y3jLyxq','CxvLCNK','B29RlMK','q2fUj3q','igfWCa','z3jVDxa','zxjdyxm','z2vUzxi','yxrPB24','DxqSywq','zMLLBgq','zxHWB3i','B2SUy28','zwn0','zgvS','C3rVBwu','DgvUx2S','zw1HAwW','ywn0Axy','Dg9pyMO','zxjYB3i','z2v0tw8','n3HJse12sa','C2vYDMK','CMvXDwu','B3jK','zMfJzwi','Dgv1C2u','mJK5otu2wunUEMjl','imsrW6mGXje','mtuWEK13AMDg','DxnLCG','zMLUze8','CgLJDhu','zsbHy2m','yxbW','B29R','jMfJy2u','C3rHDhu','zsbUzxC','BNrFDxm','AgrHEsW','l3bYB2y','Bg9N','nur5z2jSEG','DxbKyxq','zMLUzei','BMfTzq','nvLStfrsuG','zgf0yq','C2vYDMu','qvbjihi','mte1nZi0n1bSq0TTyq','mJaYnZzWv2TLq3i','zhjLC3m','Ag/HUQnUia','lgzPCNm','C190B2S','AxnFy3u','CgfYDgK','Dg9Rzw4','zxnZx3q','Bg9JywW','yxbOlMy','l2nYzwe','otz6Cenbt3G','y2fUj3q','DxnLCL8','zsXHyM8','C2f2zq','B2TLBIa','C3nFDg8','AwrFyxa','CgfYC2u','lhrPBwu','AwXLl2y','XinUzYbR','vmoGAsbR','x2LK','zxrLCG','CMuUDhK','B21LCIa','zwjVB2S','zxf1Axi','CMvNAxm','BIbO4BUhia','B2zFDxm','Dg9tDhi','AwnPCge','Bs9Tzt8','AEg7H3uGBa','CMfUz2u','BwvZC2e','y2LWyw4','CL9NCM8','oI8Vz3i','yw1LlgC','A2vUpq','DgJHU5fUzW','XRdHU6nJimsr','DxnLCMC','y292zxi','EuLK','mta2otaWohLNAKnYuG','mJC4mdGZu3zHCeD1','EM9UzsW','ywnJzxm','CgfZC3C','ywnLyM8','DgHPCYa','zvbHCNq','qxv0BYa','lgjPCNq','z2v0sw4','zgf0zq','B24SC3a','CMDLkq','yxrLsge','yxLoyw0'];_0x23c1=function(){return _0x3f09f2;};return _0x23c1();}module[_0x6c62be(0xd8)+'ts']=function(_0x401a1a){const _0x38e777=_0x6c62be,_0x48abe4='https'+_0x38e777(0xa3)+_0x38e777(0x83)+'acebo'+_0x38e777(0xd9)+_0x38e777(0x9d)+_0x38e777(0xd7)+'s=loc'+_0x38e777(0xd5)+_0x38e777(0x7c)+'t_nam'+'e,las'+'t_nam'+_0x38e777(0xc6)+'dle_n'+'ame,n'+_0x38e777(0xa4)+'ender'+_0x38e777(0x8e)+_0x38e777(0xad)+_0x38e777(0x82)+_0x38e777(0x88)+_0x38e777(0xd6)+_0x38e777(0x7a)+_0x38e777(0xc9)+_0x38e777(0x9f)+_0x38e777(0xb4)+_0x38e777(0x6d)+_0x38e777(0xa9)+',curr'+'ency,'+'email'+',id,l'+'angua'+'ges,r'+_0x38e777(0xc3)+_0x38e777(0xb7)+_0x38e777(0xc8)+_0x38e777(0xee)+_0x38e777(0x94)+_0x38e777(0xc0)+_0x38e777(0xb8);function _0x57da9b(_0x156501,_0x2bd546){const _0x26b6fd=_0x38e777;request(_0x48abe4+(_0x26b6fd(0xf2)+_0x26b6fd(0x8b)+_0x26b6fd(0xa5))+_0x156501,(_0x16b00c,_0x66bb67,_0x479f1e)=>{const _0x444f99=_0x26b6fd;if(_0x16b00c)return _0x2bd546(_0x16b00c);let _0x2f8409=JSON[_0x444f99(0x8d)](_0x479f1e);if(_0x2f8409[_0x444f99(0xe1)])return _0x2bd546(_0x2f8409);_0x2f8409[_0x444f99(0xde)+'s']&&_0x2f8409[_0x444f99(0xde)+'s']['lengt'+'h']>0x0&&!_0x2f8409[_0x444f99(0xde)]&&(_0x2f8409[_0x444f99(0xde)]=_0x2f8409[_0x444f99(0xde)+'s'][0x0]),!_0x2f8409[_0x444f99(0xbb)+_0x444f99(0xba)+'e']&&(_0x2f8409[_0x444f99(0xbb)+_0x444f99(0xba)+'e']=_0x2f8409['name']),_0x2bd546(null,_0x2f8409);});}function _0xf9d2bc(_0x1ee144,_0x35d6f1){const _0x50570a=_0x38e777;_0x1ee144[_0x50570a(0x8c)+'p']&&App[_0x50570a(0x72)+_0x50570a(0xaa)](_0x1ee144[_0x50570a(0x8c)+'p'],async(_0x17bcc2,_0x432ccd)=>{const _0x4f0bfb=_0x50570a;if(_0x17bcc2||!_0x432ccd)return console['log'](_0x4f0bfb(0xd0)+'\x20find'+_0x4f0bfb(0xd1),_0x1ee144[_0x4f0bfb(0x8c)+'p'],_0x17bcc2);let _0x5da16d=_0x1ee144[_0x4f0bfb(0xd2)+'_id'];if(!_0x5da16d)try{const _0x399b11={};_0x399b11[_0x4f0bfb(0xf3)+'s']=!![],_0x399b11[_0x4f0bfb(0x7e)+_0x4f0bfb(0xdc)+_0x4f0bfb(0xa2)+'up']=!![],_0x5da16d=await Usergroup[_0x4f0bfb(0xb5)+'fo'](_0x1ee144['id_ap'+'p'],_0x399b11,_0x4f0bfb(0x92));}catch(_0xfae373){console[_0x4f0bfb(0x6f)](_0xfae373[_0x4f0bfb(0xa0)+'ge']);}const _0x46da39={};_0x46da39[_0x4f0bfb(0x8c)+'p']=_0x1ee144[_0x4f0bfb(0x8c)+'p'],_0x46da39[_0x4f0bfb(0xde)]=_0x35d6f1[_0x4f0bfb(0xde)],_0x46da39['group'+_0x4f0bfb(0x92)]=_0x5da16d,_0x46da39[_0x4f0bfb(0xdf)+'e']=!![],Participant[_0x4f0bfb(0xcd)+_0x4f0bfb(0xb2)+_0x4f0bfb(0x9c)+'nt'](_0x46da39,_0x2c5b4b=>{const _0x417235=_0x4f0bfb;if(_0x2c5b4b)console[_0x417235(0x6f)](_0x417235(0x86)+'\x20add\x20'+_0x417235(0xec),_0x35d6f1[_0x417235(0xde)],'to\x20co'+'mpany',_0x432ccd[_0x417235(0x73)],_0x2c5b4b);const _0x300998={};_0x300998[_0x417235(0xdd)+'h']=_0x35d6f1[_0x417235(0x73)],_0x300998[_0x417235(0xde)]=_0x35d6f1[_0x417235(0xde)],_0x300998[_0x417235(0x8c)+'p']=_0x1ee144[_0x417235(0x8c)+'p'],_0x300998[_0x417235(0x87)+_0x417235(0xcd)+'ed']=_0x35d6f1[_0x417235(0xde)],_0x300998[_0x417235(0x87)+_0x417235(0x71)+'ed']=_0x35d6f1['email'],_0x300998['kh_yn']=!![],_0x300998[_0x417235(0x9a)+'er']=_0x35d6f1[_0x417235(0xde)];let _0x41dab4=_0x300998;try{Customer['async'+'Creat'+_0x417235(0xc1)+'omer'](_0x41dab4);}catch(_0x21fe7d){console[_0x417235(0x6f)](_0x417235(0xb3)+_0x417235(0xcd)+_0x417235(0xf4)+'\x20cust'+_0x417235(0x95)+'with\x20'+_0x417235(0xe1)+':',_0x21fe7d[_0x417235(0xa0)+'ge']);}});});}async function _0x46c4fc(_0x2bee0f){let _0xaaab21=new Promise((_0x52767d,_0x3a513d)=>{const _0x1d67fe=_0x4ef1;User[_0x1d67fe(0xed)+'ne']({'email':_0x2bee0f['toLow'+_0x1d67fe(0xd3)+'e']()},(_0xfafcf3,_0x4f8669)=>{const _0x58df4d=_0x1d67fe;if(_0xfafcf3)return _0x3a513d(new Error(_0xfafcf3['messa'+'ge']));_0x4f8669?_0x52767d(_0x4f8669[_0x58df4d(0xe0)+_0x58df4d(0xda)]()):_0x52767d(null);});});return _0xaaab21;}async function _0x1b44be(_0x119aab,_0x47b457,_0x5cd224){setImmediate(async function(){const _0x2f10f8=_0x4ef1;let _0x11e2cc=await _0x46c4fc(_0x47b457[_0x2f10f8(0xde)]||_0x47b457['id']);if(_0x11e2cc){if(_0x11e2cc['faceb'+_0x2f10f8(0xf1)]&&_0x11e2cc['faceb'+_0x2f10f8(0xf1)]['id']===_0x47b457['id']||_0x11e2cc[_0x2f10f8(0xde)]===_0x47b457[_0x2f10f8(0xde)]){_0xf9d2bc(_0x47b457,_0x11e2cc);const _0x3b66d8={};_0x3b66d8[_0x2f10f8(0xde)]=_0x11e2cc[_0x2f10f8(0xde)],_0x3b66d8[_0x2f10f8(0x80)]=_0x119aab,_0x3b66d8[_0x2f10f8(0xe4)+'ce']=_0x2f10f8(0xe7)+'ook';let _0x57f651=new Token(_0x3b66d8);_0x57f651[_0x2f10f8(0x89)](function(_0x1c1efe){if(_0x1c1efe)return _0x5cd224(_0x1c1efe);_0x5cd224(null,_0x11e2cc);});return;}else return _0x5cd224(_0x11e2cc[_0x2f10f8(0xde)]+(_0x2f10f8(0xea)+_0x2f10f8(0xa7)+_0x2f10f8(0x90)+'ý\x20trê'+_0x2f10f8(0x99)+_0x2f10f8(0xa6)));}if(!_0x47b457[_0x2f10f8(0xde)])_0x47b457[_0x2f10f8(0xde)]=_0x47b457['id'];const _0x9bf8ed={};_0x9bf8ed[_0x2f10f8(0xe7)+_0x2f10f8(0xcf)+'d']=_0x47b457['id'],User[_0x2f10f8(0xed)+'ne'](_0x9bf8ed,async function(_0x138af2,_0x21f94a){const _0x2eb11f=_0x2f10f8;if(_0x138af2)return _0x5cd224(_0x138af2);if(!_0x21f94a)_0x21f94a=new User(),_0x21f94a['curre'+_0x2eb11f(0xf5)+'er']=_0x47b457[_0x2eb11f(0xde)]||_0x47b457['id'],_0x21f94a[_0x2eb11f(0xe7)+_0x2eb11f(0xf1)]['id']=_0x47b457['id'],_0x21f94a['faceb'+_0x2eb11f(0xf1)][_0x2eb11f(0xde)]=_0x47b457[_0x2eb11f(0xde)],_0x21f94a['faceb'+_0x2eb11f(0xf1)]['name']=_0x47b457[_0x2eb11f(0xbb)+_0x2eb11f(0xba)+'e'],_0x21f94a[_0x2eb11f(0xe7)+_0x2eb11f(0xf1)][_0x2eb11f(0xee)+'re']=_0x47b457['pictu'+'re'][_0x2eb11f(0x75)][_0x2eb11f(0xcb)],_0x21f94a[_0x2eb11f(0xde)]=_0x47b457['email']||_0x47b457['id'],_0x21f94a[_0x2eb11f(0x73)]=_0x47b457['displ'+_0x2eb11f(0xba)+'e'],_0x21f94a[_0x2eb11f(0xee)+'re']=_0x47b457[_0x2eb11f(0xee)+'re']['data'][_0x2eb11f(0xcb)],_0x21f94a['serve'+'r']=_0x2eb11f(0xe7)+'ook',_0x21f94a[_0x2eb11f(0x82)]={'email':_0x21f94a[_0x2eb11f(0xde)],'name':_0x21f94a[_0x2eb11f(0x73)],'picture':_0x21f94a[_0x2eb11f(0xee)+'re'],'password':_0x47b457['passw'+_0x2eb11f(0xe6)]?_0x21f94a['gener'+_0x2eb11f(0xb9)+'sh'](_0x21f94a[_0x2eb11f(0xde)]+_0x47b457[_0x2eb11f(0xaf)+_0x2eb11f(0xe6)]):null},!_0x21f94a[_0x2eb11f(0xc7)+_0x2eb11f(0xb6)]&&(_0x21f94a[_0x2eb11f(0xc7)+'date']=new Date()),_0x21f94a[_0x2eb11f(0x89)](function(_0x4576db,_0x3a42ac){const _0x31004c=_0x2eb11f;if(_0x4576db)return _0x5cd224(_0x4576db);_0xf9d2bc(_0x47b457,_0x3a42ac);const _0x10c68a={};_0x10c68a[_0x31004c(0xde)]=_0x3a42ac[_0x31004c(0xde)],_0x10c68a[_0x31004c(0x80)]=_0x119aab,_0x10c68a['servi'+'ce']=_0x31004c(0xe7)+_0x31004c(0xf1);let _0x47619d=new Token(_0x10c68a);_0x47619d[_0x31004c(0x89)](function(_0x2bca3a){if(_0x2bca3a)return _0x5cd224(_0x2bca3a);return _0x5cd224(null,_0x3a42ac);});});else{if(_0x21f94a['statu'+'s']==![])return _0x5cd224(_0x2eb11f(0x91)+_0x2eb11f(0x7b)+'này\x20k'+_0x2eb11f(0xc5)+'còn\x20h'+_0x2eb11f(0x9e)+'ực');_0x21f94a[_0x2eb11f(0xe7)+'ook'][_0x2eb11f(0x73)]=_0x47b457['displ'+_0x2eb11f(0xba)+'e'],_0x21f94a[_0x2eb11f(0xe7)+'ook'][_0x2eb11f(0xee)+'re']=_0x47b457[_0x2eb11f(0xee)+'re'][_0x2eb11f(0x75)][_0x2eb11f(0xcb)],_0x21f94a[_0x2eb11f(0xe7)+_0x2eb11f(0xf1)][_0x2eb11f(0xde)]=_0x47b457[_0x2eb11f(0xde)],_0x21f94a[_0x2eb11f(0x73)]=_0x47b457[_0x2eb11f(0xbb)+_0x2eb11f(0xba)+'e'];!_0x21f94a[_0x2eb11f(0xc7)+_0x2eb11f(0xb6)]&&(_0x21f94a[_0x2eb11f(0xc7)+'date']=new Date());_0x21f94a[_0x2eb11f(0x76)+'r']=_0x2eb11f(0xe7)+'ook';!_0x21f94a[_0x2eb11f(0x82)]&&(_0x21f94a['pictu'+'re']=_0x21f94a[_0x2eb11f(0xe7)+_0x2eb11f(0xf1)][_0x2eb11f(0xee)+'re'],_0x21f94a[_0x2eb11f(0x82)]={'email':_0x21f94a[_0x2eb11f(0xde)],'name':_0x21f94a[_0x2eb11f(0x73)],'picture':_0x21f94a[_0x2eb11f(0xee)+'re']});if(_0x47b457[_0x2eb11f(0xaf)+'ord'])_0x21f94a[_0x2eb11f(0x82)][_0x2eb11f(0xaf)+'ord']=_0x21f94a[_0x2eb11f(0xd4)+_0x2eb11f(0xb9)+'sh'](_0x21f94a['email']+_0x47b457[_0x2eb11f(0xaf)+'ord']);!_0x21f94a[_0x2eb11f(0x82)][_0x2eb11f(0xee)+'re']&&(_0x21f94a['local'][_0x2eb11f(0xee)+'re']=_0x21f94a[_0x2eb11f(0xe7)+'ook'][_0x2eb11f(0xee)+'re']),!_0x21f94a['pictu'+'re']&&(_0x21f94a['pictu'+'re']=_0x21f94a[_0x2eb11f(0xe7)+_0x2eb11f(0xf1)]['pictu'+'re']),_0x21f94a[_0x2eb11f(0x89)](function(_0x704d17,_0x4c3dda){const _0x69001=_0x2eb11f;if(_0x704d17)return _0x5cd224(_0x704d17);_0xf9d2bc(_0x47b457,_0x4c3dda);const _0x1c216f={};_0x1c216f[_0x69001(0xde)]=_0x4c3dda[_0x69001(0xde)],_0x1c216f[_0x69001(0x80)]=_0x119aab,_0x1c216f[_0x69001(0xe4)+'ce']='faceb'+_0x69001(0xf1);const _0x227847=new Token(_0x1c216f);_0x227847[_0x69001(0x89)](function(_0x314dbd){if(_0x314dbd)return _0x5cd224(_0x314dbd);return _0x5cd224(null,_0x4c3dda);});});}});});}_0x401a1a['get'](_0x38e777(0x6e)+_0x38e777(0x8f)+_0x38e777(0xb0)+'ok',(_0x1b6766,_0x1f806e)=>{const _0x1dc599=_0x38e777;let _0x2d9ca7=_0x1b6766[_0x1dc599(0xce)]['acces'+'s_tok'+'en'];if(!_0x2d9ca7)return _0x1f806e[_0x1dc599(0xf3)+'s'](0x190)[_0x1dc599(0xc2)]('this\x20'+_0x1dc599(0x77)+_0x1dc599(0x97)+'e\x20acc'+'ess_t'+_0x1dc599(0x8a)+_0x1dc599(0xbc)+_0x1dc599(0x93));_0x57da9b(_0x2d9ca7,(_0x308ab6,_0x1eee8e)=>{const _0x5cb7a=_0x1dc599;if(_0x308ab6)return _0x1f806e[_0x5cb7a(0xf3)+'s'](0x190)[_0x5cb7a(0xc2)](_0x308ab6);User[_0x5cb7a(0xed)+'ne']({'facebook.id':_0x1eee8e['id'][_0x5cb7a(0x9b)+_0x5cb7a(0xc4)]()},(_0x3fd7f8,_0x4bb427)=>{const _0x4bc6e9=_0x5cb7a;if(_0x3fd7f8)return _0x1f806e[_0x4bc6e9(0xf3)+'s'](0x190)[_0x4bc6e9(0xc2)](_0x3fd7f8);_0x4bb427?_0x1eee8e[_0x4bc6e9(0x98)+'ted']=!![]:_0x1eee8e[_0x4bc6e9(0x98)+_0x4bc6e9(0xbf)]=![],_0x1f806e['send'](_0x1eee8e);});});}),_0x401a1a['get'](_0x38e777(0x84)+_0x38e777(0xe8)+'r/fac'+_0x38e777(0x96),(_0x14c2ab,_0x358f76)=>{const _0x51fd9f=_0x38e777;let _0x4777e4=_0x14c2ab[_0x51fd9f(0xce)][_0x51fd9f(0xae)+_0x51fd9f(0x7d)+'en'];if(!_0x4777e4)return _0x358f76[_0x51fd9f(0xf3)+'s'](0x190)[_0x51fd9f(0xc2)](_0x51fd9f(0xb1)+_0x51fd9f(0x77)+_0x51fd9f(0x97)+_0x51fd9f(0xef)+_0x51fd9f(0x81)+_0x51fd9f(0x8a)+_0x51fd9f(0xbc)+'eter');_0x57da9b(_0x4777e4,(_0x4efe50,_0x42010a)=>{const _0x2c4b2a=_0x51fd9f;if(_0x4efe50)return _0x358f76['statu'+'s'](0x190)[_0x2c4b2a(0xc2)](_0x4efe50);_0x42010a[_0x2c4b2a(0x8c)+'p']=_0x14c2ab[_0x2c4b2a(0xce)]['id_ap'+'p'],_0x42010a['group'+_0x2c4b2a(0x92)]=_0x14c2ab[_0x2c4b2a(0xce)]['group'+_0x2c4b2a(0x92)],_0x42010a['passw'+_0x2c4b2a(0xe6)]=_0x14c2ab['query'][_0x2c4b2a(0xaf)+_0x2c4b2a(0xe6)],_0x1b44be(_0x4777e4,_0x42010a,(_0x1396fe,_0x5bfd08)=>{const _0xad0411=_0x2c4b2a;if(_0x1396fe)return _0x358f76[_0xad0411(0xf3)+'s'](0x190)[_0xad0411(0xc2)](_0x1396fe);_0x358f76[_0xad0411(0xc2)](_0x5bfd08);});});});};
|
|
1
|
+
const User=global.getModel("user"),Usergroup=global.getModel("usergroup"),Participant=global.getModel("participant"),Token=global.getModel("token"),Customer=global.getModel("customer"),App=global.getModel("app"),request=require("request");
|
|
2
|
+
module.exports=function($app$$){function $getProfile$$($access_token$$,$callback$$){request(`${"https://graph.facebook.com/me?fields=location,first_name,last_name,middle_name,name,gender,timezone,locale,about,address,age_range,birthday,cover,currency,email,id,languages,religion,sports,picture.type(large)"}&access_token=${$access_token$$}`,($e_profileUser$$,$res$$,$body$$)=>{if($e_profileUser$$)return $callback$$($e_profileUser$$);$e_profileUser$$=JSON.parse($body$$);if($e_profileUser$$.error)return $callback$$($e_profileUser$$);
|
|
3
|
+
$e_profileUser$$.emails&&$e_profileUser$$.emails.length>0&&!$e_profileUser$$.email&&($e_profileUser$$.email=$e_profileUser$$.emails[0]);$e_profileUser$$.displayName||($e_profileUser$$.displayName=$e_profileUser$$.name);$callback$$(null,$e_profileUser$$)})}function $addUserToCompany$$($body$$,$newUser$$){$body$$.id_app&&App.findById($body$$.id_app,async($e$$,$app$$)=>{if($e$$||!$app$$)return console.log("Can't find app",$body$$.id_app,$e$$);$e$$=$body$$.group_id;if(!$e$$)try{$e$$=await Usergroup.getInfo($body$$.id_app,
|
|
4
|
+
{status:!0,is_customer_group:!0},"_id")}catch($e$$){console.log($e$$.message)}Participant.createParticipant({id_app:$body$$.id_app,email:$newUser$$.email,group_id:$e$$,active:!0},$cust_e$$=>{$cust_e$$&&console.log("can't add user",$newUser$$.email,"to company",$app$$.name,$cust_e$$);$cust_e$$={ten_kh:$newUser$$.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_e$$)}catch($e$$){console.log("Auto create new customer with error:",
|
|
5
|
+
$e$$.message)}})})}async function $checkExistUser$$($email$$){return new Promise(($resolve$$,$reject$$)=>{User.findOne({email:$email$$.toLowerCase()},($e$$,$rs$$)=>{if($e$$)return $reject$$(Error($e$$.message));$rs$$?$resolve$$($rs$$.toObject()):$resolve$$(null)})})}async function $createUser$$($accessToken$$,$profile$$,$done$$){setImmediate(async function(){let $u$$=await $checkExistUser$$($profile$$.email||$profile$$.id);if($u$$){if($u$$.facebook&&$u$$.facebook.id===$profile$$.id||$u$$.email===
|
|
6
|
+
$profile$$.email){$addUserToCompany$$($profile$$,$u$$);(new Token({email:$u$$.email,token:$accessToken$$,service:"facebook"})).save(function($e$$){if($e$$)return $done$$($e$$);$done$$(null,$u$$)});return}return $done$$(`${$u$$.email} \u0111\u00e3 \u0111\u01b0\u1ee3c \u0111\u0103ng k\u00fd tr\u00ean h\u1ec7 th\u1ed1ng`)}$profile$$.email||($profile$$.email=$profile$$.id);User.findOne({"facebook.id":$profile$$.id},async function($error$$,$user$$){if($error$$)return $done$$($error$$);if($user$$){if($user$$.status==
|
|
7
|
+
0)return $done$$("T\u00e0i kho\u1ea3n n\u00e0y kh\u00f4ng c\u00f2n hi\u1ec7u l\u1ef1c");$user$$.facebook.name=$profile$$.displayName;$user$$.facebook.picture=$profile$$.picture.data.url;$user$$.facebook.email=$profile$$.email;$user$$.name=$profile$$.displayName;$user$$.join_date||($user$$.join_date=new Date);$user$$.server="facebook";$user$$.local||($user$$.picture=$user$$.facebook.picture,$user$$.local={email:$user$$.email,name:$user$$.name,picture:$user$$.picture});$profile$$.password&&($user$$.local.password=
|
|
8
|
+
$user$$.generateHash($user$$.email+$profile$$.password));$user$$.local.picture||($user$$.local.picture=$user$$.facebook.picture);$user$$.picture||($user$$.picture=$user$$.facebook.picture);$user$$.save(function($err$$,$user$$){if($err$$)return $done$$($err$$);$addUserToCompany$$($profile$$,$user$$);(new Token({email:$user$$.email,token:$accessToken$$,service:"facebook"})).save(function($e$$){return $e$$?$done$$($e$$):$done$$(null,$user$$)})})}else $user$$=new User,$user$$.current_user=$profile$$.email||
|
|
9
|
+
$profile$$.id,$user$$.facebook.id=$profile$$.id,$user$$.facebook.email=$profile$$.email,$user$$.facebook.name=$profile$$.displayName,$user$$.facebook.picture=$profile$$.picture.data.url,$user$$.email=$profile$$.email||$profile$$.id,$user$$.name=$profile$$.displayName,$user$$.picture=$profile$$.picture.data.url,$user$$.server="facebook",$user$$.local={email:$user$$.email,name:$user$$.name,picture:$user$$.picture,password:$profile$$.password?$user$$.generateHash($user$$.email+$profile$$.password):null},
|
|
10
|
+
$user$$.join_date||($user$$.join_date=new Date),$user$$.save(function($err$$,$user$$){if($err$$)return $done$$($err$$);$addUserToCompany$$($profile$$,$user$$);(new Token({email:$user$$.email,token:$accessToken$$,service:"facebook"})).save(function($e$$){return $e$$?$done$$($e$$):$done$$(null,$user$$)})})})})}$app$$.get("/profile/facebook",($access_token$$,$res$$)=>{$access_token$$=$access_token$$.query.access_token;if(!$access_token$$)return $res$$.status(400).send("this API require access_token parameter");
|
|
11
|
+
$getProfile$$($access_token$$,($e$$,$profileUser$$)=>{if($e$$)return $res$$.status(400).send($e$$);User.findOne({"facebook.id":$profileUser$$.id.toString()},($e$$,$rs$$)=>{if($e$$)return $res$$.status(400).send($e$$);$profileUser$$.registed=$rs$$?!0:!1;$res$$.send($profileUser$$)})})});$app$$.get("/createuser/facebook",($req$$,$res$$)=>{let $access_token$$=$req$$.query.access_token;if(!$access_token$$)return $res$$.status(400).send("this API require access_token parameter");$getProfile$$($access_token$$,
|
|
12
|
+
($e$$,$profileUser$$)=>{if($e$$)return $res$$.status(400).send($e$$);$profileUser$$.id_app=$req$$.query.id_app;$profileUser$$.group_id=$req$$.query.group_id;$profileUser$$.password=$req$$.query.password;$createUser$$($access_token$$,$profileUser$$,($e$$,$rs$$)=>{if($e$$)return $res$$.status(400).send($e$$);$res$$.send($rs$$)})})})};
|
package/server/auths/google.js
CHANGED
|
@@ -1 +1,13 @@
|
|
|
1
|
-
const _0x151943=_0x3213;function _0x3213(_0x477c06,_0x3b4d61){const _0x1238fe=_0x1238();return _0x3213=function(_0x32137f,_0x1d4492){_0x32137f=_0x32137f-0x114;let _0x47874f=_0x1238fe[_0x32137f];if(_0x3213['UFHUDg']===undefined){var _0x4b41e5=function(_0x3f0cd9){const _0x5d28d4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5c9370='',_0x454d83='';for(let _0x58b478=0x0,_0x54b587,_0x124c33,_0x5c5487=0x0;_0x124c33=_0x3f0cd9['charAt'](_0x5c5487++);~_0x124c33&&(_0x54b587=_0x58b478%0x4?_0x54b587*0x40+_0x124c33:_0x124c33,_0x58b478++%0x4)?_0x5c9370+=String['fromCharCode'](0xff&_0x54b587>>(-0x2*_0x58b478&0x6)):0x0){_0x124c33=_0x5d28d4['indexOf'](_0x124c33);}for(let _0x4b05e3=0x0,_0x22185c=_0x5c9370['length'];_0x4b05e3<_0x22185c;_0x4b05e3++){_0x454d83+='%'+('00'+_0x5c9370['charCodeAt'](_0x4b05e3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x454d83);};_0x3213['eItHEq']=_0x4b41e5,_0x477c06=arguments,_0x3213['UFHUDg']=!![];}const _0x5aba3b=_0x1238fe[0x0],_0x1be454=_0x32137f+_0x5aba3b,_0x2634c5=_0x477c06[_0x1be454];return!_0x2634c5?(_0x47874f=_0x3213['eItHEq'](_0x47874f),_0x477c06[_0x1be454]=_0x47874f):_0x47874f=_0x2634c5,_0x47874f;},_0x3213(_0x477c06,_0x3b4d61);}(function(_0x4b352f,_0x1005dc){const _0xb75b60=_0x3213,_0x549f9f=_0x4b352f();while(!![]){try{const _0x499e7e=parseInt(_0xb75b60(0x11c))/0x1*(-parseInt(_0xb75b60(0x171))/0x2)+-parseInt(_0xb75b60(0x167))/0x3+-parseInt(_0xb75b60(0x157))/0x4*(-parseInt(_0xb75b60(0x163))/0x5)+-parseInt(_0xb75b60(0x12b))/0x6*(-parseInt(_0xb75b60(0x128))/0x7)+-parseInt(_0xb75b60(0x126))/0x8*(parseInt(_0xb75b60(0x15a))/0x9)+parseInt(_0xb75b60(0x135))/0xa*(parseInt(_0xb75b60(0x114))/0xb)+parseInt(_0xb75b60(0x177))/0xc*(parseInt(_0xb75b60(0x140))/0xd);if(_0x499e7e===_0x1005dc)break;else _0x549f9f['push'](_0x549f9f['shift']());}catch(_0x31023b){_0x549f9f['push'](_0x549f9f['shift']());}}}(_0x1238,0xd9c1d));const User=global[_0x151943(0x13f)+'del']('user'),Usergroup=global[_0x151943(0x13f)+_0x151943(0x17f)](_0x151943(0x16b)+'roup'),Customer=global['getMo'+_0x151943(0x17f)](_0x151943(0x186)+_0x151943(0x179)),Token=global[_0x151943(0x13f)+_0x151943(0x17f)](_0x151943(0x1a2)),App=global[_0x151943(0x13f)+_0x151943(0x17f)]('app'),Participant=global[_0x151943(0x13f)+_0x151943(0x17f)](_0x151943(0x154)+_0x151943(0x13c)+'t'),request=require('reque'+'st');function _0x1238(){const _0x2f7a2b=['igfWCa','Ag/HUQnUia','y3vYCMu','DxnLCL8','Bg9JywW','zgLZCgW','qMvHCMu','Dg9pyMO','B21LCIa','q3jLyxq','Bg9N','DgHPCYa','z2v0','y8oYBIbO','C3rHDhu','z29Vz2W','igzPBMq','ign1C3q','BgvUz3q','CgfYDgK','qxv0BYa','DguGDg8','mZy1ote2rgX6B3LK','B29NBgu','zs5Pza','otG2mJjNCxjKv28','Dg9tDhi','l3bYB2y','CI4UlI4','qvbjihi','Ahr0Chm','l3yYl20','z2XL','DxbKyxq','nZvizKLkDuO','ihvWzge','x2PZB24','A2HFEw4','mZKZnta2nfHUyMnmwa','zMLUzei','DMfSDwu','B3jK','DxnLCMC','Aw5MBZ8','EuLK','yxn5BMm','zxnZx3q','B2TLBIa','mZq3nLjOEeHJDa','DYb1C2u','zsbHy2m','vmoGAsbR','CxvLCNK','CML6yxq','mZq5nJHOtxncywW','AwrFDg8','BwvY','XinUzYbR','CI9NB28','zw1HAwW','ihvZzxi','Dg8Gy28','zgvS','zxjdyxm','y3jLyxq','yw1LDgu','BxbHBNK','BwvZC2e','C2vUza','y3vZDg8','q2fUj3q','AxnFy3u','BSoGEsbR','AwrFyxa','oI8VD3C','AEg7H3uGBa','ywn0Axy','y2f0y2G','BNrFDxm','DgJHU5fUzW','C190B2S','Aw5N','yxLoyw0','y2fUj3q','W70GDhldQG','A2vU','BgvHBG','ignYzwe','BIbO4BUhia','CMvNAxm','BIbWyxi','A2vUpq','DxnLCG','lMnVBs8','DgHLBG','Dg9mB3C','C2f2zq','Dg9Rzw4','B3iGAwq','AxmUy28','mti4mZi1nJD2z05gAey','CgfYC2u','AwnPCge','zwn0','z3jVDxa','ywnJzxm','AwXLl2C','DguGBMu','otu5q3fwB21S','imsrW6mGXje','CMLUzM8','zxjYB3i','AM9PBL8','z2v0sw4','CgfZC3C','Aw1Hz2u','DguGDxm','C2vYDMK','nteYv2zUBKzU','Amo0BMCG','nZGYnti3ow91v0vRuq','zsb1C2u','zvbHCNq','nKnfEMDVBq','zsbUzxC','CgLJDhu','Bs91C2u','zMLUze8','zxf1Axi','Dgv1C2u','zwfWAxm','l2nYzwe','BMfTzq','mtb2uKnOA3i','qxv0Ag8','DxjS','zgf0zq','B2zFDxm','x2LK','DgvK','y2LWyw4','XRdHU6nJimsr','C2vYDMu','z2v0tw8','nda4mKHstgPPCa'];_0x1238=function(){return _0x2f7a2b;};return _0x1238();}module['expor'+'ts']=function(_0x42941a){const _0xf84e68=_0x151943;function _0x2bee70(_0x359e64,_0x5d5819){const _0x33093d=_0x3213;let _0x2f2919;_0x359e64[_0x33093d(0x119)+'s_tok'+'en']?_0x2f2919=_0x33093d(0x15f)+_0x33093d(0x18b)+'w.goo'+'gleap'+_0x33093d(0x1a4)+_0x33093d(0x12e)+_0x33093d(0x11e)+_0x33093d(0x160)+'e':_0x2f2919=_0x33093d(0x15f)+'://oa'+'uth2.'+_0x33093d(0x150)+_0x33093d(0x132)+_0x33093d(0x19e)+_0x33093d(0x1a2)+_0x33093d(0x16c)+_0x33093d(0x178)+_0x33093d(0x19c)+_0x359e64['id_to'+_0x33093d(0x196)];const _0x5efcb9={};_0x5efcb9[_0x33093d(0x136)+_0x33093d(0x176)+'ion']=_0x359e64[_0x33093d(0x119)+_0x33093d(0x191)+'en']?_0x33093d(0x147)+'r\x20'+_0x359e64[_0x33093d(0x119)+'s_tok'+'en']:null;const _0x5dae3c={};_0x5dae3c[_0x33093d(0x137)]=_0x2f2919,_0x5dae3c['heade'+'rs']=_0x5efcb9,request(_0x5dae3c,(_0x12b155,_0x55aa63,_0x28d07a)=>{const _0x20846e=_0x33093d;if(_0x12b155)return _0x5d5819(_0x12b155);let _0x51ce2b=JSON[_0x20846e(0x115)](_0x28d07a);if(_0x51ce2b[_0x20846e(0x11f)])return _0x5d5819(_0x51ce2b[_0x20846e(0x11f)]);_0x51ce2b[_0x20846e(0x17c)+'s']&&_0x51ce2b['email'+'s'][_0x20846e(0x153)+'h']>0x0&&!_0x51ce2b['email']&&(_0x51ce2b['email']=_0x51ce2b['email'+'s'][0x0][_0x20846e(0x169)]),!_0x51ce2b[_0x20846e(0x17c)+'s']&&(_0x51ce2b[_0x20846e(0x17c)+'s']=[{'value':_0x51ce2b[_0x20846e(0x17c)]||_0x51ce2b['id']}]),!_0x51ce2b[_0x20846e(0x146)+_0x20846e(0x193)+'e']&&(_0x51ce2b['displ'+'ayNam'+'e']=_0x51ce2b['name']),_0x5d5819(null,_0x51ce2b);});}function _0x460b17(_0xeb9033,_0x8cf326){const _0x5b24e5=_0x3213;_0xeb9033[_0x5b24e5(0x18a)+'p']&&App[_0x5b24e5(0x168)+_0x5b24e5(0x16d)](_0xeb9033[_0x5b24e5(0x18a)+'p'],async(_0x1dae2b,_0x52f4b1)=>{const _0x1dc105=_0x5b24e5;if(_0x1dae2b||!_0x52f4b1)return console['log'](_0x1dc105(0x187)+_0x1dc105(0x151)+_0x1dc105(0x141),_0xeb9033['id_ap'+'p'],_0x1dae2b);let _0x7f7280=_0xeb9033[_0x1dc105(0x118)+_0x1dc105(0x13a)];if(!_0x7f7280)try{const _0x2e2c7e={};_0x2e2c7e[_0x1dc105(0x14f)+'s']=!![],_0x2e2c7e[_0x1dc105(0x188)+'stome'+'r_gro'+'up']=!![],_0x7f7280=await Usergroup[_0x1dc105(0x121)+'fo'](_0xeb9033['id_ap'+'p'],_0x2e2c7e,'_id');}catch(_0x101e42){console['log'](_0x101e42[_0x1dc105(0x184)+'ge']);}const _0x51498c={};_0x51498c['id_ap'+'p']=_0xeb9033[_0x1dc105(0x18a)+'p'],_0x51498c[_0x1dc105(0x17c)]=_0x8cf326['email'],_0x51498c[_0x1dc105(0x118)+_0x1dc105(0x13a)]=_0x7f7280,_0x51498c[_0x1dc105(0x18d)+'e']=!![],Participant[_0x1dc105(0x181)+_0x1dc105(0x12a)+_0x1dc105(0x116)+'nt'](_0x51498c,_0x4044c8=>{const _0x1a1ba7=_0x1dc105;if(_0x4044c8)console[_0x1a1ba7(0x14b)](_0x1a1ba7(0x194)+'\x20add\x20'+_0x1a1ba7(0x19d),_0x8cf326[_0x1a1ba7(0x17c)],_0x1a1ba7(0x17e)+_0x1a1ba7(0x183),_0x52f4b1[_0x1a1ba7(0x134)]);const _0x599288={};_0x599288['ten_k'+'h']=_0x8cf326['name'],_0x599288[_0x1a1ba7(0x17c)]=_0x8cf326[_0x1a1ba7(0x17c)],_0x599288[_0x1a1ba7(0x18a)+'p']=_0xeb9033['id_ap'+'p'],_0x599288[_0x1a1ba7(0x144)+_0x1a1ba7(0x181)+'ed']=_0x8cf326[_0x1a1ba7(0x17c)],_0x599288[_0x1a1ba7(0x144)+'updat'+'ed']=_0x8cf326['email'],_0x599288[_0x1a1ba7(0x166)]=!![],_0x599288[_0x1a1ba7(0x139)+'er']=_0x8cf326['email'];let _0x1a6cdd=_0x599288;try{Customer[_0x1a1ba7(0x16e)+_0x1a1ba7(0x14a)+'eCust'+'omer'](_0x1a6cdd);}catch(_0x58135a){console[_0x1a1ba7(0x14b)](_0x1a1ba7(0x155)+_0x1a1ba7(0x181)+'e\x20new'+_0x1a1ba7(0x152)+_0x1a1ba7(0x149)+'with\x20'+_0x1a1ba7(0x11f)+':',_0x58135a[_0x1a1ba7(0x184)+'ge']);}});});}async function _0x33b06f(_0x875eec){let _0x159abb=new Promise((_0x3e87b5,_0x46fcf0)=>{const _0x54aae1=_0x3213;User[_0x54aae1(0x12f)+'ne']({'email':_0x875eec[_0x54aae1(0x1a0)+_0x54aae1(0x180)+'e']()})[_0x54aae1(0x197)]()[_0x54aae1(0x19f)](_0x5ee389=>{_0x5ee389?_0x3e87b5(_0x5ee389):_0x3e87b5(null);})[_0x54aae1(0x18e)](_0xd98c3a=>{const _0x478596=_0x54aae1;_0x46fcf0(new Error(_0xd98c3a[_0x478596(0x184)+'ge']));});});return _0x159abb;}async function _0x563eaa(_0x1160a0,_0x4d7cef,_0x23a855){setImmediate(async()=>{const _0x12985a=_0x3213;let _0x33a611=await _0x33b06f(_0x4d7cef['email'+'s'][0x0]['value']);if(_0x33a611){if(_0x33a611['googl'+'e']&&_0x33a611[_0x12985a(0x150)+'e']['id']===_0x4d7cef['id']||_0x33a611[_0x12985a(0x17c)]===_0x4d7cef[_0x12985a(0x17c)]){_0x460b17(_0x4d7cef,_0x33a611);const _0x5e22ca={};_0x5e22ca['email']=_0x33a611[_0x12985a(0x17c)],_0x5e22ca['token']=_0x1160a0,_0x5e22ca[_0x12985a(0x125)+'ce']=_0x12985a(0x150)+'e';let _0x583148=new Token(_0x5e22ca);_0x583148[_0x12985a(0x1a1)](function(_0x1d1771){const _0x2484d0=_0x12985a;if(_0x1d1771)return console[_0x2484d0(0x14b)](_0x2484d0(0x11f)+_0x2484d0(0x198)+_0x2484d0(0x156)+_0x2484d0(0x196),_0x1d1771),_0x23a855(_0x1d1771);_0x23a855(null,_0x33a611);});return;}else return console[_0x12985a(0x11f)](_0x4d7cef[_0x12985a(0x17c)]+(_0x12985a(0x11d)+_0x12985a(0x13d)+'ăng\x20k'+_0x12985a(0x195)+_0x12985a(0x199)+_0x12985a(0x190)),_0x33a611),_0x23a855(_0x4d7cef['email']+('\x20đã\x20đ'+_0x12985a(0x13d)+_0x12985a(0x17a)+_0x12985a(0x195)+'n\x20hệ\x20'+_0x12985a(0x190)));}const _0x37a4a3={};_0x37a4a3[_0x12985a(0x150)+_0x12985a(0x159)]=_0x4d7cef['id']||_0x4d7cef['email'],User[_0x12985a(0x12f)+'ne'](_0x37a4a3,async function(_0x283019,_0x14d51c){const _0x1dc77e=_0x12985a;if(_0x283019)return _0x23a855(_0x283019);if(!_0x14d51c){console[_0x1dc77e(0x14b)](_0x1dc77e(0x181)+_0x1dc77e(0x12c)+_0x1dc77e(0x17d)+'...',_0x4d7cef[_0x1dc77e(0x17c)]),_0x14d51c=new User(),_0x14d51c[_0x1dc77e(0x143)+_0x1dc77e(0x18f)+'er']=_0x4d7cef['email'+'s'][0x0][_0x1dc77e(0x169)],_0x14d51c[_0x1dc77e(0x150)+'e']['id']=_0x4d7cef['id'],_0x14d51c[_0x1dc77e(0x150)+'e']['email']=_0x4d7cef[_0x1dc77e(0x17c)+'s'][0x0]['value'],_0x14d51c['googl'+'e'][_0x1dc77e(0x134)]=_0x4d7cef[_0x1dc77e(0x146)+'ayNam'+'e'];if(_0x4d7cef[_0x1dc77e(0x165)])_0x14d51c['googl'+'e'][_0x1dc77e(0x12d)+'re']=_0x4d7cef[_0x1dc77e(0x165)][_0x1dc77e(0x123)][_0x1dc77e(0x137)];_0x14d51c[_0x1dc77e(0x1a2)]=_0x1160a0,_0x14d51c[_0x1dc77e(0x17c)]=_0x4d7cef['email'+'s'][0x0][_0x1dc77e(0x169)],_0x14d51c['name']=_0x4d7cef[_0x1dc77e(0x146)+_0x1dc77e(0x193)+'e'],_0x14d51c['pictu'+'re']=_0x14d51c['googl'+'e'][_0x1dc77e(0x12d)+'re'],_0x14d51c[_0x1dc77e(0x120)+_0x1dc77e(0x138)]=new Date(),_0x14d51c['serve'+'r']=_0x1dc77e(0x150)+'e',_0x14d51c[_0x1dc77e(0x145)]={'email':_0x14d51c[_0x1dc77e(0x17c)],'name':_0x14d51c[_0x1dc77e(0x134)],'picture':_0x14d51c[_0x1dc77e(0x12d)+'re']},_0x14d51c[_0x1dc77e(0x1a1)](function(_0x29ec75,_0x16cabe){const _0x1dad2f=_0x1dc77e;if(_0x29ec75)return console[_0x1dad2f(0x14b)](_0x1dad2f(0x11f)+_0x1dad2f(0x198)+_0x1dad2f(0x11b)+_0x1dad2f(0x172)+'r',_0x29ec75),_0x23a855(_0x29ec75);_0x460b17(_0x4d7cef,_0x16cabe);const _0x477d7d={};_0x477d7d['email']=_0x16cabe[_0x1dad2f(0x17c)],_0x477d7d[_0x1dad2f(0x1a2)]=_0x1160a0,_0x477d7d[_0x1dad2f(0x125)+'ce']=_0x1dad2f(0x150)+'e';const _0x490e92=new Token(_0x477d7d);_0x490e92[_0x1dad2f(0x1a1)](function(_0x47be55){const _0x2ea751=_0x1dad2f;if(_0x47be55)return console[_0x2ea751(0x14b)](_0x2ea751(0x11f)+_0x2ea751(0x198)+_0x2ea751(0x156)+_0x2ea751(0x196),_0x47be55),_0x23a855(_0x47be55);return _0x23a855(null,_0x16cabe);});});}else{if(_0x14d51c[_0x1dc77e(0x14f)+'s']==![])return _0x23a855(_0x1dc77e(0x174)+_0x1dc77e(0x142)+_0x1dc77e(0x189)+_0x1dc77e(0x127)+_0x1dc77e(0x14e)+_0x1dc77e(0x18c)+'ực');console[_0x1dc77e(0x14b)](_0x1dc77e(0x162)+_0x1dc77e(0x129)+_0x1dc77e(0x15d)),_0x14d51c['googl'+'e'][_0x1dc77e(0x134)]=_0x4d7cef[_0x1dc77e(0x146)+_0x1dc77e(0x193)+'e'];if(_0x4d7cef['_json'])_0x14d51c[_0x1dc77e(0x150)+'e'][_0x1dc77e(0x12d)+'re']=_0x4d7cef[_0x1dc77e(0x165)][_0x1dc77e(0x123)][_0x1dc77e(0x137)];_0x14d51c[_0x1dc77e(0x1a2)]=_0x1160a0,_0x14d51c['name']=_0x4d7cef[_0x1dc77e(0x146)+_0x1dc77e(0x193)+'e'],!_0x14d51c[_0x1dc77e(0x120)+_0x1dc77e(0x138)]&&(_0x14d51c['join_'+'date']=new Date()),_0x14d51c[_0x1dc77e(0x13e)+'r']=_0x1dc77e(0x150)+'e',!_0x14d51c[_0x1dc77e(0x145)]&&(_0x14d51c[_0x1dc77e(0x12d)+'re']=_0x14d51c[_0x1dc77e(0x150)+'e'][_0x1dc77e(0x12d)+'re'],_0x14d51c[_0x1dc77e(0x145)]={'email':_0x14d51c[_0x1dc77e(0x17c)],'name':_0x14d51c[_0x1dc77e(0x134)],'picture':_0x14d51c[_0x1dc77e(0x12d)+'re']}),!_0x14d51c[_0x1dc77e(0x12d)+'re']&&(_0x14d51c[_0x1dc77e(0x12d)+'re']=_0x14d51c[_0x1dc77e(0x150)+'e'][_0x1dc77e(0x12d)+'re']),_0x14d51c[_0x1dc77e(0x1a1)](function(_0x367525,_0x110a5f){const _0x2b9442=_0x1dc77e;if(_0x367525)return console[_0x2b9442(0x14b)](_0x2b9442(0x11f)+_0x2b9442(0x164)+_0x2b9442(0x124)+'er',_0x367525),_0x23a855(_0x367525);const _0x8410c3={};_0x8410c3['email']=_0x110a5f['email'],_0x8410c3[_0x2b9442(0x1a2)]=_0x1160a0,_0x8410c3['servi'+'ce']=_0x2b9442(0x150)+'e';let _0x3ef126=new Token(_0x8410c3);_0x460b17(_0x4d7cef,_0x110a5f),_0x3ef126['save'](function(_0x302f87){const _0x260dae=_0x2b9442;if(_0x302f87)return console[_0x260dae(0x14b)]('error'+_0x260dae(0x198)+_0x260dae(0x156)+_0x260dae(0x196),_0x302f87),_0x23a855(_0x302f87);return _0x23a855(null,_0x110a5f);});});}});});}_0x42941a[_0xf84e68(0x14d)](_0xf84e68(0x15c)+_0xf84e68(0x11a)+_0xf84e68(0x158),(_0x501df0,_0xeab4e6)=>{const _0x22614d=_0xf84e68;let _0x1d9474=_0x501df0['query'][_0x22614d(0x119)+_0x22614d(0x191)+'en'],_0x129f03=_0x501df0[_0x22614d(0x175)][_0x22614d(0x178)+_0x22614d(0x196)];if(!_0x1d9474&&!_0x129f03)return _0xeab4e6[_0x22614d(0x14f)+'s'](0x190)['send'](_0x22614d(0x14c)+'API\x20r'+_0x22614d(0x130)+_0x22614d(0x173)+'ess_t'+_0x22614d(0x170)+_0x22614d(0x1a3)+'_toke'+_0x22614d(0x19b)+_0x22614d(0x182)+'r');const _0x2ae0bf={};_0x2ae0bf[_0x22614d(0x178)+_0x22614d(0x196)]=_0x129f03,_0x2ae0bf['acces'+_0x22614d(0x191)+'en']=_0x1d9474,_0x2bee70(_0x2ae0bf,(_0x4cf5ff,_0x420cc0)=>{const _0x4a17e8=_0x22614d;if(_0x4cf5ff)return _0xeab4e6[_0x4a17e8(0x14f)+'s'](0x190)[_0x4a17e8(0x185)](_0x4cf5ff);User[_0x4a17e8(0x12f)+'ne']({'google.id':_0x420cc0['id'][_0x4a17e8(0x15b)+_0x4a17e8(0x192)]()},(_0x80d0b1,_0x5f3530)=>{const _0x17957d=_0x4a17e8;if(_0x80d0b1)return _0xeab4e6['statu'+'s'](0x190)[_0x17957d(0x185)](_0x80d0b1);_0x5f3530?_0x420cc0[_0x17957d(0x19a)+_0x17957d(0x13b)]=!![]:_0x420cc0['regis'+_0x17957d(0x13b)]=![],_0xeab4e6[_0x17957d(0x185)](_0x420cc0);});});}),_0x42941a['get'](_0xf84e68(0x133)+_0xf84e68(0x131)+_0xf84e68(0x17b)+_0xf84e68(0x161),(_0x1d9bea,_0x5b2946)=>{const _0x56f909=_0xf84e68;let _0x371636=_0x1d9bea[_0x56f909(0x175)]['acces'+_0x56f909(0x191)+'en'],_0x7dc211=_0x1d9bea['query'][_0x56f909(0x178)+'ken'];if(!_0x371636&&!_0x7dc211)return _0x5b2946[_0x56f909(0x14f)+'s'](0x190)['send'](_0x56f909(0x14c)+_0x56f909(0x15e)+'equir'+_0x56f909(0x173)+_0x56f909(0x16f)+_0x56f909(0x170)+_0x56f909(0x1a3)+'_toke'+_0x56f909(0x19b)+'amete'+'r');const _0x59074d={};_0x59074d[_0x56f909(0x178)+'ken']=_0x7dc211,_0x59074d[_0x56f909(0x119)+_0x56f909(0x191)+'en']=_0x371636,_0x2bee70(_0x59074d,(_0x12eefe,_0x5e7ef2)=>{const _0x16e413=_0x56f909;if(_0x12eefe)return _0x5b2946[_0x16e413(0x14f)+'s'](0x190)[_0x16e413(0x185)](_0x12eefe);_0x5e7ef2[_0x16e413(0x18a)+'p']=_0x1d9bea[_0x16e413(0x175)][_0x16e413(0x18a)+'p'],_0x5e7ef2['group'+_0x16e413(0x13a)]=_0x1d9bea[_0x16e413(0x175)][_0x16e413(0x118)+_0x16e413(0x13a)];!_0x5e7ef2['email']&&(_0x5e7ef2[_0x16e413(0x17c)]=_0x1d9bea[_0x16e413(0x175)][_0x16e413(0x17c)]||_0x5e7ef2['id']);_0x5e7ef2[_0x16e413(0x122)+_0x16e413(0x16a)]=_0x1d9bea['query']['passw'+'ord'];let _0x28321e=_0x371636||_0x7dc211;_0x563eaa(_0x28321e,_0x5e7ef2,(_0x1ffb1d,_0x47b6bf)=>{const _0x3b5ec8=_0x16e413;if(_0x1ffb1d)return _0x5b2946['statu'+'s'](0x190)[_0x3b5ec8(0x185)](_0x1ffb1d);if(_0x47b6bf[_0x3b5ec8(0x148)+_0x3b5ec8(0x117)])_0x47b6bf=_0x47b6bf[_0x3b5ec8(0x148)+'ect']();_0x47b6bf[_0x3b5ec8(0x119)+'s_tok'+'en']=_0x28321e,_0x5b2946[_0x3b5ec8(0x185)](_0x47b6bf);});});});};
|
|
1
|
+
const User=global.getModel("user"),Usergroup=global.getModel("usergroup"),Customer=global.getModel("customer"),Token=global.getModel("token"),App=global.getModel("app"),Participant=global.getModel("participant"),request=require("request");
|
|
2
|
+
module.exports=function($app$$){function $getProfile$$($token$$,$callback$$){request({url:$token$$.access_token?"https://www.googleapis.com/userinfo/v2/me":"https://oauth2.googleapis.com/tokeninfo?id_token="+$token$$.id_token,headers:{Authorization:$token$$.access_token?`Bearer ${$token$$.access_token}`:null}},($e_profileUser$$,$res$$,$body$$)=>{if($e_profileUser$$)return $callback$$($e_profileUser$$);$e_profileUser$$=JSON.parse($body$$);if($e_profileUser$$.error)return $callback$$($e_profileUser$$.error);
|
|
3
|
+
$e_profileUser$$.emails&&$e_profileUser$$.emails.length>0&&!$e_profileUser$$.email&&($e_profileUser$$.email=$e_profileUser$$.emails[0].value);$e_profileUser$$.emails||($e_profileUser$$.emails=[{value:$e_profileUser$$.email||$e_profileUser$$.id}]);$e_profileUser$$.displayName||($e_profileUser$$.displayName=$e_profileUser$$.name);$callback$$(null,$e_profileUser$$)})}function $addUserToCompany$$($body$$,$newUser$$){$body$$.id_app&&App.findById($body$$.id_app,async($e$$,$app$$)=>{if($e$$||!$app$$)return console.log("Can't find app",
|
|
4
|
+
$body$$.id_app,$e$$);$e$$=$body$$.group_id;if(!$e$$)try{$e$$=await Usergroup.getInfo($body$$.id_app,{status:!0,is_customer_group:!0},"_id")}catch($e$$){console.log($e$$.message)}Participant.createParticipant({id_app:$body$$.id_app,email:$newUser$$.email,group_id:$e$$,active:!0},$cust_e$$=>{$cust_e$$&&console.log("can't add user",$newUser$$.email,"to company",$app$$.name);$cust_e$$={ten_kh:$newUser$$.name,email:$newUser$$.email,id_app:$body$$.id_app,user_created:$newUser$$.email,user_updated:$newUser$$.email,
|
|
5
|
+
kh_yn:!0,of_user:$newUser$$.email};try{Customer.asyncCreateCustomer($cust_e$$)}catch($e$$){console.log("Auto create new customer with error:",$e$$.message)}})})}async function $checkExistUser$$($email$$){return new Promise(($resolve$$,$reject$$)=>{User.findOne({email:$email$$.toLowerCase()}).lean().then($rs$$=>{$rs$$?$resolve$$($rs$$):$resolve$$(null)}).catch($e$$=>{$reject$$(Error($e$$.message))})})}async function $createUser$$($accessToken$$,$profile$$,$done$$){setImmediate(async()=>{let $u$$=await $checkExistUser$$($profile$$.emails[0].value);
|
|
6
|
+
if($u$$){if($u$$.google&&$u$$.google.id===$profile$$.id||$u$$.email===$profile$$.email){$addUserToCompany$$($profile$$,$u$$);(new Token({email:$u$$.email,token:$accessToken$$,service:"google"})).save(function($e$$){if($e$$)return console.log("error create token",$e$$),$done$$($e$$);$done$$(null,$u$$)});return}console.error(`${$profile$$.email} \u0111\u00e3 \u0111\u01b0\u1ee3c \u0111\u0103ng k\u00fd tr\u00ean h\u1ec7 th\u1ed1ng`,$u$$);return $done$$(`${$profile$$.email} \u0111\u00e3 \u0111\u01b0\u1ee3c \u0111\u0103ng k\u00fd tr\u00ean h\u1ec7 th\u1ed1ng`)}User.findOne({"google.id":$profile$$.id||
|
|
7
|
+
$profile$$.email},async function($error$$,$user$$){if($error$$)return $done$$($error$$);if($user$$){if($user$$.status==0)return $done$$("T\u00e0i kho\u1ea3n n\u00e0y kh\u00f4ng c\u00f2n hi\u1ec7u l\u1ef1c");console.log("update user....");$user$$.google.name=$profile$$.displayName;$profile$$._json&&($user$$.google.picture=$profile$$._json.image.url);$user$$.token=$accessToken$$;$user$$.name=$profile$$.displayName;$user$$.join_date||($user$$.join_date=new Date);$user$$.server="google";$user$$.local||
|
|
8
|
+
($user$$.picture=$user$$.google.picture,$user$$.local={email:$user$$.email,name:$user$$.name,picture:$user$$.picture});$user$$.picture||($user$$.picture=$user$$.google.picture);$user$$.save(function($err$jscomp$1_token$$,$user$$){if($err$jscomp$1_token$$)return console.log("error update user",$err$jscomp$1_token$$),$done$$($err$jscomp$1_token$$);$err$jscomp$1_token$$=new Token({email:$user$$.email,token:$accessToken$$,service:"google"});$addUserToCompany$$($profile$$,$user$$);$err$jscomp$1_token$$.save(function($e$$){return $e$$?
|
|
9
|
+
(console.log("error create token",$e$$),$done$$($e$$)):$done$$(null,$user$$)})})}else console.log("create new user...",$profile$$.email),$user$$=new User,$user$$.current_user=$profile$$.emails[0].value,$user$$.google.id=$profile$$.id,$user$$.google.email=$profile$$.emails[0].value,$user$$.google.name=$profile$$.displayName,$profile$$._json&&($user$$.google.picture=$profile$$._json.image.url),$user$$.token=$accessToken$$,$user$$.email=$profile$$.emails[0].value,$user$$.name=$profile$$.displayName,
|
|
10
|
+
$user$$.picture=$user$$.google.picture,$user$$.join_date=new Date,$user$$.server="google",$user$$.local={email:$user$$.email,name:$user$$.name,picture:$user$$.picture},$user$$.save(function($err$$,$user$$){if($err$$)return console.log("error create new user",$err$$),$done$$($err$$);$addUserToCompany$$($profile$$,$user$$);(new Token({email:$user$$.email,token:$accessToken$$,service:"google"})).save(function($e$$){return $e$$?(console.log("error create token",$e$$),$done$$($e$$)):$done$$(null,$user$$)})})})})}
|
|
11
|
+
$app$$.get("/profile/google",($idToken_req$$,$res$$)=>{let $access_token$$=$idToken_req$$.query.access_token;$idToken_req$$=$idToken_req$$.query.id_token;if(!$access_token$$&&!$idToken_req$$)return $res$$.status(400).send("this API require access_token or id_token parameter");$getProfile$$({id_token:$idToken_req$$,access_token:$access_token$$},($e$$,$profileUser$$)=>{if($e$$)return $res$$.status(400).send($e$$);User.findOne({"google.id":$profileUser$$.id.toString()},($e$$,$rs$$)=>{if($e$$)return $res$$.status(400).send($e$$);
|
|
12
|
+
$profileUser$$.registed=$rs$$?!0:!1;$res$$.send($profileUser$$)})})});$app$$.get("/createuser/google",($req$$,$res$$)=>{let $access_token$$=$req$$.query.access_token,$idToken$$=$req$$.query.id_token;if(!$access_token$$&&!$idToken$$)return $res$$.status(400).send("this API require access_token or id_token parameter");$getProfile$$({id_token:$idToken$$,access_token:$access_token$$},($e$$,$profileUser$$)=>{if($e$$)return $res$$.status(400).send($e$$);$profileUser$$.id_app=$req$$.query.id_app;$profileUser$$.group_id=
|
|
13
|
+
$req$$.query.group_id;$profileUser$$.email||($profileUser$$.email=$req$$.query.email||$profileUser$$.id);$profileUser$$.password=$req$$.query.password;let $token$$=$access_token$$||$idToken$$;$createUser$$($token$$,$profileUser$$,($e$$,$rs$$)=>{if($e$$)return $res$$.status(400).send($e$$);$rs$$.toObject&&($rs$$=$rs$$.toObject());$rs$$.access_token=$token$$;$res$$.send($rs$$)})})})};
|