@iztzelios/core 0.0.0-stage → 0.1.0
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/CHANGELOG.md +46 -0
- package/README.md +172 -2
- package/dist/chunk-22TJJOSX.mjs +40 -0
- package/dist/chunk-264PR62T.js +39 -0
- package/dist/chunk-2M2D6KBL.mjs +83 -0
- package/dist/chunk-2PKDFJLS.js +47 -0
- package/dist/chunk-2QI362RF.mjs +75 -0
- package/dist/chunk-2UIO464B.mjs +32 -0
- package/dist/chunk-2V4SNATM.js +80 -0
- package/dist/chunk-2WFWIFFT.js +48 -0
- package/dist/chunk-2X6STDYR.mjs +33 -0
- package/dist/chunk-32UVITTN.js +55 -0
- package/dist/chunk-333SX27E.js +62 -0
- package/dist/chunk-3FL7DSSC.js +44 -0
- package/dist/chunk-3JYUPGEI.mjs +28 -0
- package/dist/chunk-3KKJJYUL.js +73 -0
- package/dist/chunk-3PBXR3PU.mjs +36 -0
- package/dist/chunk-3RTJYMYD.js +36 -0
- package/dist/chunk-3TMLW2AQ.mjs +29 -0
- package/dist/chunk-3V7N4SXN.js +95 -0
- package/dist/chunk-3XOKXHQX.js +55 -0
- package/dist/chunk-44JTTHB4.mjs +66 -0
- package/dist/chunk-4AM6MR5N.js +63 -0
- package/dist/chunk-4AWJMK3G.js +36 -0
- package/dist/chunk-4DEMAR4N.mjs +34 -0
- package/dist/chunk-4I7DTL2S.js +54 -0
- package/dist/chunk-4KARVTJH.js +32 -0
- package/dist/chunk-4KC6LGGL.js +51 -0
- package/dist/chunk-4LRQQM4T.mjs +24 -0
- package/dist/chunk-4MITWYY2.mjs +85 -0
- package/dist/chunk-4PUCZRMM.js +53 -0
- package/dist/chunk-4U2EKOWI.mjs +58 -0
- package/dist/chunk-4WH5NVKJ.js +54 -0
- package/dist/chunk-4WYHOADI.js +49 -0
- package/dist/chunk-4XCYO5JR.mjs +56 -0
- package/dist/chunk-4YLYEXGI.js +37 -0
- package/dist/chunk-54SDFBFP.js +215 -0
- package/dist/chunk-557H7BVM.js +27 -0
- package/dist/chunk-56P4PKAO.mjs +76 -0
- package/dist/chunk-5BTCFXV2.js +33 -0
- package/dist/chunk-5DFK64Z6.mjs +28 -0
- package/dist/chunk-5DTHOYS2.js +36 -0
- package/dist/chunk-5G7CAQRD.js +30 -0
- package/dist/chunk-5HV2SBIL.mjs +37 -0
- package/dist/chunk-5QRAXQJU.js +146 -0
- package/dist/chunk-5TBVKX33.js +40 -0
- package/dist/chunk-63L5TD2A.js +41 -0
- package/dist/chunk-66OIT2OT.js +68 -0
- package/dist/chunk-6CGYXCXG.js +30 -0
- package/dist/chunk-6FLODVZK.js +57 -0
- package/dist/chunk-6FNS6W3T.mjs +44 -0
- package/dist/chunk-6G33JELZ.js +52 -0
- package/dist/chunk-6GYNU2S6.js +42 -0
- package/dist/chunk-6NG76JQF.js +55 -0
- package/dist/chunk-6T5IMTT7.mjs +83 -0
- package/dist/chunk-6UHM2EAM.mjs +58 -0
- package/dist/chunk-6XLFH52W.mjs +45 -0
- package/dist/chunk-72TDGLCD.js +125 -0
- package/dist/chunk-77QVAAVV.js +45 -0
- package/dist/chunk-7ANSB3CK.js +58 -0
- package/dist/chunk-7B46R3VN.js +51 -0
- package/dist/chunk-7HPJ7OF5.mjs +50 -0
- package/dist/chunk-7JQ7JQEP.js +31 -0
- package/dist/chunk-7LTFKVR3.mjs +48 -0
- package/dist/chunk-7MC4KNQK.js +107 -0
- package/dist/chunk-7WTKGEJG.mjs +38 -0
- package/dist/chunk-7ZHSE5PQ.js +46 -0
- package/dist/chunk-A2JU3JFG.mjs +25 -0
- package/dist/chunk-A5X77I7X.js +58 -0
- package/dist/chunk-A5YENKK2.mjs +81 -0
- package/dist/chunk-AC4CQNVO.mjs +40 -0
- package/dist/chunk-AVDTS6BC.js +35 -0
- package/dist/chunk-AVFBFC2Y.mjs +34 -0
- package/dist/chunk-AXSCMFJA.mjs +65 -0
- package/dist/chunk-BLWFNVD4.mjs +49 -0
- package/dist/chunk-BOK43JUV.mjs +46 -0
- package/dist/chunk-BOZOQYHE.mjs +56 -0
- package/dist/chunk-BTWWF4WS.mjs +43 -0
- package/dist/chunk-BXVCRFPC.mjs +24 -0
- package/dist/chunk-C2T6BY7I.mjs +60 -0
- package/dist/chunk-C7TBZUKX.js +68 -0
- package/dist/chunk-CEG4ACGU.mjs +42 -0
- package/dist/chunk-CLB5UAIH.mjs +77 -0
- package/dist/chunk-CP5K6PFM.mjs +151 -0
- package/dist/chunk-CUXUXWPJ.mjs +31 -0
- package/dist/chunk-D5Q2YXEV.js +46 -0
- package/dist/chunk-DAD62RVJ.mjs +93 -0
- package/dist/chunk-DGLBHWY5.js +26 -0
- package/dist/chunk-DSVLYZD6.js +58 -0
- package/dist/chunk-E356OAQV.mjs +64 -0
- package/dist/chunk-E3YSBIZO.mjs +71 -0
- package/dist/chunk-EAL57NF3.mjs +144 -0
- package/dist/chunk-ED3IMCTW.js +34 -0
- package/dist/chunk-EEONTKFJ.mjs +34 -0
- package/dist/chunk-EGL4S7HC.js +54 -0
- package/dist/chunk-EIXKXQP4.mjs +71 -0
- package/dist/chunk-EMZSNQ6R.mjs +24 -0
- package/dist/chunk-EOPDO4N4.js +176 -0
- package/dist/chunk-EVICK26M.js +45 -0
- package/dist/chunk-EXZLTEKV.js +69 -0
- package/dist/chunk-EZ5RJ73X.js +29 -0
- package/dist/chunk-F37CSLXP.mjs +66 -0
- package/dist/chunk-F3OXAV7H.js +35 -0
- package/dist/chunk-F5O57MYX.mjs +45 -0
- package/dist/chunk-FDOOWLI6.js +66 -0
- package/dist/chunk-FDTFLDLV.mjs +56 -0
- package/dist/chunk-FFOPDLQO.js +35 -0
- package/dist/chunk-FH65C6IL.js +37 -0
- package/dist/chunk-FJ4PI23E.js +47 -0
- package/dist/chunk-FKRVCGRB.js +61 -0
- package/dist/chunk-FLA2TZ6X.js +49 -0
- package/dist/chunk-FY7SDS5G.js +47 -0
- package/dist/chunk-G2BHD5WO.mjs +52 -0
- package/dist/chunk-G3UFWCCP.js +68 -0
- package/dist/chunk-G477PYUT.mjs +130 -0
- package/dist/chunk-G6L37KU5.js +26 -0
- package/dist/chunk-GMBOZS5E.mjs +52 -0
- package/dist/chunk-GMOHTLBI.js +36 -0
- package/dist/chunk-GRNAXLTT.mjs +49 -0
- package/dist/chunk-GRPGT73F.mjs +63 -0
- package/dist/chunk-GTD53RXK.mjs +27 -0
- package/dist/chunk-GWTWZQIW.js +40 -0
- package/dist/chunk-GXNLGXX3.mjs +51 -0
- package/dist/chunk-GYJFNTLM.js +306 -0
- package/dist/chunk-H346F6PO.mjs +38 -0
- package/dist/chunk-H3GGYENO.js +95 -0
- package/dist/chunk-HCGED5YZ.mjs +27 -0
- package/dist/chunk-HJH223WM.js +30 -0
- package/dist/chunk-HLLZWBE7.mjs +35 -0
- package/dist/chunk-HMEVM2I5.mjs +43 -0
- package/dist/chunk-HR5AUWRP.js +32 -0
- package/dist/chunk-HT3RQ5AU.mjs +60 -0
- package/dist/chunk-I4LZAK43.js +38 -0
- package/dist/chunk-I6KIFUHB.js +63 -0
- package/dist/chunk-I7GQSDY4.js +90 -0
- package/dist/chunk-ICBGZIPW.mjs +59 -0
- package/dist/chunk-IEFOEUB2.js +61 -0
- package/dist/chunk-IG6434JK.js +62 -0
- package/dist/chunk-IPWOSBVC.mjs +151 -0
- package/dist/chunk-IVTCFXCV.mjs +47 -0
- package/dist/chunk-J7UAIK43.mjs +53 -0
- package/dist/chunk-JIMDDNJ2.js +30 -0
- package/dist/chunk-JR6MM3Z3.mjs +22 -0
- package/dist/chunk-JUQOIEXE.js +60 -0
- package/dist/chunk-JWSVY35S.mjs +27 -0
- package/dist/chunk-JX57BSUB.js +55 -0
- package/dist/chunk-JY5GDML5.mjs +34 -0
- package/dist/chunk-KA5RRDVK.js +49 -0
- package/dist/chunk-KCW7LBGT.mjs +44 -0
- package/dist/chunk-KHSOA2NL.js +89 -0
- package/dist/chunk-KINNDIZF.mjs +66 -0
- package/dist/chunk-KMKG5YJJ.mjs +49 -0
- package/dist/chunk-KN2GXKK3.mjs +53 -0
- package/dist/chunk-KRJBYKHP.mjs +32 -0
- package/dist/chunk-KRJSXUDT.mjs +51 -0
- package/dist/chunk-KSZHQ2MU.mjs +105 -0
- package/dist/chunk-L4MX64BX.js +60 -0
- package/dist/chunk-LFJUCEK3.js +51 -0
- package/dist/chunk-LINDZYEL.mjs +45 -0
- package/dist/chunk-LTEBXYWO.js +52 -0
- package/dist/chunk-LYIALC2M.js +48 -0
- package/dist/chunk-M3JXYOEG.js +42 -0
- package/dist/chunk-M4A252VE.mjs +67 -0
- package/dist/chunk-M7UJVFCF.mjs +62 -0
- package/dist/chunk-MAWBRJ77.mjs +289 -0
- package/dist/chunk-MI64SG7Z.js +46 -0
- package/dist/chunk-MIKZJKYN.js +180 -0
- package/dist/chunk-MJTDRI7E.mjs +163 -0
- package/dist/chunk-MLXOBZYD.mjs +22 -0
- package/dist/chunk-MNUPSMQW.js +38 -0
- package/dist/chunk-MPOFL4Q3.mjs +59 -0
- package/dist/chunk-MPUBUXLC.mjs +66 -0
- package/dist/chunk-MWYPNGXF.mjs +41 -0
- package/dist/chunk-MXMGF2B7.js +37 -0
- package/dist/chunk-NCRAGJOJ.js +43 -0
- package/dist/chunk-NDKQANMC.js +29 -0
- package/dist/chunk-NJALQQ2G.js +29 -0
- package/dist/chunk-NJQSGZ6I.mjs +30 -0
- package/dist/chunk-NMD75PJP.mjs +65 -0
- package/dist/chunk-NMOY5GCF.mjs +10 -0
- package/dist/chunk-NNQVNQ2L.mjs +39 -0
- package/dist/chunk-NYDJ5D2Q.mjs +33 -0
- package/dist/chunk-NZHKOZ3V.mjs +53 -0
- package/dist/chunk-NZYFYMEI.js +41 -0
- package/dist/chunk-NZYWMBSF.mjs +31 -0
- package/dist/chunk-O6TFTJXC.js +58 -0
- package/dist/chunk-OBSPBESX.js +47 -0
- package/dist/chunk-OEK5ZGR5.js +67 -0
- package/dist/chunk-OIDVS7AD.mjs +44 -0
- package/dist/chunk-OLVQ4JPW.mjs +56 -0
- package/dist/chunk-OO2ATZME.js +35 -0
- package/dist/chunk-OTQH54J2.js +16 -0
- package/dist/chunk-PGGXHHGF.js +33 -0
- package/dist/chunk-PHUCD3CA.js +154 -0
- package/dist/chunk-PJVRZ2WF.mjs +52 -0
- package/dist/chunk-PKJLQETL.mjs +45 -0
- package/dist/chunk-PKTQ5IW4.mjs +53 -0
- package/dist/chunk-PLXUVGFH.js +51 -0
- package/dist/chunk-PUIMT6LA.js +61 -0
- package/dist/chunk-PY73F2PU.js +87 -0
- package/dist/chunk-PZ74YMNX.mjs +195 -0
- package/dist/chunk-QB3NCIKX.mjs +49 -0
- package/dist/chunk-QB6DULGJ.mjs +87 -0
- package/dist/chunk-QBWAYMNF.js +83 -0
- package/dist/chunk-QK34YPBW.js +62 -0
- package/dist/chunk-QKNN4NFB.js +53 -0
- package/dist/chunk-QPMDRUT5.js +64 -0
- package/dist/chunk-QS7STLO6.mjs +28 -0
- package/dist/chunk-QVHRKBUX.js +25 -0
- package/dist/chunk-QVXYFWAK.mjs +28 -0
- package/dist/chunk-R2GMLFIF.mjs +47 -0
- package/dist/chunk-RA2MLGEJ.js +73 -0
- package/dist/chunk-RTNLAWLH.js +132 -0
- package/dist/chunk-S2BZVU6K.js +68 -0
- package/dist/chunk-S3UXI6IT.mjs +41 -0
- package/dist/chunk-SM6JCLRB.js +42 -0
- package/dist/chunk-SME4RA6M.mjs +40 -0
- package/dist/chunk-SMTZC7EF.js +51 -0
- package/dist/chunk-SNC2HKHH.mjs +84 -0
- package/dist/chunk-SSJEEEPY.mjs +36 -0
- package/dist/chunk-STVVNFWC.mjs +72 -0
- package/dist/chunk-SUUE35T6.js +46 -0
- package/dist/chunk-SXLZFEDW.js +67 -0
- package/dist/chunk-SXPXKKOL.js +50 -0
- package/dist/chunk-TCFPMW2Z.mjs +59 -0
- package/dist/chunk-TDTCE5Q3.js +43 -0
- package/dist/chunk-TGFW4XMR.js +46 -0
- package/dist/chunk-TJTAGBNB.js +38 -0
- package/dist/chunk-TKLH23KJ.mjs +39 -0
- package/dist/chunk-TMREX4H4.js +79 -0
- package/dist/chunk-TQSY7V5R.mjs +49 -0
- package/dist/chunk-TXSFO7X3.js +24 -0
- package/dist/chunk-TYVH6JRL.mjs +31 -0
- package/dist/chunk-TZ7ESGYF.mjs +54 -0
- package/dist/chunk-U5CVYUNX.mjs +161 -0
- package/dist/chunk-U7YBSC3K.mjs +69 -0
- package/dist/chunk-UD24VEKG.mjs +58 -0
- package/dist/chunk-UM45HS3W.mjs +123 -0
- package/dist/chunk-UNWPNNV3.mjs +35 -0
- package/dist/chunk-UQKQKCKJ.mjs +40 -0
- package/dist/chunk-UWVPN2DV.mjs +46 -0
- package/dist/chunk-UY4JR4E6.mjs +89 -0
- package/dist/chunk-V5CF24WK.js +71 -0
- package/dist/chunk-V5WYVDZ3.mjs +33 -0
- package/dist/chunk-VCFZ2UO2.mjs +88 -0
- package/dist/chunk-VGIGF3NX.js +47 -0
- package/dist/chunk-VN2MR575.js +36 -0
- package/dist/chunk-VNWK6NGD.mjs +67 -0
- package/dist/chunk-VYHIOXTC.js +60 -0
- package/dist/chunk-VYJBW33Y.mjs +50 -0
- package/dist/chunk-VZVJP2D2.js +79 -0
- package/dist/chunk-WFRKPQYI.mjs +44 -0
- package/dist/chunk-WTXBO674.mjs +61 -0
- package/dist/chunk-WVY6XF7N.js +69 -0
- package/dist/chunk-X4AGXWWC.js +86 -0
- package/dist/chunk-X6KPUJDR.mjs +35 -0
- package/dist/chunk-XG2KGZCA.js +78 -0
- package/dist/chunk-XIHRU6IA.js +26 -0
- package/dist/chunk-XNTTUQTO.mjs +47 -0
- package/dist/chunk-Y323UWER.mjs +30 -0
- package/dist/chunk-Y5CFBZ4B.mjs +53 -0
- package/dist/chunk-Y7ILIK5Z.mjs +34 -0
- package/dist/chunk-YFN2XO35.mjs +45 -0
- package/dist/chunk-YJ4BPTTA.js +40 -0
- package/dist/chunk-YJCRJUPA.js +74 -0
- package/dist/chunk-YNBFG4YQ.js +65 -0
- package/dist/chunk-YTQWGPLN.js +85 -0
- package/dist/chunk-YYCFNUYP.mjs +61 -0
- package/dist/chunk-YZCTNLIJ.js +85 -0
- package/dist/chunk-Z45E2AA2.js +42 -0
- package/dist/chunk-Z7DLEI5B.mjs +78 -0
- package/dist/chunk-Z7RCDF5B.mjs +38 -0
- package/dist/chunk-ZI4K742H.js +153 -0
- package/dist/chunk-ZINAZ6HO.mjs +36 -0
- package/dist/chunk-ZQ6EHJAO.mjs +44 -0
- package/dist/chunk-ZXMINLAY.js +33 -0
- package/dist/dynamo/core.js +43 -0
- package/dist/dynamo/core.mjs +2 -0
- package/dist/dynamo/token.js +30 -0
- package/dist/dynamo/token.mjs +28 -0
- package/dist/dynamo/user.js +16 -0
- package/dist/dynamo/user.mjs +7 -0
- package/dist/dynamo/vendor-credential.js +13 -0
- package/dist/dynamo/vendor-credential.mjs +4 -0
- package/dist/dynamo/vendor-settings.js +17 -0
- package/dist/dynamo/vendor-settings.mjs +4 -0
- package/dist/dynamo/vendor.js +14 -0
- package/dist/dynamo/vendor.mjs +5 -0
- package/dist/index.js +190 -0
- package/dist/index.mjs +5 -0
- package/dist/models/active-code/index.js +13 -0
- package/dist/models/active-code/index.mjs +4 -0
- package/dist/models/activity/index.js +13 -0
- package/dist/models/activity/index.mjs +4 -0
- package/dist/models/affiliate/index.js +13 -0
- package/dist/models/affiliate/index.mjs +4 -0
- package/dist/models/anonymous-active-code/index.js +13 -0
- package/dist/models/anonymous-active-code/index.mjs +4 -0
- package/dist/models/anonymous-bill/index.js +19 -0
- package/dist/models/anonymous-bill/index.mjs +6 -0
- package/dist/models/attendance/index.js +13 -0
- package/dist/models/attendance/index.mjs +4 -0
- package/dist/models/author/index.js +19 -0
- package/dist/models/author/index.mjs +10 -0
- package/dist/models/bill/index.js +15 -0
- package/dist/models/bill/index.mjs +6 -0
- package/dist/models/bill-auto-history/index.js +13 -0
- package/dist/models/bill-auto-history/index.mjs +4 -0
- package/dist/models/bill-statistic/index.js +13 -0
- package/dist/models/bill-statistic/index.mjs +4 -0
- package/dist/models/blog/index.js +13 -0
- package/dist/models/blog/index.mjs +4 -0
- package/dist/models/book/index.js +13 -0
- package/dist/models/book/index.mjs +4 -0
- package/dist/models/book-membership/index.js +13 -0
- package/dist/models/book-membership/index.mjs +4 -0
- package/dist/models/capability-report/index.js +13 -0
- package/dist/models/capability-report/index.mjs +4 -0
- package/dist/models/cart/index.js +13 -0
- package/dist/models/cart/index.mjs +4 -0
- package/dist/models/cart-link/index.js +13 -0
- package/dist/models/cart-link/index.mjs +4 -0
- package/dist/models/certification/index.js +13 -0
- package/dist/models/certification/index.mjs +4 -0
- package/dist/models/class/index.js +13 -0
- package/dist/models/class/index.mjs +4 -0
- package/dist/models/combo/index.js +13 -0
- package/dist/models/combo/index.mjs +4 -0
- package/dist/models/comment/index.js +13 -0
- package/dist/models/comment/index.mjs +4 -0
- package/dist/models/commission/index.js +13 -0
- package/dist/models/commission/index.mjs +4 -0
- package/dist/models/contact/index.js +13 -0
- package/dist/models/contact/index.mjs +4 -0
- package/dist/models/coupon/index.js +13 -0
- package/dist/models/coupon/index.mjs +4 -0
- package/dist/models/course-membership/index.js +13 -0
- package/dist/models/course-membership/index.mjs +4 -0
- package/dist/models/custom-page/index.js +13 -0
- package/dist/models/custom-page/index.mjs +4 -0
- package/dist/models/delivery-bill/index.js +13 -0
- package/dist/models/delivery-bill/index.mjs +4 -0
- package/dist/models/delivery-bill-history/index.js +13 -0
- package/dist/models/delivery-bill-history/index.mjs +4 -0
- package/dist/models/department/index.js +13 -0
- package/dist/models/department/index.mjs +4 -0
- package/dist/models/device/index.js +13 -0
- package/dist/models/device/index.mjs +4 -0
- package/dist/models/domain/index.js +14 -0
- package/dist/models/domain/index.mjs +5 -0
- package/dist/models/email/index.js +13 -0
- package/dist/models/email/index.mjs +4 -0
- package/dist/models/evaluation-collection/index.js +13 -0
- package/dist/models/evaluation-collection/index.mjs +4 -0
- package/dist/models/evaluation-form/index.js +14 -0
- package/dist/models/evaluation-form/index.mjs +5 -0
- package/dist/models/evaluation-template/index.js +13 -0
- package/dist/models/evaluation-template/index.mjs +4 -0
- package/dist/models/event/index.js +13 -0
- package/dist/models/event/index.mjs +4 -0
- package/dist/models/exam/index.js +13 -0
- package/dist/models/exam/index.mjs +4 -0
- package/dist/models/exam-knowledge/index.js +13 -0
- package/dist/models/exam-knowledge/index.mjs +4 -0
- package/dist/models/favorite/index.js +13 -0
- package/dist/models/favorite/index.mjs +4 -0
- package/dist/models/flashcard-item/index.js +13 -0
- package/dist/models/flashcard-item/index.mjs +4 -0
- package/dist/models/flashcard-lesson-item/index.js +13 -0
- package/dist/models/flashcard-lesson-item/index.mjs +4 -0
- package/dist/models/flashcard-list/index.js +13 -0
- package/dist/models/flashcard-list/index.mjs +4 -0
- package/dist/models/flashcard-statistics/index.js +13 -0
- package/dist/models/flashcard-statistics/index.mjs +4 -0
- package/dist/models/flashcard-submission/index.js +13 -0
- package/dist/models/flashcard-submission/index.mjs +4 -0
- package/dist/models/goal/index.js +13 -0
- package/dist/models/goal/index.mjs +4 -0
- package/dist/models/group/index.js +13 -0
- package/dist/models/group/index.mjs +4 -0
- package/dist/models/homework/index.js +13 -0
- package/dist/models/homework/index.mjs +4 -0
- package/dist/models/index.js +618 -0
- package/dist/models/index.mjs +133 -0
- package/dist/models/interest/index.js +20 -0
- package/dist/models/interest/index.mjs +11 -0
- package/dist/models/keyword/index.js +13 -0
- package/dist/models/keyword/index.mjs +4 -0
- package/dist/models/learning-path/index.js +13 -0
- package/dist/models/learning-path/index.mjs +4 -0
- package/dist/models/log/index.js +13 -0
- package/dist/models/log/index.mjs +4 -0
- package/dist/models/membership/index.js +13 -0
- package/dist/models/membership/index.mjs +4 -0
- package/dist/models/membership-permission/index.js +13 -0
- package/dist/models/membership-permission/index.mjs +4 -0
- package/dist/models/mistake-bank/index.js +13 -0
- package/dist/models/mistake-bank/index.mjs +4 -0
- package/dist/models/mistake-statistic/index.js +13 -0
- package/dist/models/mistake-statistic/index.mjs +4 -0
- package/dist/models/notify/index.js +18 -0
- package/dist/models/notify/index.mjs +9 -0
- package/dist/models/offline-class-attendance/index.js +13 -0
- package/dist/models/offline-class-attendance/index.mjs +4 -0
- package/dist/models/offline-class-mark/index.js +13 -0
- package/dist/models/offline-class-mark/index.mjs +4 -0
- package/dist/models/offline-class-mark-student/index.js +13 -0
- package/dist/models/offline-class-mark-student/index.mjs +4 -0
- package/dist/models/offline-class-session/index.js +13 -0
- package/dist/models/offline-class-session/index.mjs +4 -0
- package/dist/models/offline-class-student/index.js +13 -0
- package/dist/models/offline-class-student/index.mjs +4 -0
- package/dist/models/offline-course/index.js +13 -0
- package/dist/models/offline-course/index.mjs +4 -0
- package/dist/models/online-course/index.js +13 -0
- package/dist/models/online-course/index.mjs +4 -0
- package/dist/models/order/index.js +13 -0
- package/dist/models/order/index.mjs +4 -0
- package/dist/models/problem-report/index.js +13 -0
- package/dist/models/problem-report/index.mjs +4 -0
- package/dist/models/product/index.js +13 -0
- package/dist/models/product/index.mjs +4 -0
- package/dist/models/product-category/index.js +13 -0
- package/dist/models/product-category/index.mjs +4 -0
- package/dist/models/product-combo/index.js +13 -0
- package/dist/models/product-combo/index.mjs +4 -0
- package/dist/models/product-coupon/index.js +13 -0
- package/dist/models/product-coupon/index.mjs +4 -0
- package/dist/models/product-variant/index.js +13 -0
- package/dist/models/product-variant/index.mjs +4 -0
- package/dist/models/progress/index.js +13 -0
- package/dist/models/progress/index.mjs +4 -0
- package/dist/models/question/index.js +13 -0
- package/dist/models/question/index.mjs +4 -0
- package/dist/models/question-generate/index.js +13 -0
- package/dist/models/question-generate/index.mjs +4 -0
- package/dist/models/rating/index.js +13 -0
- package/dist/models/rating/index.mjs +4 -0
- package/dist/models/reaction/index.js +13 -0
- package/dist/models/reaction/index.mjs +4 -0
- package/dist/models/relation-course/index.js +13 -0
- package/dist/models/relation-course/index.mjs +4 -0
- package/dist/models/reminder/index.js +13 -0
- package/dist/models/reminder/index.mjs +4 -0
- package/dist/models/resource/index.js +13 -0
- package/dist/models/resource/index.mjs +4 -0
- package/dist/models/resource-job/index.js +13 -0
- package/dist/models/resource-job/index.mjs +4 -0
- package/dist/models/resource-statistic/index.js +13 -0
- package/dist/models/resource-statistic/index.mjs +4 -0
- package/dist/models/root-system-vendor/index.js +13 -0
- package/dist/models/root-system-vendor/index.mjs +4 -0
- package/dist/models/section/index.js +13 -0
- package/dist/models/section/index.mjs +4 -0
- package/dist/models/slot/index.js +13 -0
- package/dist/models/slot/index.mjs +4 -0
- package/dist/models/soleExam-package/index.js +13 -0
- package/dist/models/soleExam-package/index.mjs +4 -0
- package/dist/models/soleExam-question-generate/index.js +13 -0
- package/dist/models/soleExam-question-generate/index.mjs +4 -0
- package/dist/models/soleExam-submission/index.js +13 -0
- package/dist/models/soleExam-submission/index.mjs +4 -0
- package/dist/models/soleExam-submission-statistic/index.js +14 -0
- package/dist/models/soleExam-submission-statistic/index.mjs +5 -0
- package/dist/models/soleExam-unit/index.js +13 -0
- package/dist/models/soleExam-unit/index.mjs +4 -0
- package/dist/models/streak/index.js +13 -0
- package/dist/models/streak/index.mjs +4 -0
- package/dist/models/student/index.js +19 -0
- package/dist/models/student/index.mjs +10 -0
- package/dist/models/student-log/index.js +13 -0
- package/dist/models/student-log/index.mjs +4 -0
- package/dist/models/submission/index.js +13 -0
- package/dist/models/submission/index.mjs +4 -0
- package/dist/models/submission-statistic/index.js +14 -0
- package/dist/models/submission-statistic/index.mjs +5 -0
- package/dist/models/survey/index.js +13 -0
- package/dist/models/survey/index.mjs +4 -0
- package/dist/models/survey-question/index.js +13 -0
- package/dist/models/survey-question/index.mjs +4 -0
- package/dist/models/survey-result/index.js +13 -0
- package/dist/models/survey-result/index.mjs +4 -0
- package/dist/models/survey-result-statistic/index.js +13 -0
- package/dist/models/survey-result-statistic/index.mjs +4 -0
- package/dist/models/system-cross-vendor-job/index.js +13 -0
- package/dist/models/system-cross-vendor-job/index.mjs +4 -0
- package/dist/models/system-private/index.js +13 -0
- package/dist/models/system-private/index.mjs +4 -0
- package/dist/models/teacher-student-relation/index.js +13 -0
- package/dist/models/teacher-student-relation/index.mjs +4 -0
- package/dist/models/template/index.js +13 -0
- package/dist/models/template/index.mjs +4 -0
- package/dist/models/template-email/index.js +13 -0
- package/dist/models/template-email/index.mjs +4 -0
- package/dist/models/topic/index.js +13 -0
- package/dist/models/topic/index.mjs +4 -0
- package/dist/models/unit/index.js +13 -0
- package/dist/models/unit/index.mjs +4 -0
- package/dist/models/user-affiliate/index.js +13 -0
- package/dist/models/user-affiliate/index.mjs +4 -0
- package/dist/models/user-book/index.js +13 -0
- package/dist/models/user-book/index.mjs +4 -0
- package/dist/models/user-cart-link/index.js +13 -0
- package/dist/models/user-cart-link/index.mjs +4 -0
- package/dist/models/user-certification/index.js +13 -0
- package/dist/models/user-certification/index.mjs +4 -0
- package/dist/models/user-course/index.js +13 -0
- package/dist/models/user-course/index.mjs +4 -0
- package/dist/models/user-group/index.js +13 -0
- package/dist/models/user-group/index.mjs +4 -0
- package/dist/models/user-live-class/index.js +13 -0
- package/dist/models/user-live-class/index.mjs +4 -0
- package/dist/models/user-membership/index.js +13 -0
- package/dist/models/user-membership/index.mjs +4 -0
- package/dist/models/user-path/index.js +13 -0
- package/dist/models/user-path/index.mjs +4 -0
- package/dist/models/user-permission/index.js +13 -0
- package/dist/models/user-permission/index.mjs +4 -0
- package/dist/models/user-soleExam/index.js +13 -0
- package/dist/models/user-soleExam/index.mjs +4 -0
- package/dist/models/user-token-thirdparty/index.js +13 -0
- package/dist/models/user-token-thirdparty/index.mjs +4 -0
- package/dist/models/user-unit/index.js +13 -0
- package/dist/models/user-unit/index.mjs +4 -0
- package/dist/models/user-video/index.js +13 -0
- package/dist/models/user-video/index.mjs +4 -0
- package/dist/models/view-data/index.js +13 -0
- package/dist/models/view-data/index.mjs +4 -0
- package/dist/models/zoom/index.js +13 -0
- package/dist/models/zoom/index.mjs +4 -0
- package/dist/services/affiliate.js +68 -0
- package/dist/services/affiliate.mjs +62 -0
- package/dist/services/combo.js +18 -0
- package/dist/services/combo.mjs +15 -0
- package/dist/services/email-ses-external.js +15 -0
- package/dist/services/email-ses-external.mjs +2 -0
- package/dist/services/email-ses.js +300 -0
- package/dist/services/email-ses.mjs +268 -0
- package/dist/services/email-templates.js +15 -0
- package/dist/services/email-templates.mjs +2 -0
- package/dist/services/keyword.js +103 -0
- package/dist/services/keyword.mjs +94 -0
- package/dist/services/notify.js +33 -0
- package/dist/services/notify.mjs +8 -0
- package/dist/services/submission.js +47 -0
- package/dist/services/submission.mjs +42 -0
- package/dist/services/token.js +92 -0
- package/dist/services/token.mjs +81 -0
- package/dist/services/user.js +47 -0
- package/dist/services/user.mjs +6 -0
- package/dist/types/common/constants.d.ts +267 -0
- package/dist/types/common/error.d.ts +116 -0
- package/dist/types/common/random.d.ts +5 -0
- package/dist/types/common/unidecode-data.d.ts +1 -0
- package/dist/types/common/unidecode.d.ts +5 -0
- package/dist/types/common/utility.d.ts +30 -0
- package/dist/types/core/bill-methods.d.ts +16 -0
- package/dist/types/core/dynamo-expressions.d.ts +11 -0
- package/dist/types/core/dynamo-model.d.ts +57 -0
- package/dist/types/core/mongo-model.d.ts +107 -0
- package/dist/types/core/query.d.ts +11 -0
- package/dist/types/db/dynamo.d.ts +9 -0
- package/dist/types/db/mongo.d.ts +22 -0
- package/dist/types/dynamo/core.d.ts +4 -0
- package/dist/types/dynamo/tables.d.ts +6 -0
- package/dist/types/dynamo/token.d.ts +26 -0
- package/dist/types/dynamo/user.d.ts +40 -0
- package/dist/types/dynamo/vendor-credential.d.ts +20 -0
- package/dist/types/dynamo/vendor-settings.d.ts +79 -0
- package/dist/types/dynamo/vendor.d.ts +35 -0
- package/dist/types/index.d.ts +14 -0
- package/dist/types/models/active-code/index.d.ts +28 -0
- package/dist/types/models/active-code/schema.d.ts +244 -0
- package/dist/types/models/activity/index.d.ts +12 -0
- package/dist/types/models/activity/schema.d.ts +116 -0
- package/dist/types/models/affiliate/index.d.ts +13 -0
- package/dist/types/models/affiliate/schema.d.ts +124 -0
- package/dist/types/models/anonymous-active-code/index.d.ts +26 -0
- package/dist/types/models/anonymous-active-code/schema.d.ts +228 -0
- package/dist/types/models/anonymous-bill/index.d.ts +7 -0
- package/dist/types/models/anonymous-bill/schema.d.ts +620 -0
- package/dist/types/models/attendance/index.d.ts +19 -0
- package/dist/types/models/attendance/schema.d.ts +175 -0
- package/dist/types/models/author/index.d.ts +236 -0
- package/dist/types/models/author/schema.d.ts +191 -0
- package/dist/types/models/bill/index.d.ts +5 -0
- package/dist/types/models/bill/schema.d.ts +556 -0
- package/dist/types/models/bill-auto-history/index.d.ts +33 -0
- package/dist/types/models/bill-auto-history/schema.d.ts +284 -0
- package/dist/types/models/bill-statistic/helper.d.ts +2 -0
- package/dist/types/models/bill-statistic/index.d.ts +203 -0
- package/dist/types/models/bill-statistic/schema.d.ts +164 -0
- package/dist/types/models/blog/index.d.ts +14 -0
- package/dist/types/models/blog/schema.d.ts +132 -0
- package/dist/types/models/book/index.d.ts +28 -0
- package/dist/types/models/book/schema.d.ts +247 -0
- package/dist/types/models/book-membership/index.d.ts +8 -0
- package/dist/types/models/book-membership/schema.d.ts +84 -0
- package/dist/types/models/capability-report/index.d.ts +10 -0
- package/dist/types/models/capability-report/schema.d.ts +100 -0
- package/dist/types/models/cart/index.d.ts +10 -0
- package/dist/types/models/cart/schema.d.ts +103 -0
- package/dist/types/models/cart-link/index.d.ts +44 -0
- package/dist/types/models/cart-link/schema.d.ts +375 -0
- package/dist/types/models/certification/index.d.ts +19 -0
- package/dist/types/models/certification/schema.d.ts +175 -0
- package/dist/types/models/class/index.d.ts +24 -0
- package/dist/types/models/class/schema.d.ts +215 -0
- package/dist/types/models/combo/index.d.ts +23 -0
- package/dist/types/models/combo/schema.d.ts +204 -0
- package/dist/types/models/comment/index.d.ts +25 -0
- package/dist/types/models/comment/schema.d.ts +220 -0
- package/dist/types/models/commission/index.d.ts +17 -0
- package/dist/types/models/commission/schema.d.ts +163 -0
- package/dist/types/models/contact/index.d.ts +14 -0
- package/dist/types/models/contact/schema.d.ts +139 -0
- package/dist/types/models/coupon/index.d.ts +36 -0
- package/dist/types/models/coupon/schema.d.ts +308 -0
- package/dist/types/models/course-membership/index.d.ts +8 -0
- package/dist/types/models/course-membership/schema.d.ts +84 -0
- package/dist/types/models/custom-page/index.d.ts +9 -0
- package/dist/types/models/custom-page/schema.d.ts +92 -0
- package/dist/types/models/delivery-bill/index.d.ts +31 -0
- package/dist/types/models/delivery-bill/schema.d.ts +268 -0
- package/dist/types/models/delivery-bill-history/index.d.ts +9 -0
- package/dist/types/models/delivery-bill-history/schema.d.ts +92 -0
- package/dist/types/models/department/index.d.ts +13 -0
- package/dist/types/models/department/schema.d.ts +124 -0
- package/dist/types/models/device/index.d.ts +12 -0
- package/dist/types/models/device/schema.d.ts +119 -0
- package/dist/types/models/domain/index.d.ts +125 -0
- package/dist/types/models/domain/schema.d.ts +119 -0
- package/dist/types/models/domain/services.d.ts +13 -0
- package/dist/types/models/email/index.d.ts +16 -0
- package/dist/types/models/email/schema.d.ts +151 -0
- package/dist/types/models/evaluation-collection/index.d.ts +37 -0
- package/dist/types/models/evaluation-collection/schema.d.ts +319 -0
- package/dist/types/models/evaluation-form/index.d.ts +140 -0
- package/dist/types/models/evaluation-form/schema.d.ts +127 -0
- package/dist/types/models/evaluation-template/index.d.ts +31 -0
- package/dist/types/models/evaluation-template/schema.d.ts +271 -0
- package/dist/types/models/event/index.d.ts +31 -0
- package/dist/types/models/event/schema.d.ts +268 -0
- package/dist/types/models/exam/index.d.ts +31 -0
- package/dist/types/models/exam/schema.d.ts +271 -0
- package/dist/types/models/exam-knowledge/index.d.ts +17 -0
- package/dist/types/models/exam-knowledge/schema.d.ts +159 -0
- package/dist/types/models/favorite/index.d.ts +10 -0
- package/dist/types/models/favorite/schema.d.ts +100 -0
- package/dist/types/models/flashcard-item/index.d.ts +24 -0
- package/dist/types/models/flashcard-item/schema.d.ts +212 -0
- package/dist/types/models/flashcard-lesson-item/index.d.ts +17 -0
- package/dist/types/models/flashcard-lesson-item/schema.d.ts +156 -0
- package/dist/types/models/flashcard-list/index.d.ts +14 -0
- package/dist/types/models/flashcard-list/schema.d.ts +132 -0
- package/dist/types/models/flashcard-statistics/index.d.ts +9 -0
- package/dist/types/models/flashcard-statistics/schema.d.ts +92 -0
- package/dist/types/models/flashcard-submission/index.d.ts +17 -0
- package/dist/types/models/flashcard-submission/schema.d.ts +156 -0
- package/dist/types/models/goal/index.d.ts +9 -0
- package/dist/types/models/goal/schema.d.ts +92 -0
- package/dist/types/models/group/index.d.ts +18 -0
- package/dist/types/models/group/schema.d.ts +167 -0
- package/dist/types/models/homework/index.d.ts +28 -0
- package/dist/types/models/homework/schema.d.ts +247 -0
- package/dist/types/models/index.d.ts +119 -0
- package/dist/types/models/interest/index.d.ts +200 -0
- package/dist/types/models/interest/schema.d.ts +164 -0
- package/dist/types/models/keyword/index.d.ts +248 -0
- package/dist/types/models/keyword/schema.d.ts +199 -0
- package/dist/types/models/learning-path/index.d.ts +44 -0
- package/dist/types/models/learning-path/schema.d.ts +372 -0
- package/dist/types/models/log/index.d.ts +22 -0
- package/dist/types/models/log/schema.d.ts +196 -0
- package/dist/types/models/membership/index.d.ts +33 -0
- package/dist/types/models/membership/schema.d.ts +284 -0
- package/dist/types/models/membership-permission/index.d.ts +15 -0
- package/dist/types/models/membership-permission/schema.d.ts +140 -0
- package/dist/types/models/mistake-bank/index.d.ts +171 -0
- package/dist/types/models/mistake-bank/schema.d.ts +1396 -0
- package/dist/types/models/mistake-statistic/index.d.ts +11 -0
- package/dist/types/models/mistake-statistic/schema.d.ts +108 -0
- package/dist/types/models/notify/index.d.ts +216 -0
- package/dist/types/models/notify/schema.d.ts +167 -0
- package/dist/types/models/notify/services.d.ts +3 -0
- package/dist/types/models/offline-class-attendance/index.d.ts +11 -0
- package/dist/types/models/offline-class-attendance/schema.d.ts +108 -0
- package/dist/types/models/offline-class-mark/index.d.ts +18 -0
- package/dist/types/models/offline-class-mark/schema.d.ts +164 -0
- package/dist/types/models/offline-class-mark-student/index.d.ts +12 -0
- package/dist/types/models/offline-class-mark-student/schema.d.ts +116 -0
- package/dist/types/models/offline-class-session/index.d.ts +14 -0
- package/dist/types/models/offline-class-session/schema.d.ts +132 -0
- package/dist/types/models/offline-class-student/index.d.ts +11 -0
- package/dist/types/models/offline-class-student/schema.d.ts +108 -0
- package/dist/types/models/offline-course/index.d.ts +27 -0
- package/dist/types/models/offline-course/schema.d.ts +239 -0
- package/dist/types/models/online-course/index.d.ts +44 -0
- package/dist/types/models/online-course/schema.d.ts +375 -0
- package/dist/types/models/order/index.d.ts +223 -0
- package/dist/types/models/order/schema.d.ts +180 -0
- package/dist/types/models/problem-report/index.d.ts +18 -0
- package/dist/types/models/problem-report/schema.d.ts +164 -0
- package/dist/types/models/product/index.d.ts +21 -0
- package/dist/types/models/product/schema.d.ts +188 -0
- package/dist/types/models/product-category/index.d.ts +15 -0
- package/dist/types/models/product-category/schema.d.ts +140 -0
- package/dist/types/models/product-combo/index.d.ts +18 -0
- package/dist/types/models/product-combo/schema.d.ts +164 -0
- package/dist/types/models/product-coupon/index.d.ts +22 -0
- package/dist/types/models/product-coupon/schema.d.ts +196 -0
- package/dist/types/models/product-variant/index.d.ts +16 -0
- package/dist/types/models/product-variant/schema.d.ts +148 -0
- package/dist/types/models/progress/index.d.ts +11 -0
- package/dist/types/models/progress/schema.d.ts +111 -0
- package/dist/types/models/question/index.d.ts +31 -0
- package/dist/types/models/question/schema.d.ts +271 -0
- package/dist/types/models/question-generate/index.d.ts +28 -0
- package/dist/types/models/question-generate/schema.d.ts +247 -0
- package/dist/types/models/rating/index.d.ts +16 -0
- package/dist/types/models/rating/schema.d.ts +151 -0
- package/dist/types/models/reaction/index.d.ts +16 -0
- package/dist/types/models/reaction/schema.d.ts +151 -0
- package/dist/types/models/relation-course/index.d.ts +12 -0
- package/dist/types/models/relation-course/schema.d.ts +116 -0
- package/dist/types/models/reminder/index.d.ts +25 -0
- package/dist/types/models/reminder/schema.d.ts +220 -0
- package/dist/types/models/resource/index.d.ts +272 -0
- package/dist/types/models/resource/schema.d.ts +219 -0
- package/dist/types/models/resource-job/index.d.ts +10 -0
- package/dist/types/models/resource-job/schema.d.ts +107 -0
- package/dist/types/models/resource-statistic/index.d.ts +11 -0
- package/dist/types/models/resource-statistic/schema.d.ts +115 -0
- package/dist/types/models/root-system-vendor/index.d.ts +13 -0
- package/dist/types/models/root-system-vendor/schema.d.ts +124 -0
- package/dist/types/models/section/index.d.ts +15 -0
- package/dist/types/models/section/schema.d.ts +143 -0
- package/dist/types/models/slot/index.d.ts +18 -0
- package/dist/types/models/slot/schema.d.ts +167 -0
- package/dist/types/models/soleExam-package/index.d.ts +23 -0
- package/dist/types/models/soleExam-package/schema.d.ts +204 -0
- package/dist/types/models/soleExam-question-generate/index.d.ts +23 -0
- package/dist/types/models/soleExam-question-generate/schema.d.ts +204 -0
- package/dist/types/models/soleExam-submission/index.d.ts +21 -0
- package/dist/types/models/soleExam-submission/schema.d.ts +188 -0
- package/dist/types/models/soleExam-submission-statistic/index.d.ts +151 -0
- package/dist/types/models/soleExam-submission-statistic/schema.d.ts +124 -0
- package/dist/types/models/soleExam-unit/index.d.ts +19 -0
- package/dist/types/models/soleExam-unit/schema.d.ts +176 -0
- package/dist/types/models/streak/index.d.ts +10 -0
- package/dist/types/models/streak/schema.d.ts +100 -0
- package/dist/types/models/student/index.d.ts +370 -0
- package/dist/types/models/student/schema.d.ts +255 -0
- package/dist/types/models/student/service.d.ts +9 -0
- package/dist/types/models/student-log/index.d.ts +22 -0
- package/dist/types/models/student-log/schema.d.ts +196 -0
- package/dist/types/models/submission/index.d.ts +38 -0
- package/dist/types/models/submission/schema.d.ts +327 -0
- package/dist/types/models/submission-statistic/helper.d.ts +22 -0
- package/dist/types/models/submission-statistic/index.d.ts +163 -0
- package/dist/types/models/submission-statistic/schema.d.ts +135 -0
- package/dist/types/models/survey/index.d.ts +13 -0
- package/dist/types/models/survey/schema.d.ts +124 -0
- package/dist/types/models/survey-question/index.d.ts +11 -0
- package/dist/types/models/survey-question/schema.d.ts +108 -0
- package/dist/types/models/survey-result/index.d.ts +10 -0
- package/dist/types/models/survey-result/schema.d.ts +100 -0
- package/dist/types/models/survey-result-statistic/index.d.ts +11 -0
- package/dist/types/models/survey-result-statistic/schema.d.ts +108 -0
- package/dist/types/models/system-cross-vendor-job/index.d.ts +25 -0
- package/dist/types/models/system-cross-vendor-job/schema.d.ts +220 -0
- package/dist/types/models/system-private/index.d.ts +7 -0
- package/dist/types/models/system-private/schema.d.ts +79 -0
- package/dist/types/models/teacher-student-relation/index.d.ts +9 -0
- package/dist/types/models/teacher-student-relation/schema.d.ts +95 -0
- package/dist/types/models/template/index.d.ts +12 -0
- package/dist/types/models/template/schema.d.ts +119 -0
- package/dist/types/models/template-email/index.d.ts +10 -0
- package/dist/types/models/template-email/schema.d.ts +100 -0
- package/dist/types/models/topic/index.d.ts +18 -0
- package/dist/types/models/topic/schema.d.ts +167 -0
- package/dist/types/models/unit/index.d.ts +36 -0
- package/dist/types/models/unit/schema.d.ts +315 -0
- package/dist/types/models/user-affiliate/index.d.ts +9 -0
- package/dist/types/models/user-affiliate/schema.d.ts +95 -0
- package/dist/types/models/user-book/index.d.ts +185 -0
- package/dist/types/models/user-book/schema.d.ts +167 -0
- package/dist/types/models/user-cart-link/index.d.ts +14 -0
- package/dist/types/models/user-cart-link/schema.d.ts +135 -0
- package/dist/types/models/user-certification/index.d.ts +20 -0
- package/dist/types/models/user-certification/schema.d.ts +183 -0
- package/dist/types/models/user-course/index.d.ts +207 -0
- package/dist/types/models/user-course/schema.d.ts +183 -0
- package/dist/types/models/user-group/index.d.ts +9 -0
- package/dist/types/models/user-group/schema.d.ts +95 -0
- package/dist/types/models/user-live-class/index.d.ts +11 -0
- package/dist/types/models/user-live-class/schema.d.ts +111 -0
- package/dist/types/models/user-membership/index.d.ts +185 -0
- package/dist/types/models/user-membership/schema.d.ts +167 -0
- package/dist/types/models/user-path/index.d.ts +15 -0
- package/dist/types/models/user-path/schema.d.ts +140 -0
- package/dist/types/models/user-permission/index.d.ts +16 -0
- package/dist/types/models/user-permission/schema.d.ts +148 -0
- package/dist/types/models/user-soleExam/index.d.ts +9 -0
- package/dist/types/models/user-soleExam/schema.d.ts +92 -0
- package/dist/types/models/user-token-thirdparty/index.d.ts +13 -0
- package/dist/types/models/user-token-thirdparty/schema.d.ts +124 -0
- package/dist/types/models/user-unit/index.d.ts +11 -0
- package/dist/types/models/user-unit/schema.d.ts +108 -0
- package/dist/types/models/user-video/index.d.ts +13 -0
- package/dist/types/models/user-video/schema.d.ts +127 -0
- package/dist/types/models/view-data/index.d.ts +11 -0
- package/dist/types/models/view-data/schema.d.ts +108 -0
- package/dist/types/models/zoom/index.d.ts +17 -0
- package/dist/types/models/zoom/schema.d.ts +156 -0
- package/dist/types/services/affiliate.d.ts +19 -0
- package/dist/types/services/combo.d.ts +9 -0
- package/dist/types/services/email-ses-external.d.ts +14 -0
- package/dist/types/services/email-ses.d.ts +67 -0
- package/dist/types/services/email-templates.d.ts +3 -0
- package/dist/types/services/keyword.d.ts +234 -0
- package/dist/types/services/notify.d.ts +45 -0
- package/dist/types/services/submission.d.ts +26 -0
- package/dist/types/services/token.d.ts +29 -0
- package/dist/types/services/user.d.ts +25 -0
- package/package.json +113 -4
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## 0.1.0
|
|
4
|
+
|
|
5
|
+
First pre-release. The package stays on `0.x` until 1.0.0 is declared stable: each fix is a patch release (`0.1.1`, `0.1.2`, …); new features or breaking changes bump the minor (`0.2.0`).
|
|
6
|
+
|
|
7
|
+
TypeScript rewrite of `izteach-core-alternative-model` 2.6.59 as `@iztzelios/core`.
|
|
8
|
+
|
|
9
|
+
### Breaking (packaging / environment)
|
|
10
|
+
- **Per-model imports.** The root entry no longer exports models. Use `@iztzelios/core/models/<name>`, `@iztzelios/core/dynamo/<name>`, `@iztzelios/core/services/<name>` (or the `@iztzelios/core/models` barrel). `scripts/migrate-imports.cjs` rewrites services automatically.
|
|
11
|
+
- **Mongoose 9** is a peer dependency (was Mongoose 5 bundled). Services must use `mongoose@^9`. Node ≥ 20.19.
|
|
12
|
+
- **AWS SDK v3** replaces `aws-sdk` v2 and is an optional peer, provided by the Lambda runtime. The package no longer installs `aws-sdk`, `googleapis`, `lodash`, `axios`, `request`, `moment`, `uuid` or `module-alias`. Services that relied on those transitively must declare them.
|
|
13
|
+
- **No hardcoded credentials.** JWT secrets come from `IZTEACH_JWT_ACCESS_SECRET` / `IZTEACH_JWT_REFRESH_SECRET`, mail credentials from `IZTEACH_EMAIL_CREDENTIALS`. `MONGO` is required (the fallback URI is gone).
|
|
14
|
+
- **Tenant-scoped reads and removes.** `remove({ id, vendorId })` replaces `remove(id)` and throws `AppError` (`1050`) without both, so a document can only be deleted within its vendor. `InterestModel.remove` and `KeywordHelper.onCourseCreate/onCourseUpdate` take `vendorId` too.
|
|
15
|
+
- **Object-style reads.** `fetch({ criteria, populate, selects })`, `findOne({ criteria, populate, selects })`, `fetchOne({ id, vendorId, populate, selects })`, `fetchMany({ ids, vendorId, populate, selects })`; the id-based ones require `vendorId`. The positional forms keep working (`@deprecated`, not tenant-scoped) so services can switch imports first and call sites later.
|
|
16
|
+
- **No hosting-provider integration.** `DomainModel` only manages records: `create` stores the domain (and still adds learn domains to `RootSystem_Vendor`), `remove({ id, vendorId })` is the generic delete. It no longer calls Netlify; `removeManyNetlify`, `activateSSL` and the `NETLIFY_SETTINGS` / `VERCEL_SETTINGS` constants are removed. The service that creates domains registers them with the hosting provider.
|
|
17
|
+
- `AuthorModel.changePassword` is removed: passwords live on the Dynamo user (`UserModel.update`). The legacy method always threw.
|
|
18
|
+
- **Timestamps come from Mongoose.** Every schema sets `timestamps: true` (MistakeBank keeps `updatedAt: 'lastUpdatedAt'`); the hand-declared `createdAt`/`updatedAt` fields and the misspelled `createAt`/`updateAt` fields are removed, and `create`/`createMany`/`update`/`updateMany`/`updateOrCreate` no longer stamp by hand. Effects:
|
|
19
|
+
- Collections whose schema lacked one or both fields (e.g. Activity, Log, Progress, Streak, Order, Cart, Coupon, Book, Submission) now store them.
|
|
20
|
+
- `create` keeps a caller-supplied `createdAt` (legacy overwrote it with now). `createdAt` cannot be changed by an update.
|
|
21
|
+
- Writes through `getModel()` (`updateOne`, `bulkWrite`, …) also bump `updatedAt`.
|
|
22
|
+
- `MongoCoreModel` only stamps if the model passed in has `timestamps`.
|
|
23
|
+
- Values written to the old `createAt`/`updateAt` fields are dropped (strict schemas); existing data in them is still returned on reads. Indexes on these fields are kept (`Schema.index`), except Survey_Result `createdAt` / `updateAt`: those indexes are managed outside this library.
|
|
24
|
+
- `NotifyHelper` returns `{ status, data }` from `fetch` instead of an axios response.
|
|
25
|
+
|
|
26
|
+
### Behaviour kept on purpose
|
|
27
|
+
- `undefined` values in update payloads (`update`, `updateMany`, `updateOrCreate`, `findOneAndUpdate`, `create` with `dynamoId`) are still written as `null`, as Mongoose 5 did (Mongoose 7+ drops them). E.g. `UserCourse/UserBook/UserMembership.createMany` without `group` still pushes `null` into `groups`. `bulkWrite` is passed through unchanged.
|
|
28
|
+
- `update()` upserts, `removeMany()` needs `vendorId`, 24-char id ⇄ `dynamoId` handling, default sort `updatedAt: -1`, plain-object results with `id`.
|
|
29
|
+
- Token format is byte-compatible: tokens signed by 2.x verify with this package and vice versa (checked against the published 2.5.13 helper).
|
|
30
|
+
- `removeUnicode` output is identical to the unidecode-based version for every script (tested over the whole BMP against `unidecode` 0.1.8), so existing `tags` keep matching. The unidecode tables are vendored (`src/common/unidecode-data.ts`, ~95 KB) instead of being a runtime dependency.
|
|
31
|
+
- Password cipher and Base64 handling are identical (the legacy Base64 plugin is ported as is, including how it decodes `btoa()` Latin-1 input and unpadded strings; tested), so existing passwords keep working.
|
|
32
|
+
|
|
33
|
+
### Fixes
|
|
34
|
+
- `fetch`/`count` query shortcuts match suffixes only: a field named `user_info` is no longer turned into `user: { $in }`.
|
|
35
|
+
- `findOne` no longer populates twice; `fetchOne` passes `selects` through.
|
|
36
|
+
- The generic `sum()` (it called a nonexistent `Model.sum`) is removed. Bill / AnonymousBill / Order / BillStatistic keep their own `sum`.
|
|
37
|
+
- `connect()` caches the pending promise: concurrent cold-start calls share one connection.
|
|
38
|
+
- `TokenHelper.verify` returns real `iat`/`exp` in ms (legacy returned `NaN`). `TokenHelper` works again: legacy 2.6.x shipped an empty `plugins/jsonwebtoken.js`.
|
|
39
|
+
- `AuthorModel.remove` archives the author by id within its vendor and never upserts (returns `null` if the author is gone). Legacy passed a string to `update`, which upserted a stray document.
|
|
40
|
+
- `StudentModel.update` with a `name` rejects with an `AppError` when the student does not exist (legacy crashed with a `TypeError`); updates without a `name` no longer look the student up.
|
|
41
|
+
- `StudentModel.changePassword` no longer throws `ReferenceError: item is not defined`.
|
|
42
|
+
- `KeywordHelper.onTopicRemove` removes the topic (legacy looked up the index in `authors`); author/topic updates no longer touch the wrong element when not found.
|
|
43
|
+
- Dynamo `fetch`/`fetchByIndex`: `_start`, `_sort`, `roles_contain` no longer leak into the key condition; `roles_contain` without other filters produces a valid `FilterExpression`.
|
|
44
|
+
- `utility.toArray` returns the array (legacy returned `undefined`).
|
|
45
|
+
- `UserMembership/UserBook/UserCourse.createMany`, `findOneAndUpdate`: legacy `new: true` is translated to `returnDocument: 'after'`.
|
|
46
|
+
- Duplicate keys in a few schemas (exam `sortQuestion`, flashcard-submission `state`, online-course `updatedAt`, resource `tags`, user-book / user-course `user`) are deduplicated, keeping the effective (last) definition.
|
package/README.md
CHANGED
|
@@ -1,3 +1,173 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @iztzelios/core
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Shared data-access library for IZTeach Lambda services: Mongo models (Mongoose 9), Dynamo models (AWS SDK v3), and shared helpers (email, push, token, errors).
|
|
4
|
+
|
|
5
|
+
TypeScript rewrite of `izteach-core-alternative-model` / `izteach-core-model`. It keeps the same model method names and behaviour, but each model has **its own import path**, so a Lambda only loads (and, when bundled, only ships) the models it uses.
|
|
6
|
+
|
|
7
|
+
## Install
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm i @iztzelios/core mongoose@^9
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
| Dependency | When you need it |
|
|
14
|
+
|---|---|
|
|
15
|
+
| `mongoose` ^9 (peer) | always |
|
|
16
|
+
| `@aws-sdk/client-dynamodb`, `@aws-sdk/lib-dynamodb` | `@iztzelios/core/dynamo/*`, `services/user`, `services/email-ses`, Student/Author models. **Already in the Lambda Node.js runtime**, so add them as devDependencies only (types and local runs). |
|
|
17
|
+
| `@aws-sdk/client-ses`, `client-s3`, `client-sts` | `services/email-ses` (also runtime-provided; devDependency) |
|
|
18
|
+
| `google-auth-library` | `services/notify`, `models/notify` (push notifications) |
|
|
19
|
+
| `jsonwebtoken` | `services/token` |
|
|
20
|
+
|
|
21
|
+
Node ≥ 20.19 (Mongoose 9 requirement).
|
|
22
|
+
|
|
23
|
+
## Usage
|
|
24
|
+
|
|
25
|
+
```js
|
|
26
|
+
const { MongoDB, AppError } = require('@iztzelios/core')
|
|
27
|
+
const { ResourceModel } = require('@iztzelios/core/models/resource')
|
|
28
|
+
const { UserModel } = require('@iztzelios/core/dynamo/user')
|
|
29
|
+
const { EmailSESHelper } = require('@iztzelios/core/services/email-ses')
|
|
30
|
+
|
|
31
|
+
exports.lambdaHandler = async event => {
|
|
32
|
+
await MongoDB.init() // or: await connect(). Reads process.env.MONGO; one connection per container.
|
|
33
|
+
return ResourceModel.fetch({
|
|
34
|
+
criteria: { vendorId: event.vendorId, type_in: ['video'], _sort: 'createdAt:-1', _limit: 20 },
|
|
35
|
+
selects: 'title type url',
|
|
36
|
+
})
|
|
37
|
+
}
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
ESM works too: `import { ResourceModel } from '@iztzelios/core/models/resource'`.
|
|
41
|
+
|
|
42
|
+
### Entry points
|
|
43
|
+
|
|
44
|
+
| Import path | Contents |
|
|
45
|
+
|---|---|
|
|
46
|
+
| `@iztzelios/core` | `MongoDB` / `connect`, `createMongoModel` (`genrerateModel`), `MongoCoreModel`, `AppError`, `ErrorCode`, `ErrorHelper`, `Constant` and the other constants, utilities (`removeUnicode`, `cleanObject`, `cipher`, …). **No models.** |
|
|
47
|
+
| `@iztzelios/core/models/<name>` | One Mongo model, e.g. `models/resource` → `ResourceModel`, `models/online-course` → `OnlineCourseModel`. Folder names match the legacy `model/<name>`. |
|
|
48
|
+
| `@iztzelios/core/models` | Barrel of every Mongo model. Handy while migrating, but it loads everything. |
|
|
49
|
+
| `@iztzelios/core/dynamo/<name>` | `user`, `vendor`, `vendor-settings`, `vendor-credential`, `token`; `dynamo/core` → `DynamoCoreModel` |
|
|
50
|
+
| `@iztzelios/core/services/<name>` | `email-ses` (`EmailSESHelper`), `notify` (`NotifyHelper`), `token` (`TokenHelper`), `user` (`UserHelper`), `keyword` (`KeywordHelper`), `submission` (`SubmissionHelper`), `combo`, `affiliate` |
|
|
51
|
+
|
|
52
|
+
### Model API
|
|
53
|
+
|
|
54
|
+
Same method names as the legacy package. Reads take one query object; every id-based call is scoped to a tenant:
|
|
55
|
+
|
|
56
|
+
```js
|
|
57
|
+
XModel.fetch({ criteria: { vendorId, _limit: 10 }, populate: 'author', selects: 'title author' })
|
|
58
|
+
XModel.findOne({ criteria: { vendorId, code }, selects: 'title' })
|
|
59
|
+
XModel.fetchOne({ id, vendorId, populate: 'author' }) // throws AppError without id + vendorId
|
|
60
|
+
XModel.fetchMany({ ids, vendorId }) // throws AppError without ids + vendorId
|
|
61
|
+
XModel.remove({ id, vendorId }) // throws AppError without id + vendorId
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
The legacy positional reads (`fetch(criteria, populate, selects)`, `fetchOne(id, populate, selects)`, `fetchMany(ids, populate)`, `findOne(criteria, populate)`) still work but are deprecated and not tenant-scoped. `remove(id)` is no longer accepted.
|
|
65
|
+
|
|
66
|
+
Also: `create`, `createMany`, `update` (**upserts**), `updateMany`, `updateOrCreate`, `findOneAndUpdate`, `count`, `removeMany` (no-op without `vendorId`), `aggregate`, `bulkWrite`, `first`, `last`, `init`, plus `getModel()` for the raw Mongoose model.
|
|
67
|
+
|
|
68
|
+
`fetch` / `count` query shortcuts: `field_in`, `field_nin`, `field_null`, `field_contain`, `_limit`, `_skip`, `_sort: 'a:1,b:-1'`, `_populate: 'a:b'`.
|
|
69
|
+
|
|
70
|
+
Each model also exports its document type, e.g. `ResourceDoc`.
|
|
71
|
+
|
|
72
|
+
## Environment variables
|
|
73
|
+
|
|
74
|
+
| Variable | Used by |
|
|
75
|
+
|---|---|
|
|
76
|
+
| `MONGO` | MongoDB connection string (required) |
|
|
77
|
+
| `ENV` | `prod` → production Dynamo tables; anything else → test tables |
|
|
78
|
+
| `IZTEACH_JWT_ACCESS_SECRET`, `IZTEACH_JWT_REFRESH_SECRET` | `services/token`. Use the existing values so tokens already issued stay valid. |
|
|
79
|
+
| `IZTEACH_EMAIL_CREDENTIALS` (JSON) | `Constant.EMAIL_CREDENTIALS` |
|
|
80
|
+
| `IZTEACH_EMAIL_TEMPLATE_BUCKET` | optional; default `izteach-template-email-bucket2` |
|
|
81
|
+
|
|
82
|
+
## Migrating a service
|
|
83
|
+
|
|
84
|
+
1. Rewrite imports with
|
|
85
|
+
`node <this-repo>/scripts/migrate-imports.cjs <service>/src` (run `npm run build` in this repo first; add `--dry-run` to preview).
|
|
86
|
+
The script also lists packages the service `require`s without declaring them. The legacy package installed `aws-sdk` v2, `lodash`, `axios`, `moment`, … transitively, and they disappear with it.
|
|
87
|
+
2. In the service's `package.json`: remove `izteach-core-model` / `izteach-core-alternative-model`, add `@iztzelios/core` and `mongoose@^9`, and declare whatever step 1 reported. Better still, move the service's own `aws-sdk` v2 code to `@aws-sdk/*` v3: v2 is ~80–100 MB, end-of-support, and not included in the Node 20+ runtime.
|
|
88
|
+
3. Set the env vars above that the service needs (`IZTEACH_JWT_*` for token users).
|
|
89
|
+
4. Optional, for the smallest artifacts: let SAM bundle the function with esbuild.
|
|
90
|
+
|
|
91
|
+
```yaml
|
|
92
|
+
MyFunction:
|
|
93
|
+
Type: AWS::Serverless::Function
|
|
94
|
+
Properties:
|
|
95
|
+
CodeUri: src/
|
|
96
|
+
Handler: handler.lambdaHandler
|
|
97
|
+
Runtime: nodejs22.x
|
|
98
|
+
Metadata:
|
|
99
|
+
BuildMethod: esbuild
|
|
100
|
+
BuildProperties:
|
|
101
|
+
Target: es2022
|
|
102
|
+
Minify: true
|
|
103
|
+
EntryPoints: [handler.js]
|
|
104
|
+
External:
|
|
105
|
+
- '@aws-sdk/*'
|
|
106
|
+
- kerberos
|
|
107
|
+
- snappy
|
|
108
|
+
- '@mongodb-js/zstd'
|
|
109
|
+
- mongodb-client-encryption
|
|
110
|
+
- aws4
|
|
111
|
+
- gcp-metadata
|
|
112
|
+
- socks
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
esbuild can't resolve `module-alias` (`@/…`) paths, so convert those to relative paths first. If the function imports `models/notify`, `services/notify` or the `models` barrel, install `google-auth-library` or add it to `External`.
|
|
116
|
+
|
|
117
|
+
Measured on `izteach-resource-service`: production `node_modules` went from 267 MB (legacy, including `googleapis` and `aws-sdk` pulled in by the old package) to 135 MB. 100 MB of the remainder is the service's own `aws-sdk` v2 usage, leaving ~35 MB once it moves to v3. An esbuild bundle of a handler that uses only `ResourceModel` is 1.35 MB, of which 19 KB is this package.
|
|
118
|
+
|
|
119
|
+
## Development
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
nvm use # Node 22
|
|
123
|
+
npm ci
|
|
124
|
+
npm run typecheck
|
|
125
|
+
npm test # vitest; Mongo tests use mongodb-memory-server
|
|
126
|
+
npm run build # tsup (ESM .mjs + CJS .js) + tsc declarations
|
|
127
|
+
npm run size-check # bundles a resource-only handler and asserts nothing else is included
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
### AWS SDK: never a runtime dependency
|
|
131
|
+
|
|
132
|
+
The `@aws-sdk/*` v3 packages ship with the Lambda Node.js runtime, so this package must not install or bundle its own copy.
|
|
133
|
+
|
|
134
|
+
- Keep them as **optional `peerDependencies`** plus `devDependencies` (for types and tests). Never move them to `dependencies`: every service would then install a second, pinned SDK. `test/exports.test.ts` fails if one is added.
|
|
135
|
+
- Import them only in the modules that call AWS (`src/dynamo/*`, `src/core/dynamo-model.ts`, `src/db/dynamo.ts`, `src/services/email-ses*.ts`), never from the root entry (`src/index.ts`) or `src/common/*`. A root import would load SDK clients at cold start in every Lambda. `npm run size-check` cannot catch this (the SDK is external in that bundle), so check it in review.
|
|
136
|
+
- The same applies to `google-auth-library` and `jsonwebtoken`: optional peers, imported only by `services/notify` and `services/token`.
|
|
137
|
+
|
|
138
|
+
## Publishing (manual)
|
|
139
|
+
|
|
140
|
+
Releases are published by hand for now. The GitHub workflows in `.github/workflows/` are commented out (see the bottom of this section).
|
|
141
|
+
|
|
142
|
+
**Prerequisites**
|
|
143
|
+
- Your npm account is an owner/member with publish rights in the [`@iztzelios`](https://www.npmjs.com/org/iztzelios) org (public packages only).
|
|
144
|
+
- Node 22 (`nvm use`) and a clean checkout of `main` with dependencies installed (`npm ci`).
|
|
145
|
+
|
|
146
|
+
**Steps**
|
|
147
|
+
|
|
148
|
+
1. Pick the version. The package is pre-1.0 (`0.x`) until the API is declared stable:
|
|
149
|
+
- each fix → patch (`0.1.0` → `0.1.1`);
|
|
150
|
+
- new models/methods or breaking changes → minor (`0.1.x` → `0.2.0`). Services on `^0.1.0` only pick up `0.1.x` patches automatically, so a breaking change never reaches them unasked.
|
|
151
|
+
- `1.0.0` is released deliberately once the API is stable; from then on, normal semver (breaking → major).
|
|
152
|
+
```bash
|
|
153
|
+
npm version <patch|minor|major> --no-git-tag-version # updates package.json + package-lock.json
|
|
154
|
+
```
|
|
155
|
+
2. Add an entry for that version to `CHANGELOG.md`, including any behaviour change consumers must know about.
|
|
156
|
+
3. Verify locally:
|
|
157
|
+
```bash
|
|
158
|
+
npm run typecheck && npm test && npm run size-check
|
|
159
|
+
npm pack --dry-run # lists exactly what will be uploaded: dist/, README.md, CHANGELOG.md, package.json
|
|
160
|
+
npm pkg get dependencies # must print {}: no @aws-sdk/* (see "AWS SDK: never a runtime dependency")
|
|
161
|
+
```
|
|
162
|
+
4. Publish:
|
|
163
|
+
```bash
|
|
164
|
+
npm login # once per machine
|
|
165
|
+
npm publish --access public # prepublishOnly runs typecheck + build again
|
|
166
|
+
```
|
|
167
|
+
5. Check it's live: `npm view @iztzelios/core version`.
|
|
168
|
+
6. Commit the version bump and changelog (`chore: release vX.Y.Z`), tag it (`git tag vX.Y.Z`), and push both.
|
|
169
|
+
7. Consumer services pick it up by bumping `@iztzelios/core` in their `package.json` and redeploying (`sam build && sam deploy`).
|
|
170
|
+
|
|
171
|
+
A published version can't be overwritten. If something is wrong, publish a new patch version. Use `npm deprecate @iztzelios/core@X.Y.Z "<reason>"` to warn users of a bad one. `npm unpublish` only works within 72 hours and is discouraged.
|
|
172
|
+
|
|
173
|
+
**Re-enabling automation later.** Uncomment `.github/workflows/ci.yml` and `publish.yml`. Then, on npmjs.com, open `@iztzelios/core` → Settings → Trusted Publisher and add GitHub Actions with repo `izteach/izteach-core-service` and workflow `publish.yml`. After that, merging a version bump to `main` publishes automatically.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { createMongoModel } from './chunk-MAWBRJ77.mjs';
|
|
2
|
+
import { Schema } from 'mongoose';
|
|
3
|
+
|
|
4
|
+
var LOG_COLLECTION = `System_Log`;
|
|
5
|
+
var LogSchema = new Schema(
|
|
6
|
+
{
|
|
7
|
+
vendorId: { required: true, type: String },
|
|
8
|
+
actionBy: { id: { required: true, type: String }, email: { required: true, type: String }, name: String },
|
|
9
|
+
action: {
|
|
10
|
+
required: true,
|
|
11
|
+
type: String,
|
|
12
|
+
enum: ["create", "update", "delete", "assign"],
|
|
13
|
+
default: "create"
|
|
14
|
+
},
|
|
15
|
+
// { id: String, title: String, type: { type: String, enum: ['permission', 'course'] }, data: Schema.Types.Mixed }
|
|
16
|
+
actionTarget: Schema.Types.Mixed,
|
|
17
|
+
actionSource: {
|
|
18
|
+
id: String,
|
|
19
|
+
title: String,
|
|
20
|
+
type: {
|
|
21
|
+
type: String,
|
|
22
|
+
enum: ["default", "group", "payment", "membership", "free", "active-code", "unit"],
|
|
23
|
+
default: "default"
|
|
24
|
+
},
|
|
25
|
+
data: Schema.Types.Mixed
|
|
26
|
+
},
|
|
27
|
+
// { id: String, email: String, role: String }
|
|
28
|
+
affectTo: Schema.Types.Mixed,
|
|
29
|
+
time: { required: true, type: Number },
|
|
30
|
+
metadata: Schema.Types.Mixed
|
|
31
|
+
},
|
|
32
|
+
{ collection: LOG_COLLECTION, bufferCommands: false, timestamps: true }
|
|
33
|
+
);
|
|
34
|
+
LogSchema.set("toObject", { virtuals: true });
|
|
35
|
+
var definition = { Schema: LogSchema, Name: LOG_COLLECTION };
|
|
36
|
+
|
|
37
|
+
// src/models/log/index.ts
|
|
38
|
+
var LogModel = createMongoModel(definition);
|
|
39
|
+
|
|
40
|
+
export { LogModel };
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkGYJFNTLM_js = require('./chunk-GYJFNTLM.js');
|
|
4
|
+
var mongoose = require('mongoose');
|
|
5
|
+
|
|
6
|
+
var COLLECTION = `Payment_Affiliate`;
|
|
7
|
+
var AffiliateSchema = new mongoose.Schema(
|
|
8
|
+
{
|
|
9
|
+
vendorId: {
|
|
10
|
+
type: String,
|
|
11
|
+
required: true
|
|
12
|
+
},
|
|
13
|
+
kolId: {
|
|
14
|
+
type: String,
|
|
15
|
+
required: true
|
|
16
|
+
},
|
|
17
|
+
kolInfo: mongoose.Schema.Types.Mixed,
|
|
18
|
+
settings: {
|
|
19
|
+
generalSettings: mongoose.Schema.Types.Mixed,
|
|
20
|
+
detailSettings: Array,
|
|
21
|
+
isUseGeneralSettings: {
|
|
22
|
+
type: Boolean,
|
|
23
|
+
default: true
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
collection: COLLECTION,
|
|
29
|
+
bufferCommands: false,
|
|
30
|
+
timestamps: true
|
|
31
|
+
}
|
|
32
|
+
);
|
|
33
|
+
AffiliateSchema.set("toObject", { virtuals: true });
|
|
34
|
+
var definition = { Schema: AffiliateSchema, Name: COLLECTION };
|
|
35
|
+
|
|
36
|
+
// src/models/affiliate/index.ts
|
|
37
|
+
var AffiliateModel = chunkGYJFNTLM_js.createMongoModel(definition);
|
|
38
|
+
|
|
39
|
+
exports.AffiliateModel = AffiliateModel;
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { validate } from './chunk-KN2GXKK3.mjs';
|
|
2
|
+
import { USER_PROFILE_TABLE } from './chunk-NMOY5GCF.mjs';
|
|
3
|
+
import { getDocumentClient, generateExpressionAttributeValues, generateExpressionAttributeNames, update, fetchMany, removeMany, remove, count, fetch, findOne, fetchOne, create } from './chunk-PZ74YMNX.mjs';
|
|
4
|
+
import { cleanObject, cipher, Base64 } from './chunk-MJTDRI7E.mjs';
|
|
5
|
+
import { randomUUID } from 'crypto';
|
|
6
|
+
import { QueryCommand } from '@aws-sdk/lib-dynamodb';
|
|
7
|
+
|
|
8
|
+
var UserModel = {
|
|
9
|
+
TABLE: USER_PROFILE_TABLE,
|
|
10
|
+
async create(item) {
|
|
11
|
+
await validate(item);
|
|
12
|
+
return create(USER_PROFILE_TABLE, {
|
|
13
|
+
...item,
|
|
14
|
+
sortKeyCreate: `user-profile_${Date.now()}`,
|
|
15
|
+
sortKeyUpdate: `user-profile_${Date.now()}`,
|
|
16
|
+
state: item.state || "unverified",
|
|
17
|
+
updatedAt: Date.now(),
|
|
18
|
+
createdAt: Date.now(),
|
|
19
|
+
dataType: "user-profile",
|
|
20
|
+
id: randomUUID(),
|
|
21
|
+
password: cipher(item.vendorId)(Base64.decode(item.password))
|
|
22
|
+
});
|
|
23
|
+
},
|
|
24
|
+
fetchOne: (criteria) => fetchOne(USER_PROFILE_TABLE, criteria),
|
|
25
|
+
findOne: (criteria, index) => findOne(USER_PROFILE_TABLE, criteria, index),
|
|
26
|
+
fetch: (criteria) => fetch(USER_PROFILE_TABLE, criteria),
|
|
27
|
+
count: (criteria, index) => count(USER_PROFILE_TABLE, criteria, index),
|
|
28
|
+
remove: (criteria) => remove(USER_PROFILE_TABLE, criteria),
|
|
29
|
+
removeMany: (criteria = {}) => removeMany(USER_PROFILE_TABLE, criteria),
|
|
30
|
+
fetchMany: (criterias = []) => fetchMany(USER_PROFILE_TABLE, criterias),
|
|
31
|
+
update(query, item) {
|
|
32
|
+
if (item.password) item.password = cipher(query.vendorId)(Base64.decode(item.password));
|
|
33
|
+
return update(USER_PROFILE_TABLE, query, item);
|
|
34
|
+
},
|
|
35
|
+
/** Every user of a vendor with `role` in `roles` (follows pagination). */
|
|
36
|
+
async fetchClients(criteria) {
|
|
37
|
+
let items = [];
|
|
38
|
+
let lastEvaluatedKey;
|
|
39
|
+
do {
|
|
40
|
+
const data = await getDocumentClient().send(
|
|
41
|
+
new QueryCommand({
|
|
42
|
+
TableName: USER_PROFILE_TABLE.TABLE_NAME,
|
|
43
|
+
KeyConditionExpression: "#vendorId = :vendorId",
|
|
44
|
+
FilterExpression: "#dataType = :dataType and contains(#roles, :role)",
|
|
45
|
+
ExpressionAttributeValues: {
|
|
46
|
+
":vendorId": criteria.vendorId,
|
|
47
|
+
":role": criteria.role,
|
|
48
|
+
":dataType": criteria.dataType
|
|
49
|
+
},
|
|
50
|
+
ExpressionAttributeNames: { "#vendorId": "vendorId", "#roles": "roles", "#dataType": "dataType" },
|
|
51
|
+
ExclusiveStartKey: lastEvaluatedKey
|
|
52
|
+
})
|
|
53
|
+
);
|
|
54
|
+
items = items.concat(data.Items ?? []);
|
|
55
|
+
lastEvaluatedKey = data.LastEvaluatedKey;
|
|
56
|
+
} while (lastEvaluatedKey);
|
|
57
|
+
return { Items: items };
|
|
58
|
+
},
|
|
59
|
+
/** Count of users with `roles` containing criteria.roles and `state`, created in [createdAt_gt, createdAt_lt]. */
|
|
60
|
+
async countByTimeRage(criteria, index) {
|
|
61
|
+
const data = await getDocumentClient().send(
|
|
62
|
+
new QueryCommand(
|
|
63
|
+
cleanObject({
|
|
64
|
+
TableName: USER_PROFILE_TABLE.TABLE_NAME,
|
|
65
|
+
IndexName: index,
|
|
66
|
+
KeyConditionExpression: "#vendorId = :vendorId AND #createdAt BETWEEN :createdAt_gt AND :createdAt_lt",
|
|
67
|
+
ExpressionAttributeNames: generateExpressionAttributeNames({
|
|
68
|
+
roles: criteria.roles,
|
|
69
|
+
vendorId: criteria.vendorId,
|
|
70
|
+
createdAt: criteria.createdAt_lt,
|
|
71
|
+
state: criteria.state
|
|
72
|
+
}),
|
|
73
|
+
ExpressionAttributeValues: generateExpressionAttributeValues(criteria),
|
|
74
|
+
FilterExpression: "contains (#roles, :roles) AND #state = :state",
|
|
75
|
+
Select: "COUNT"
|
|
76
|
+
})
|
|
77
|
+
)
|
|
78
|
+
);
|
|
79
|
+
return { count: data.Count || 0, time: new Date(criteria.createdAt_gt).toISOString() };
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
export { UserModel };
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkGYJFNTLM_js = require('./chunk-GYJFNTLM.js');
|
|
4
|
+
var mongoose = require('mongoose');
|
|
5
|
+
|
|
6
|
+
var COLLECTION = `Utility_ResourceStatistic`;
|
|
7
|
+
var ResourceStatisticSchema = new mongoose.Schema(
|
|
8
|
+
{
|
|
9
|
+
vendorId: {
|
|
10
|
+
type: String,
|
|
11
|
+
required: true
|
|
12
|
+
},
|
|
13
|
+
month: {
|
|
14
|
+
type: Number,
|
|
15
|
+
required: true
|
|
16
|
+
},
|
|
17
|
+
year: {
|
|
18
|
+
type: Number,
|
|
19
|
+
required: true
|
|
20
|
+
},
|
|
21
|
+
type: {
|
|
22
|
+
type: String,
|
|
23
|
+
required: true
|
|
24
|
+
},
|
|
25
|
+
loadTimes: {
|
|
26
|
+
type: Number,
|
|
27
|
+
default: 0
|
|
28
|
+
},
|
|
29
|
+
bandwidth: {
|
|
30
|
+
type: Number,
|
|
31
|
+
default: 0
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
collection: COLLECTION,
|
|
36
|
+
strict: false,
|
|
37
|
+
bufferCommands: false,
|
|
38
|
+
timestamps: true
|
|
39
|
+
}
|
|
40
|
+
);
|
|
41
|
+
ResourceStatisticSchema.set("toObject", { virtuals: true });
|
|
42
|
+
var definition = { Schema: ResourceStatisticSchema, Name: COLLECTION };
|
|
43
|
+
|
|
44
|
+
// src/models/resource-statistic/index.ts
|
|
45
|
+
var ResourceStatisticModel = chunkGYJFNTLM_js.createMongoModel(definition);
|
|
46
|
+
|
|
47
|
+
exports.ResourceStatisticModel = ResourceStatisticModel;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
// src/common/error.ts
|
|
2
|
+
var ErrorCode = {
|
|
3
|
+
// something went wrong
|
|
4
|
+
SOMETHING_WENT_WRONG: "-0001",
|
|
5
|
+
// custom
|
|
6
|
+
CUSTOM_TEMPLATE_MESSAGE: "0000",
|
|
7
|
+
// handler
|
|
8
|
+
HANDLER_UNSUPPORTED_DATA_TYPE: "0001",
|
|
9
|
+
HANDLER_UNSUPPORTED_COMMAND: "0002",
|
|
10
|
+
// Model
|
|
11
|
+
MODEL_CONSTRUCTOR_REQUIRE_CONFIG: "1001",
|
|
12
|
+
MODEL_CONSTRUCTOR_REQUIRE_TABLE_NAME: "1002",
|
|
13
|
+
MODEL_CONSTRUCTOR_REQUIRE_DATA_TYPE: "1003",
|
|
14
|
+
MODEL_FIND_ERROR: "1004",
|
|
15
|
+
MODEL_BATCH_FIND_ERROR: "1005",
|
|
16
|
+
MODEL_QUERY_ERROR: "1006",
|
|
17
|
+
MODEL_COUNT_ERROR: "1007",
|
|
18
|
+
MODEL_CREATE_ITEM_ID_ALREADY_EXISTS: "1008",
|
|
19
|
+
MODEL_CREATE_ERROR: "1009",
|
|
20
|
+
MODEL_UPDATE_ITEM_ID_NOT_EXISTS: "1010",
|
|
21
|
+
MODEL_UPDATE_ERROR: "1011",
|
|
22
|
+
MODEL_DELETE_ITEM_ID_NOT_EXISTS: "1012",
|
|
23
|
+
MODEL_DELETE_ITEM_IN_RELATION: "1013",
|
|
24
|
+
MODEL_DELETE_ERROR: "1014",
|
|
25
|
+
MODEL_BATCH_DELETE_ERROR: "1015",
|
|
26
|
+
// models
|
|
27
|
+
MODEL_FIELD_REQUIRED: "1050",
|
|
28
|
+
MODEL_FIELD_EXISTED: "1051",
|
|
29
|
+
MODEL_FIELD_INVALID: "1052",
|
|
30
|
+
MODEL_NOT_FOUND_ITEM_WITH_FIELD: "1053",
|
|
31
|
+
MODEL_ACTION_UNSUPPORTED_DATA_TYPE: "1054",
|
|
32
|
+
MODEL_ACTION_SUPPORT_FROM: "1055",
|
|
33
|
+
MODEL_ACTION_SUPPORT_TO: "1056",
|
|
34
|
+
MODEL_ACTION_ERROR: "1057",
|
|
35
|
+
MODEL_NOT_MATCH_FIELD: "1058",
|
|
36
|
+
MODEL_BILL_NOT_CLOSED: "1059",
|
|
37
|
+
MODEL_NOT_FOUND_RELATION_ID: "1060",
|
|
38
|
+
MODEL_ACTION_UNSUPPORTED_QUESTION_TYPE: "1061",
|
|
39
|
+
MODEL_BILL_ALREADY_BUY_COURSE: "1062",
|
|
40
|
+
MODEL_BILL_COURSE_IN_BILL_PENDING: "1063",
|
|
41
|
+
// auth 20xx
|
|
42
|
+
AUTH_UNAUTHORIZED: "2001",
|
|
43
|
+
AUTH_CAN_NOT_DO_ACTION_WITH_STATE: "2002",
|
|
44
|
+
AUTH_INVALID_PAYLOAD_STRING: "2003",
|
|
45
|
+
AUTH_VENDOR_ID_AND_CLIENT_ID_REQUIRED: "2004",
|
|
46
|
+
AUTH_PASWORD_NOT_MATCH: "2005",
|
|
47
|
+
AUTH_EMAIL_EXISTED: "2006",
|
|
48
|
+
AUTH_PHONE_EXISTED: "2007",
|
|
49
|
+
AUTH_PASWORD_PHONE_EMAIL_REQUIRED: "2008",
|
|
50
|
+
AUTH_PASWORD_USER_NOT_EXIST: "2009",
|
|
51
|
+
AUTH_PASWORD_USER_DISABLED: "2010",
|
|
52
|
+
AUTH_PASWORD_USER_NOT_VERIFIED: "2011",
|
|
53
|
+
AUTH_MISSING_STUDENT_ID: "2012"
|
|
54
|
+
};
|
|
55
|
+
var AppError = class extends Error {
|
|
56
|
+
code;
|
|
57
|
+
sourceError;
|
|
58
|
+
data;
|
|
59
|
+
customMessageTemplate;
|
|
60
|
+
constructor(option, ...params) {
|
|
61
|
+
super(params.map(String).join(","));
|
|
62
|
+
this.name = "AppError";
|
|
63
|
+
if (option instanceof Object) {
|
|
64
|
+
this.code = option.code ?? option.c;
|
|
65
|
+
this.sourceError = option.sourceError ?? option.se;
|
|
66
|
+
this.data = option.data ?? option.d;
|
|
67
|
+
this.customMessageTemplate = option.customMessageTemplate ?? option.cmt;
|
|
68
|
+
} else {
|
|
69
|
+
this.code = option;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
var ErrorHelper = { ErrorCode, AppError };
|
|
74
|
+
|
|
75
|
+
export { AppError, ErrorCode, ErrorHelper };
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { createMongoModel } from './chunk-MAWBRJ77.mjs';
|
|
2
|
+
import { Schema } from 'mongoose';
|
|
3
|
+
|
|
4
|
+
var COLLECTION = `UserInteraction_MistakeStatistic`;
|
|
5
|
+
var MistakeStatisticSchema = new Schema(
|
|
6
|
+
{
|
|
7
|
+
userId: { type: String, required: true },
|
|
8
|
+
vendorId: { type: String, required: true },
|
|
9
|
+
examType: { type: String, required: true },
|
|
10
|
+
// 'thpt' | 'hsa' | 'vact'
|
|
11
|
+
learningSubject: { type: String, required: true },
|
|
12
|
+
topicName: { type: String, default: "" },
|
|
13
|
+
wrongCount: { type: Number, default: 0 }
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
collection: COLLECTION,
|
|
17
|
+
bufferCommands: false,
|
|
18
|
+
timestamps: true
|
|
19
|
+
}
|
|
20
|
+
);
|
|
21
|
+
MistakeStatisticSchema.set("toObject", { virtuals: true });
|
|
22
|
+
MistakeStatisticSchema.index(
|
|
23
|
+
{ userId: 1, vendorId: 1, examType: 1, learningSubject: 1, topicName: 1 },
|
|
24
|
+
{ unique: true }
|
|
25
|
+
);
|
|
26
|
+
MistakeStatisticSchema.index({ userId: 1, vendorId: 1, examType: 1, wrongCount: -1 });
|
|
27
|
+
var definition = { Schema: MistakeStatisticSchema, Name: COLLECTION };
|
|
28
|
+
|
|
29
|
+
// src/models/mistake-statistic/index.ts
|
|
30
|
+
var MistakeStatisticModel = createMongoModel(definition);
|
|
31
|
+
|
|
32
|
+
export { MistakeStatisticModel };
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkQVHRKBUX_js = require('./chunk-QVHRKBUX.js');
|
|
4
|
+
var chunkYZCTNLIJ_js = require('./chunk-YZCTNLIJ.js');
|
|
5
|
+
var chunkGYJFNTLM_js = require('./chunk-GYJFNTLM.js');
|
|
6
|
+
var chunkEOPDO4N4_js = require('./chunk-EOPDO4N4.js');
|
|
7
|
+
var mongoose = require('mongoose');
|
|
8
|
+
|
|
9
|
+
var COLLECTION = `OnlineLearning_Author`;
|
|
10
|
+
var AuthorSchema = new mongoose.Schema(
|
|
11
|
+
{
|
|
12
|
+
vendorId: {
|
|
13
|
+
type: String,
|
|
14
|
+
required: true
|
|
15
|
+
},
|
|
16
|
+
avatar: mongoose.Schema.Types.Mixed,
|
|
17
|
+
description: String,
|
|
18
|
+
phone: String,
|
|
19
|
+
email: {
|
|
20
|
+
type: String,
|
|
21
|
+
required: true
|
|
22
|
+
},
|
|
23
|
+
fullname: String,
|
|
24
|
+
name: String,
|
|
25
|
+
userId: String,
|
|
26
|
+
profileId: String,
|
|
27
|
+
tags: String,
|
|
28
|
+
dataType: String,
|
|
29
|
+
createdBy: String,
|
|
30
|
+
migrate: mongoose.Schema.Types.Mixed,
|
|
31
|
+
metadata: mongoose.Schema.Types.Mixed,
|
|
32
|
+
data: mongoose.Schema.Types.Mixed,
|
|
33
|
+
isArchived: Boolean
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
collection: COLLECTION,
|
|
37
|
+
bufferCommands: false,
|
|
38
|
+
timestamps: true
|
|
39
|
+
}
|
|
40
|
+
);
|
|
41
|
+
AuthorSchema.set("toObject", { virtuals: true });
|
|
42
|
+
var definition = { Schema: AuthorSchema, Name: COLLECTION };
|
|
43
|
+
|
|
44
|
+
// src/models/author/index.ts
|
|
45
|
+
var methods = chunkGYJFNTLM_js.createMongoModel(definition);
|
|
46
|
+
var AuthorModel = {
|
|
47
|
+
...methods,
|
|
48
|
+
/** Creates the Dynamo login (verified teacher) and the author profile. */
|
|
49
|
+
async create(input) {
|
|
50
|
+
const item = chunkQVHRKBUX_js.trim(input);
|
|
51
|
+
const user = await chunkYZCTNLIJ_js.UserModel.create({ ...item, state: "verified", type: "teacher", roles: ["teacher"] });
|
|
52
|
+
delete item.password;
|
|
53
|
+
return methods.create({
|
|
54
|
+
...item,
|
|
55
|
+
profileId: user.id,
|
|
56
|
+
fullname: item.fullname || item.name,
|
|
57
|
+
tags: chunkEOPDO4N4_js.removeUnicode(item.name + " || " + item.email)
|
|
58
|
+
});
|
|
59
|
+
},
|
|
60
|
+
/** Deletes the Dynamo login and archives (does not delete) the author. Returns null if the author is gone. */
|
|
61
|
+
async remove(author) {
|
|
62
|
+
await chunkYZCTNLIJ_js.UserModel.remove({ id: author.profileId, vendorId: author.vendorId });
|
|
63
|
+
const archived = await methods.findOneAndUpdate(
|
|
64
|
+
{ _id: author.id, vendorId: author.vendorId },
|
|
65
|
+
{ isArchived: true },
|
|
66
|
+
{ upsert: false }
|
|
67
|
+
);
|
|
68
|
+
return archived ? archived.toObject() : null;
|
|
69
|
+
},
|
|
70
|
+
async removeMany(criteria) {
|
|
71
|
+
await chunkYZCTNLIJ_js.UserModel.removeMany(criteria);
|
|
72
|
+
return methods.removeMany(criteria);
|
|
73
|
+
},
|
|
74
|
+
async update(criteria, item) {
|
|
75
|
+
if (item.password) delete item.password;
|
|
76
|
+
return methods.update(criteria, item);
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
exports.AuthorModel = AuthorModel;
|