@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.
Files changed (826) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/README.md +172 -2
  3. package/dist/chunk-22TJJOSX.mjs +40 -0
  4. package/dist/chunk-264PR62T.js +39 -0
  5. package/dist/chunk-2M2D6KBL.mjs +83 -0
  6. package/dist/chunk-2PKDFJLS.js +47 -0
  7. package/dist/chunk-2QI362RF.mjs +75 -0
  8. package/dist/chunk-2UIO464B.mjs +32 -0
  9. package/dist/chunk-2V4SNATM.js +80 -0
  10. package/dist/chunk-2WFWIFFT.js +48 -0
  11. package/dist/chunk-2X6STDYR.mjs +33 -0
  12. package/dist/chunk-32UVITTN.js +55 -0
  13. package/dist/chunk-333SX27E.js +62 -0
  14. package/dist/chunk-3FL7DSSC.js +44 -0
  15. package/dist/chunk-3JYUPGEI.mjs +28 -0
  16. package/dist/chunk-3KKJJYUL.js +73 -0
  17. package/dist/chunk-3PBXR3PU.mjs +36 -0
  18. package/dist/chunk-3RTJYMYD.js +36 -0
  19. package/dist/chunk-3TMLW2AQ.mjs +29 -0
  20. package/dist/chunk-3V7N4SXN.js +95 -0
  21. package/dist/chunk-3XOKXHQX.js +55 -0
  22. package/dist/chunk-44JTTHB4.mjs +66 -0
  23. package/dist/chunk-4AM6MR5N.js +63 -0
  24. package/dist/chunk-4AWJMK3G.js +36 -0
  25. package/dist/chunk-4DEMAR4N.mjs +34 -0
  26. package/dist/chunk-4I7DTL2S.js +54 -0
  27. package/dist/chunk-4KARVTJH.js +32 -0
  28. package/dist/chunk-4KC6LGGL.js +51 -0
  29. package/dist/chunk-4LRQQM4T.mjs +24 -0
  30. package/dist/chunk-4MITWYY2.mjs +85 -0
  31. package/dist/chunk-4PUCZRMM.js +53 -0
  32. package/dist/chunk-4U2EKOWI.mjs +58 -0
  33. package/dist/chunk-4WH5NVKJ.js +54 -0
  34. package/dist/chunk-4WYHOADI.js +49 -0
  35. package/dist/chunk-4XCYO5JR.mjs +56 -0
  36. package/dist/chunk-4YLYEXGI.js +37 -0
  37. package/dist/chunk-54SDFBFP.js +215 -0
  38. package/dist/chunk-557H7BVM.js +27 -0
  39. package/dist/chunk-56P4PKAO.mjs +76 -0
  40. package/dist/chunk-5BTCFXV2.js +33 -0
  41. package/dist/chunk-5DFK64Z6.mjs +28 -0
  42. package/dist/chunk-5DTHOYS2.js +36 -0
  43. package/dist/chunk-5G7CAQRD.js +30 -0
  44. package/dist/chunk-5HV2SBIL.mjs +37 -0
  45. package/dist/chunk-5QRAXQJU.js +146 -0
  46. package/dist/chunk-5TBVKX33.js +40 -0
  47. package/dist/chunk-63L5TD2A.js +41 -0
  48. package/dist/chunk-66OIT2OT.js +68 -0
  49. package/dist/chunk-6CGYXCXG.js +30 -0
  50. package/dist/chunk-6FLODVZK.js +57 -0
  51. package/dist/chunk-6FNS6W3T.mjs +44 -0
  52. package/dist/chunk-6G33JELZ.js +52 -0
  53. package/dist/chunk-6GYNU2S6.js +42 -0
  54. package/dist/chunk-6NG76JQF.js +55 -0
  55. package/dist/chunk-6T5IMTT7.mjs +83 -0
  56. package/dist/chunk-6UHM2EAM.mjs +58 -0
  57. package/dist/chunk-6XLFH52W.mjs +45 -0
  58. package/dist/chunk-72TDGLCD.js +125 -0
  59. package/dist/chunk-77QVAAVV.js +45 -0
  60. package/dist/chunk-7ANSB3CK.js +58 -0
  61. package/dist/chunk-7B46R3VN.js +51 -0
  62. package/dist/chunk-7HPJ7OF5.mjs +50 -0
  63. package/dist/chunk-7JQ7JQEP.js +31 -0
  64. package/dist/chunk-7LTFKVR3.mjs +48 -0
  65. package/dist/chunk-7MC4KNQK.js +107 -0
  66. package/dist/chunk-7WTKGEJG.mjs +38 -0
  67. package/dist/chunk-7ZHSE5PQ.js +46 -0
  68. package/dist/chunk-A2JU3JFG.mjs +25 -0
  69. package/dist/chunk-A5X77I7X.js +58 -0
  70. package/dist/chunk-A5YENKK2.mjs +81 -0
  71. package/dist/chunk-AC4CQNVO.mjs +40 -0
  72. package/dist/chunk-AVDTS6BC.js +35 -0
  73. package/dist/chunk-AVFBFC2Y.mjs +34 -0
  74. package/dist/chunk-AXSCMFJA.mjs +65 -0
  75. package/dist/chunk-BLWFNVD4.mjs +49 -0
  76. package/dist/chunk-BOK43JUV.mjs +46 -0
  77. package/dist/chunk-BOZOQYHE.mjs +56 -0
  78. package/dist/chunk-BTWWF4WS.mjs +43 -0
  79. package/dist/chunk-BXVCRFPC.mjs +24 -0
  80. package/dist/chunk-C2T6BY7I.mjs +60 -0
  81. package/dist/chunk-C7TBZUKX.js +68 -0
  82. package/dist/chunk-CEG4ACGU.mjs +42 -0
  83. package/dist/chunk-CLB5UAIH.mjs +77 -0
  84. package/dist/chunk-CP5K6PFM.mjs +151 -0
  85. package/dist/chunk-CUXUXWPJ.mjs +31 -0
  86. package/dist/chunk-D5Q2YXEV.js +46 -0
  87. package/dist/chunk-DAD62RVJ.mjs +93 -0
  88. package/dist/chunk-DGLBHWY5.js +26 -0
  89. package/dist/chunk-DSVLYZD6.js +58 -0
  90. package/dist/chunk-E356OAQV.mjs +64 -0
  91. package/dist/chunk-E3YSBIZO.mjs +71 -0
  92. package/dist/chunk-EAL57NF3.mjs +144 -0
  93. package/dist/chunk-ED3IMCTW.js +34 -0
  94. package/dist/chunk-EEONTKFJ.mjs +34 -0
  95. package/dist/chunk-EGL4S7HC.js +54 -0
  96. package/dist/chunk-EIXKXQP4.mjs +71 -0
  97. package/dist/chunk-EMZSNQ6R.mjs +24 -0
  98. package/dist/chunk-EOPDO4N4.js +176 -0
  99. package/dist/chunk-EVICK26M.js +45 -0
  100. package/dist/chunk-EXZLTEKV.js +69 -0
  101. package/dist/chunk-EZ5RJ73X.js +29 -0
  102. package/dist/chunk-F37CSLXP.mjs +66 -0
  103. package/dist/chunk-F3OXAV7H.js +35 -0
  104. package/dist/chunk-F5O57MYX.mjs +45 -0
  105. package/dist/chunk-FDOOWLI6.js +66 -0
  106. package/dist/chunk-FDTFLDLV.mjs +56 -0
  107. package/dist/chunk-FFOPDLQO.js +35 -0
  108. package/dist/chunk-FH65C6IL.js +37 -0
  109. package/dist/chunk-FJ4PI23E.js +47 -0
  110. package/dist/chunk-FKRVCGRB.js +61 -0
  111. package/dist/chunk-FLA2TZ6X.js +49 -0
  112. package/dist/chunk-FY7SDS5G.js +47 -0
  113. package/dist/chunk-G2BHD5WO.mjs +52 -0
  114. package/dist/chunk-G3UFWCCP.js +68 -0
  115. package/dist/chunk-G477PYUT.mjs +130 -0
  116. package/dist/chunk-G6L37KU5.js +26 -0
  117. package/dist/chunk-GMBOZS5E.mjs +52 -0
  118. package/dist/chunk-GMOHTLBI.js +36 -0
  119. package/dist/chunk-GRNAXLTT.mjs +49 -0
  120. package/dist/chunk-GRPGT73F.mjs +63 -0
  121. package/dist/chunk-GTD53RXK.mjs +27 -0
  122. package/dist/chunk-GWTWZQIW.js +40 -0
  123. package/dist/chunk-GXNLGXX3.mjs +51 -0
  124. package/dist/chunk-GYJFNTLM.js +306 -0
  125. package/dist/chunk-H346F6PO.mjs +38 -0
  126. package/dist/chunk-H3GGYENO.js +95 -0
  127. package/dist/chunk-HCGED5YZ.mjs +27 -0
  128. package/dist/chunk-HJH223WM.js +30 -0
  129. package/dist/chunk-HLLZWBE7.mjs +35 -0
  130. package/dist/chunk-HMEVM2I5.mjs +43 -0
  131. package/dist/chunk-HR5AUWRP.js +32 -0
  132. package/dist/chunk-HT3RQ5AU.mjs +60 -0
  133. package/dist/chunk-I4LZAK43.js +38 -0
  134. package/dist/chunk-I6KIFUHB.js +63 -0
  135. package/dist/chunk-I7GQSDY4.js +90 -0
  136. package/dist/chunk-ICBGZIPW.mjs +59 -0
  137. package/dist/chunk-IEFOEUB2.js +61 -0
  138. package/dist/chunk-IG6434JK.js +62 -0
  139. package/dist/chunk-IPWOSBVC.mjs +151 -0
  140. package/dist/chunk-IVTCFXCV.mjs +47 -0
  141. package/dist/chunk-J7UAIK43.mjs +53 -0
  142. package/dist/chunk-JIMDDNJ2.js +30 -0
  143. package/dist/chunk-JR6MM3Z3.mjs +22 -0
  144. package/dist/chunk-JUQOIEXE.js +60 -0
  145. package/dist/chunk-JWSVY35S.mjs +27 -0
  146. package/dist/chunk-JX57BSUB.js +55 -0
  147. package/dist/chunk-JY5GDML5.mjs +34 -0
  148. package/dist/chunk-KA5RRDVK.js +49 -0
  149. package/dist/chunk-KCW7LBGT.mjs +44 -0
  150. package/dist/chunk-KHSOA2NL.js +89 -0
  151. package/dist/chunk-KINNDIZF.mjs +66 -0
  152. package/dist/chunk-KMKG5YJJ.mjs +49 -0
  153. package/dist/chunk-KN2GXKK3.mjs +53 -0
  154. package/dist/chunk-KRJBYKHP.mjs +32 -0
  155. package/dist/chunk-KRJSXUDT.mjs +51 -0
  156. package/dist/chunk-KSZHQ2MU.mjs +105 -0
  157. package/dist/chunk-L4MX64BX.js +60 -0
  158. package/dist/chunk-LFJUCEK3.js +51 -0
  159. package/dist/chunk-LINDZYEL.mjs +45 -0
  160. package/dist/chunk-LTEBXYWO.js +52 -0
  161. package/dist/chunk-LYIALC2M.js +48 -0
  162. package/dist/chunk-M3JXYOEG.js +42 -0
  163. package/dist/chunk-M4A252VE.mjs +67 -0
  164. package/dist/chunk-M7UJVFCF.mjs +62 -0
  165. package/dist/chunk-MAWBRJ77.mjs +289 -0
  166. package/dist/chunk-MI64SG7Z.js +46 -0
  167. package/dist/chunk-MIKZJKYN.js +180 -0
  168. package/dist/chunk-MJTDRI7E.mjs +163 -0
  169. package/dist/chunk-MLXOBZYD.mjs +22 -0
  170. package/dist/chunk-MNUPSMQW.js +38 -0
  171. package/dist/chunk-MPOFL4Q3.mjs +59 -0
  172. package/dist/chunk-MPUBUXLC.mjs +66 -0
  173. package/dist/chunk-MWYPNGXF.mjs +41 -0
  174. package/dist/chunk-MXMGF2B7.js +37 -0
  175. package/dist/chunk-NCRAGJOJ.js +43 -0
  176. package/dist/chunk-NDKQANMC.js +29 -0
  177. package/dist/chunk-NJALQQ2G.js +29 -0
  178. package/dist/chunk-NJQSGZ6I.mjs +30 -0
  179. package/dist/chunk-NMD75PJP.mjs +65 -0
  180. package/dist/chunk-NMOY5GCF.mjs +10 -0
  181. package/dist/chunk-NNQVNQ2L.mjs +39 -0
  182. package/dist/chunk-NYDJ5D2Q.mjs +33 -0
  183. package/dist/chunk-NZHKOZ3V.mjs +53 -0
  184. package/dist/chunk-NZYFYMEI.js +41 -0
  185. package/dist/chunk-NZYWMBSF.mjs +31 -0
  186. package/dist/chunk-O6TFTJXC.js +58 -0
  187. package/dist/chunk-OBSPBESX.js +47 -0
  188. package/dist/chunk-OEK5ZGR5.js +67 -0
  189. package/dist/chunk-OIDVS7AD.mjs +44 -0
  190. package/dist/chunk-OLVQ4JPW.mjs +56 -0
  191. package/dist/chunk-OO2ATZME.js +35 -0
  192. package/dist/chunk-OTQH54J2.js +16 -0
  193. package/dist/chunk-PGGXHHGF.js +33 -0
  194. package/dist/chunk-PHUCD3CA.js +154 -0
  195. package/dist/chunk-PJVRZ2WF.mjs +52 -0
  196. package/dist/chunk-PKJLQETL.mjs +45 -0
  197. package/dist/chunk-PKTQ5IW4.mjs +53 -0
  198. package/dist/chunk-PLXUVGFH.js +51 -0
  199. package/dist/chunk-PUIMT6LA.js +61 -0
  200. package/dist/chunk-PY73F2PU.js +87 -0
  201. package/dist/chunk-PZ74YMNX.mjs +195 -0
  202. package/dist/chunk-QB3NCIKX.mjs +49 -0
  203. package/dist/chunk-QB6DULGJ.mjs +87 -0
  204. package/dist/chunk-QBWAYMNF.js +83 -0
  205. package/dist/chunk-QK34YPBW.js +62 -0
  206. package/dist/chunk-QKNN4NFB.js +53 -0
  207. package/dist/chunk-QPMDRUT5.js +64 -0
  208. package/dist/chunk-QS7STLO6.mjs +28 -0
  209. package/dist/chunk-QVHRKBUX.js +25 -0
  210. package/dist/chunk-QVXYFWAK.mjs +28 -0
  211. package/dist/chunk-R2GMLFIF.mjs +47 -0
  212. package/dist/chunk-RA2MLGEJ.js +73 -0
  213. package/dist/chunk-RTNLAWLH.js +132 -0
  214. package/dist/chunk-S2BZVU6K.js +68 -0
  215. package/dist/chunk-S3UXI6IT.mjs +41 -0
  216. package/dist/chunk-SM6JCLRB.js +42 -0
  217. package/dist/chunk-SME4RA6M.mjs +40 -0
  218. package/dist/chunk-SMTZC7EF.js +51 -0
  219. package/dist/chunk-SNC2HKHH.mjs +84 -0
  220. package/dist/chunk-SSJEEEPY.mjs +36 -0
  221. package/dist/chunk-STVVNFWC.mjs +72 -0
  222. package/dist/chunk-SUUE35T6.js +46 -0
  223. package/dist/chunk-SXLZFEDW.js +67 -0
  224. package/dist/chunk-SXPXKKOL.js +50 -0
  225. package/dist/chunk-TCFPMW2Z.mjs +59 -0
  226. package/dist/chunk-TDTCE5Q3.js +43 -0
  227. package/dist/chunk-TGFW4XMR.js +46 -0
  228. package/dist/chunk-TJTAGBNB.js +38 -0
  229. package/dist/chunk-TKLH23KJ.mjs +39 -0
  230. package/dist/chunk-TMREX4H4.js +79 -0
  231. package/dist/chunk-TQSY7V5R.mjs +49 -0
  232. package/dist/chunk-TXSFO7X3.js +24 -0
  233. package/dist/chunk-TYVH6JRL.mjs +31 -0
  234. package/dist/chunk-TZ7ESGYF.mjs +54 -0
  235. package/dist/chunk-U5CVYUNX.mjs +161 -0
  236. package/dist/chunk-U7YBSC3K.mjs +69 -0
  237. package/dist/chunk-UD24VEKG.mjs +58 -0
  238. package/dist/chunk-UM45HS3W.mjs +123 -0
  239. package/dist/chunk-UNWPNNV3.mjs +35 -0
  240. package/dist/chunk-UQKQKCKJ.mjs +40 -0
  241. package/dist/chunk-UWVPN2DV.mjs +46 -0
  242. package/dist/chunk-UY4JR4E6.mjs +89 -0
  243. package/dist/chunk-V5CF24WK.js +71 -0
  244. package/dist/chunk-V5WYVDZ3.mjs +33 -0
  245. package/dist/chunk-VCFZ2UO2.mjs +88 -0
  246. package/dist/chunk-VGIGF3NX.js +47 -0
  247. package/dist/chunk-VN2MR575.js +36 -0
  248. package/dist/chunk-VNWK6NGD.mjs +67 -0
  249. package/dist/chunk-VYHIOXTC.js +60 -0
  250. package/dist/chunk-VYJBW33Y.mjs +50 -0
  251. package/dist/chunk-VZVJP2D2.js +79 -0
  252. package/dist/chunk-WFRKPQYI.mjs +44 -0
  253. package/dist/chunk-WTXBO674.mjs +61 -0
  254. package/dist/chunk-WVY6XF7N.js +69 -0
  255. package/dist/chunk-X4AGXWWC.js +86 -0
  256. package/dist/chunk-X6KPUJDR.mjs +35 -0
  257. package/dist/chunk-XG2KGZCA.js +78 -0
  258. package/dist/chunk-XIHRU6IA.js +26 -0
  259. package/dist/chunk-XNTTUQTO.mjs +47 -0
  260. package/dist/chunk-Y323UWER.mjs +30 -0
  261. package/dist/chunk-Y5CFBZ4B.mjs +53 -0
  262. package/dist/chunk-Y7ILIK5Z.mjs +34 -0
  263. package/dist/chunk-YFN2XO35.mjs +45 -0
  264. package/dist/chunk-YJ4BPTTA.js +40 -0
  265. package/dist/chunk-YJCRJUPA.js +74 -0
  266. package/dist/chunk-YNBFG4YQ.js +65 -0
  267. package/dist/chunk-YTQWGPLN.js +85 -0
  268. package/dist/chunk-YYCFNUYP.mjs +61 -0
  269. package/dist/chunk-YZCTNLIJ.js +85 -0
  270. package/dist/chunk-Z45E2AA2.js +42 -0
  271. package/dist/chunk-Z7DLEI5B.mjs +78 -0
  272. package/dist/chunk-Z7RCDF5B.mjs +38 -0
  273. package/dist/chunk-ZI4K742H.js +153 -0
  274. package/dist/chunk-ZINAZ6HO.mjs +36 -0
  275. package/dist/chunk-ZQ6EHJAO.mjs +44 -0
  276. package/dist/chunk-ZXMINLAY.js +33 -0
  277. package/dist/dynamo/core.js +43 -0
  278. package/dist/dynamo/core.mjs +2 -0
  279. package/dist/dynamo/token.js +30 -0
  280. package/dist/dynamo/token.mjs +28 -0
  281. package/dist/dynamo/user.js +16 -0
  282. package/dist/dynamo/user.mjs +7 -0
  283. package/dist/dynamo/vendor-credential.js +13 -0
  284. package/dist/dynamo/vendor-credential.mjs +4 -0
  285. package/dist/dynamo/vendor-settings.js +17 -0
  286. package/dist/dynamo/vendor-settings.mjs +4 -0
  287. package/dist/dynamo/vendor.js +14 -0
  288. package/dist/dynamo/vendor.mjs +5 -0
  289. package/dist/index.js +190 -0
  290. package/dist/index.mjs +5 -0
  291. package/dist/models/active-code/index.js +13 -0
  292. package/dist/models/active-code/index.mjs +4 -0
  293. package/dist/models/activity/index.js +13 -0
  294. package/dist/models/activity/index.mjs +4 -0
  295. package/dist/models/affiliate/index.js +13 -0
  296. package/dist/models/affiliate/index.mjs +4 -0
  297. package/dist/models/anonymous-active-code/index.js +13 -0
  298. package/dist/models/anonymous-active-code/index.mjs +4 -0
  299. package/dist/models/anonymous-bill/index.js +19 -0
  300. package/dist/models/anonymous-bill/index.mjs +6 -0
  301. package/dist/models/attendance/index.js +13 -0
  302. package/dist/models/attendance/index.mjs +4 -0
  303. package/dist/models/author/index.js +19 -0
  304. package/dist/models/author/index.mjs +10 -0
  305. package/dist/models/bill/index.js +15 -0
  306. package/dist/models/bill/index.mjs +6 -0
  307. package/dist/models/bill-auto-history/index.js +13 -0
  308. package/dist/models/bill-auto-history/index.mjs +4 -0
  309. package/dist/models/bill-statistic/index.js +13 -0
  310. package/dist/models/bill-statistic/index.mjs +4 -0
  311. package/dist/models/blog/index.js +13 -0
  312. package/dist/models/blog/index.mjs +4 -0
  313. package/dist/models/book/index.js +13 -0
  314. package/dist/models/book/index.mjs +4 -0
  315. package/dist/models/book-membership/index.js +13 -0
  316. package/dist/models/book-membership/index.mjs +4 -0
  317. package/dist/models/capability-report/index.js +13 -0
  318. package/dist/models/capability-report/index.mjs +4 -0
  319. package/dist/models/cart/index.js +13 -0
  320. package/dist/models/cart/index.mjs +4 -0
  321. package/dist/models/cart-link/index.js +13 -0
  322. package/dist/models/cart-link/index.mjs +4 -0
  323. package/dist/models/certification/index.js +13 -0
  324. package/dist/models/certification/index.mjs +4 -0
  325. package/dist/models/class/index.js +13 -0
  326. package/dist/models/class/index.mjs +4 -0
  327. package/dist/models/combo/index.js +13 -0
  328. package/dist/models/combo/index.mjs +4 -0
  329. package/dist/models/comment/index.js +13 -0
  330. package/dist/models/comment/index.mjs +4 -0
  331. package/dist/models/commission/index.js +13 -0
  332. package/dist/models/commission/index.mjs +4 -0
  333. package/dist/models/contact/index.js +13 -0
  334. package/dist/models/contact/index.mjs +4 -0
  335. package/dist/models/coupon/index.js +13 -0
  336. package/dist/models/coupon/index.mjs +4 -0
  337. package/dist/models/course-membership/index.js +13 -0
  338. package/dist/models/course-membership/index.mjs +4 -0
  339. package/dist/models/custom-page/index.js +13 -0
  340. package/dist/models/custom-page/index.mjs +4 -0
  341. package/dist/models/delivery-bill/index.js +13 -0
  342. package/dist/models/delivery-bill/index.mjs +4 -0
  343. package/dist/models/delivery-bill-history/index.js +13 -0
  344. package/dist/models/delivery-bill-history/index.mjs +4 -0
  345. package/dist/models/department/index.js +13 -0
  346. package/dist/models/department/index.mjs +4 -0
  347. package/dist/models/device/index.js +13 -0
  348. package/dist/models/device/index.mjs +4 -0
  349. package/dist/models/domain/index.js +14 -0
  350. package/dist/models/domain/index.mjs +5 -0
  351. package/dist/models/email/index.js +13 -0
  352. package/dist/models/email/index.mjs +4 -0
  353. package/dist/models/evaluation-collection/index.js +13 -0
  354. package/dist/models/evaluation-collection/index.mjs +4 -0
  355. package/dist/models/evaluation-form/index.js +14 -0
  356. package/dist/models/evaluation-form/index.mjs +5 -0
  357. package/dist/models/evaluation-template/index.js +13 -0
  358. package/dist/models/evaluation-template/index.mjs +4 -0
  359. package/dist/models/event/index.js +13 -0
  360. package/dist/models/event/index.mjs +4 -0
  361. package/dist/models/exam/index.js +13 -0
  362. package/dist/models/exam/index.mjs +4 -0
  363. package/dist/models/exam-knowledge/index.js +13 -0
  364. package/dist/models/exam-knowledge/index.mjs +4 -0
  365. package/dist/models/favorite/index.js +13 -0
  366. package/dist/models/favorite/index.mjs +4 -0
  367. package/dist/models/flashcard-item/index.js +13 -0
  368. package/dist/models/flashcard-item/index.mjs +4 -0
  369. package/dist/models/flashcard-lesson-item/index.js +13 -0
  370. package/dist/models/flashcard-lesson-item/index.mjs +4 -0
  371. package/dist/models/flashcard-list/index.js +13 -0
  372. package/dist/models/flashcard-list/index.mjs +4 -0
  373. package/dist/models/flashcard-statistics/index.js +13 -0
  374. package/dist/models/flashcard-statistics/index.mjs +4 -0
  375. package/dist/models/flashcard-submission/index.js +13 -0
  376. package/dist/models/flashcard-submission/index.mjs +4 -0
  377. package/dist/models/goal/index.js +13 -0
  378. package/dist/models/goal/index.mjs +4 -0
  379. package/dist/models/group/index.js +13 -0
  380. package/dist/models/group/index.mjs +4 -0
  381. package/dist/models/homework/index.js +13 -0
  382. package/dist/models/homework/index.mjs +4 -0
  383. package/dist/models/index.js +618 -0
  384. package/dist/models/index.mjs +133 -0
  385. package/dist/models/interest/index.js +20 -0
  386. package/dist/models/interest/index.mjs +11 -0
  387. package/dist/models/keyword/index.js +13 -0
  388. package/dist/models/keyword/index.mjs +4 -0
  389. package/dist/models/learning-path/index.js +13 -0
  390. package/dist/models/learning-path/index.mjs +4 -0
  391. package/dist/models/log/index.js +13 -0
  392. package/dist/models/log/index.mjs +4 -0
  393. package/dist/models/membership/index.js +13 -0
  394. package/dist/models/membership/index.mjs +4 -0
  395. package/dist/models/membership-permission/index.js +13 -0
  396. package/dist/models/membership-permission/index.mjs +4 -0
  397. package/dist/models/mistake-bank/index.js +13 -0
  398. package/dist/models/mistake-bank/index.mjs +4 -0
  399. package/dist/models/mistake-statistic/index.js +13 -0
  400. package/dist/models/mistake-statistic/index.mjs +4 -0
  401. package/dist/models/notify/index.js +18 -0
  402. package/dist/models/notify/index.mjs +9 -0
  403. package/dist/models/offline-class-attendance/index.js +13 -0
  404. package/dist/models/offline-class-attendance/index.mjs +4 -0
  405. package/dist/models/offline-class-mark/index.js +13 -0
  406. package/dist/models/offline-class-mark/index.mjs +4 -0
  407. package/dist/models/offline-class-mark-student/index.js +13 -0
  408. package/dist/models/offline-class-mark-student/index.mjs +4 -0
  409. package/dist/models/offline-class-session/index.js +13 -0
  410. package/dist/models/offline-class-session/index.mjs +4 -0
  411. package/dist/models/offline-class-student/index.js +13 -0
  412. package/dist/models/offline-class-student/index.mjs +4 -0
  413. package/dist/models/offline-course/index.js +13 -0
  414. package/dist/models/offline-course/index.mjs +4 -0
  415. package/dist/models/online-course/index.js +13 -0
  416. package/dist/models/online-course/index.mjs +4 -0
  417. package/dist/models/order/index.js +13 -0
  418. package/dist/models/order/index.mjs +4 -0
  419. package/dist/models/problem-report/index.js +13 -0
  420. package/dist/models/problem-report/index.mjs +4 -0
  421. package/dist/models/product/index.js +13 -0
  422. package/dist/models/product/index.mjs +4 -0
  423. package/dist/models/product-category/index.js +13 -0
  424. package/dist/models/product-category/index.mjs +4 -0
  425. package/dist/models/product-combo/index.js +13 -0
  426. package/dist/models/product-combo/index.mjs +4 -0
  427. package/dist/models/product-coupon/index.js +13 -0
  428. package/dist/models/product-coupon/index.mjs +4 -0
  429. package/dist/models/product-variant/index.js +13 -0
  430. package/dist/models/product-variant/index.mjs +4 -0
  431. package/dist/models/progress/index.js +13 -0
  432. package/dist/models/progress/index.mjs +4 -0
  433. package/dist/models/question/index.js +13 -0
  434. package/dist/models/question/index.mjs +4 -0
  435. package/dist/models/question-generate/index.js +13 -0
  436. package/dist/models/question-generate/index.mjs +4 -0
  437. package/dist/models/rating/index.js +13 -0
  438. package/dist/models/rating/index.mjs +4 -0
  439. package/dist/models/reaction/index.js +13 -0
  440. package/dist/models/reaction/index.mjs +4 -0
  441. package/dist/models/relation-course/index.js +13 -0
  442. package/dist/models/relation-course/index.mjs +4 -0
  443. package/dist/models/reminder/index.js +13 -0
  444. package/dist/models/reminder/index.mjs +4 -0
  445. package/dist/models/resource/index.js +13 -0
  446. package/dist/models/resource/index.mjs +4 -0
  447. package/dist/models/resource-job/index.js +13 -0
  448. package/dist/models/resource-job/index.mjs +4 -0
  449. package/dist/models/resource-statistic/index.js +13 -0
  450. package/dist/models/resource-statistic/index.mjs +4 -0
  451. package/dist/models/root-system-vendor/index.js +13 -0
  452. package/dist/models/root-system-vendor/index.mjs +4 -0
  453. package/dist/models/section/index.js +13 -0
  454. package/dist/models/section/index.mjs +4 -0
  455. package/dist/models/slot/index.js +13 -0
  456. package/dist/models/slot/index.mjs +4 -0
  457. package/dist/models/soleExam-package/index.js +13 -0
  458. package/dist/models/soleExam-package/index.mjs +4 -0
  459. package/dist/models/soleExam-question-generate/index.js +13 -0
  460. package/dist/models/soleExam-question-generate/index.mjs +4 -0
  461. package/dist/models/soleExam-submission/index.js +13 -0
  462. package/dist/models/soleExam-submission/index.mjs +4 -0
  463. package/dist/models/soleExam-submission-statistic/index.js +14 -0
  464. package/dist/models/soleExam-submission-statistic/index.mjs +5 -0
  465. package/dist/models/soleExam-unit/index.js +13 -0
  466. package/dist/models/soleExam-unit/index.mjs +4 -0
  467. package/dist/models/streak/index.js +13 -0
  468. package/dist/models/streak/index.mjs +4 -0
  469. package/dist/models/student/index.js +19 -0
  470. package/dist/models/student/index.mjs +10 -0
  471. package/dist/models/student-log/index.js +13 -0
  472. package/dist/models/student-log/index.mjs +4 -0
  473. package/dist/models/submission/index.js +13 -0
  474. package/dist/models/submission/index.mjs +4 -0
  475. package/dist/models/submission-statistic/index.js +14 -0
  476. package/dist/models/submission-statistic/index.mjs +5 -0
  477. package/dist/models/survey/index.js +13 -0
  478. package/dist/models/survey/index.mjs +4 -0
  479. package/dist/models/survey-question/index.js +13 -0
  480. package/dist/models/survey-question/index.mjs +4 -0
  481. package/dist/models/survey-result/index.js +13 -0
  482. package/dist/models/survey-result/index.mjs +4 -0
  483. package/dist/models/survey-result-statistic/index.js +13 -0
  484. package/dist/models/survey-result-statistic/index.mjs +4 -0
  485. package/dist/models/system-cross-vendor-job/index.js +13 -0
  486. package/dist/models/system-cross-vendor-job/index.mjs +4 -0
  487. package/dist/models/system-private/index.js +13 -0
  488. package/dist/models/system-private/index.mjs +4 -0
  489. package/dist/models/teacher-student-relation/index.js +13 -0
  490. package/dist/models/teacher-student-relation/index.mjs +4 -0
  491. package/dist/models/template/index.js +13 -0
  492. package/dist/models/template/index.mjs +4 -0
  493. package/dist/models/template-email/index.js +13 -0
  494. package/dist/models/template-email/index.mjs +4 -0
  495. package/dist/models/topic/index.js +13 -0
  496. package/dist/models/topic/index.mjs +4 -0
  497. package/dist/models/unit/index.js +13 -0
  498. package/dist/models/unit/index.mjs +4 -0
  499. package/dist/models/user-affiliate/index.js +13 -0
  500. package/dist/models/user-affiliate/index.mjs +4 -0
  501. package/dist/models/user-book/index.js +13 -0
  502. package/dist/models/user-book/index.mjs +4 -0
  503. package/dist/models/user-cart-link/index.js +13 -0
  504. package/dist/models/user-cart-link/index.mjs +4 -0
  505. package/dist/models/user-certification/index.js +13 -0
  506. package/dist/models/user-certification/index.mjs +4 -0
  507. package/dist/models/user-course/index.js +13 -0
  508. package/dist/models/user-course/index.mjs +4 -0
  509. package/dist/models/user-group/index.js +13 -0
  510. package/dist/models/user-group/index.mjs +4 -0
  511. package/dist/models/user-live-class/index.js +13 -0
  512. package/dist/models/user-live-class/index.mjs +4 -0
  513. package/dist/models/user-membership/index.js +13 -0
  514. package/dist/models/user-membership/index.mjs +4 -0
  515. package/dist/models/user-path/index.js +13 -0
  516. package/dist/models/user-path/index.mjs +4 -0
  517. package/dist/models/user-permission/index.js +13 -0
  518. package/dist/models/user-permission/index.mjs +4 -0
  519. package/dist/models/user-soleExam/index.js +13 -0
  520. package/dist/models/user-soleExam/index.mjs +4 -0
  521. package/dist/models/user-token-thirdparty/index.js +13 -0
  522. package/dist/models/user-token-thirdparty/index.mjs +4 -0
  523. package/dist/models/user-unit/index.js +13 -0
  524. package/dist/models/user-unit/index.mjs +4 -0
  525. package/dist/models/user-video/index.js +13 -0
  526. package/dist/models/user-video/index.mjs +4 -0
  527. package/dist/models/view-data/index.js +13 -0
  528. package/dist/models/view-data/index.mjs +4 -0
  529. package/dist/models/zoom/index.js +13 -0
  530. package/dist/models/zoom/index.mjs +4 -0
  531. package/dist/services/affiliate.js +68 -0
  532. package/dist/services/affiliate.mjs +62 -0
  533. package/dist/services/combo.js +18 -0
  534. package/dist/services/combo.mjs +15 -0
  535. package/dist/services/email-ses-external.js +15 -0
  536. package/dist/services/email-ses-external.mjs +2 -0
  537. package/dist/services/email-ses.js +300 -0
  538. package/dist/services/email-ses.mjs +268 -0
  539. package/dist/services/email-templates.js +15 -0
  540. package/dist/services/email-templates.mjs +2 -0
  541. package/dist/services/keyword.js +103 -0
  542. package/dist/services/keyword.mjs +94 -0
  543. package/dist/services/notify.js +33 -0
  544. package/dist/services/notify.mjs +8 -0
  545. package/dist/services/submission.js +47 -0
  546. package/dist/services/submission.mjs +42 -0
  547. package/dist/services/token.js +92 -0
  548. package/dist/services/token.mjs +81 -0
  549. package/dist/services/user.js +47 -0
  550. package/dist/services/user.mjs +6 -0
  551. package/dist/types/common/constants.d.ts +267 -0
  552. package/dist/types/common/error.d.ts +116 -0
  553. package/dist/types/common/random.d.ts +5 -0
  554. package/dist/types/common/unidecode-data.d.ts +1 -0
  555. package/dist/types/common/unidecode.d.ts +5 -0
  556. package/dist/types/common/utility.d.ts +30 -0
  557. package/dist/types/core/bill-methods.d.ts +16 -0
  558. package/dist/types/core/dynamo-expressions.d.ts +11 -0
  559. package/dist/types/core/dynamo-model.d.ts +57 -0
  560. package/dist/types/core/mongo-model.d.ts +107 -0
  561. package/dist/types/core/query.d.ts +11 -0
  562. package/dist/types/db/dynamo.d.ts +9 -0
  563. package/dist/types/db/mongo.d.ts +22 -0
  564. package/dist/types/dynamo/core.d.ts +4 -0
  565. package/dist/types/dynamo/tables.d.ts +6 -0
  566. package/dist/types/dynamo/token.d.ts +26 -0
  567. package/dist/types/dynamo/user.d.ts +40 -0
  568. package/dist/types/dynamo/vendor-credential.d.ts +20 -0
  569. package/dist/types/dynamo/vendor-settings.d.ts +79 -0
  570. package/dist/types/dynamo/vendor.d.ts +35 -0
  571. package/dist/types/index.d.ts +14 -0
  572. package/dist/types/models/active-code/index.d.ts +28 -0
  573. package/dist/types/models/active-code/schema.d.ts +244 -0
  574. package/dist/types/models/activity/index.d.ts +12 -0
  575. package/dist/types/models/activity/schema.d.ts +116 -0
  576. package/dist/types/models/affiliate/index.d.ts +13 -0
  577. package/dist/types/models/affiliate/schema.d.ts +124 -0
  578. package/dist/types/models/anonymous-active-code/index.d.ts +26 -0
  579. package/dist/types/models/anonymous-active-code/schema.d.ts +228 -0
  580. package/dist/types/models/anonymous-bill/index.d.ts +7 -0
  581. package/dist/types/models/anonymous-bill/schema.d.ts +620 -0
  582. package/dist/types/models/attendance/index.d.ts +19 -0
  583. package/dist/types/models/attendance/schema.d.ts +175 -0
  584. package/dist/types/models/author/index.d.ts +236 -0
  585. package/dist/types/models/author/schema.d.ts +191 -0
  586. package/dist/types/models/bill/index.d.ts +5 -0
  587. package/dist/types/models/bill/schema.d.ts +556 -0
  588. package/dist/types/models/bill-auto-history/index.d.ts +33 -0
  589. package/dist/types/models/bill-auto-history/schema.d.ts +284 -0
  590. package/dist/types/models/bill-statistic/helper.d.ts +2 -0
  591. package/dist/types/models/bill-statistic/index.d.ts +203 -0
  592. package/dist/types/models/bill-statistic/schema.d.ts +164 -0
  593. package/dist/types/models/blog/index.d.ts +14 -0
  594. package/dist/types/models/blog/schema.d.ts +132 -0
  595. package/dist/types/models/book/index.d.ts +28 -0
  596. package/dist/types/models/book/schema.d.ts +247 -0
  597. package/dist/types/models/book-membership/index.d.ts +8 -0
  598. package/dist/types/models/book-membership/schema.d.ts +84 -0
  599. package/dist/types/models/capability-report/index.d.ts +10 -0
  600. package/dist/types/models/capability-report/schema.d.ts +100 -0
  601. package/dist/types/models/cart/index.d.ts +10 -0
  602. package/dist/types/models/cart/schema.d.ts +103 -0
  603. package/dist/types/models/cart-link/index.d.ts +44 -0
  604. package/dist/types/models/cart-link/schema.d.ts +375 -0
  605. package/dist/types/models/certification/index.d.ts +19 -0
  606. package/dist/types/models/certification/schema.d.ts +175 -0
  607. package/dist/types/models/class/index.d.ts +24 -0
  608. package/dist/types/models/class/schema.d.ts +215 -0
  609. package/dist/types/models/combo/index.d.ts +23 -0
  610. package/dist/types/models/combo/schema.d.ts +204 -0
  611. package/dist/types/models/comment/index.d.ts +25 -0
  612. package/dist/types/models/comment/schema.d.ts +220 -0
  613. package/dist/types/models/commission/index.d.ts +17 -0
  614. package/dist/types/models/commission/schema.d.ts +163 -0
  615. package/dist/types/models/contact/index.d.ts +14 -0
  616. package/dist/types/models/contact/schema.d.ts +139 -0
  617. package/dist/types/models/coupon/index.d.ts +36 -0
  618. package/dist/types/models/coupon/schema.d.ts +308 -0
  619. package/dist/types/models/course-membership/index.d.ts +8 -0
  620. package/dist/types/models/course-membership/schema.d.ts +84 -0
  621. package/dist/types/models/custom-page/index.d.ts +9 -0
  622. package/dist/types/models/custom-page/schema.d.ts +92 -0
  623. package/dist/types/models/delivery-bill/index.d.ts +31 -0
  624. package/dist/types/models/delivery-bill/schema.d.ts +268 -0
  625. package/dist/types/models/delivery-bill-history/index.d.ts +9 -0
  626. package/dist/types/models/delivery-bill-history/schema.d.ts +92 -0
  627. package/dist/types/models/department/index.d.ts +13 -0
  628. package/dist/types/models/department/schema.d.ts +124 -0
  629. package/dist/types/models/device/index.d.ts +12 -0
  630. package/dist/types/models/device/schema.d.ts +119 -0
  631. package/dist/types/models/domain/index.d.ts +125 -0
  632. package/dist/types/models/domain/schema.d.ts +119 -0
  633. package/dist/types/models/domain/services.d.ts +13 -0
  634. package/dist/types/models/email/index.d.ts +16 -0
  635. package/dist/types/models/email/schema.d.ts +151 -0
  636. package/dist/types/models/evaluation-collection/index.d.ts +37 -0
  637. package/dist/types/models/evaluation-collection/schema.d.ts +319 -0
  638. package/dist/types/models/evaluation-form/index.d.ts +140 -0
  639. package/dist/types/models/evaluation-form/schema.d.ts +127 -0
  640. package/dist/types/models/evaluation-template/index.d.ts +31 -0
  641. package/dist/types/models/evaluation-template/schema.d.ts +271 -0
  642. package/dist/types/models/event/index.d.ts +31 -0
  643. package/dist/types/models/event/schema.d.ts +268 -0
  644. package/dist/types/models/exam/index.d.ts +31 -0
  645. package/dist/types/models/exam/schema.d.ts +271 -0
  646. package/dist/types/models/exam-knowledge/index.d.ts +17 -0
  647. package/dist/types/models/exam-knowledge/schema.d.ts +159 -0
  648. package/dist/types/models/favorite/index.d.ts +10 -0
  649. package/dist/types/models/favorite/schema.d.ts +100 -0
  650. package/dist/types/models/flashcard-item/index.d.ts +24 -0
  651. package/dist/types/models/flashcard-item/schema.d.ts +212 -0
  652. package/dist/types/models/flashcard-lesson-item/index.d.ts +17 -0
  653. package/dist/types/models/flashcard-lesson-item/schema.d.ts +156 -0
  654. package/dist/types/models/flashcard-list/index.d.ts +14 -0
  655. package/dist/types/models/flashcard-list/schema.d.ts +132 -0
  656. package/dist/types/models/flashcard-statistics/index.d.ts +9 -0
  657. package/dist/types/models/flashcard-statistics/schema.d.ts +92 -0
  658. package/dist/types/models/flashcard-submission/index.d.ts +17 -0
  659. package/dist/types/models/flashcard-submission/schema.d.ts +156 -0
  660. package/dist/types/models/goal/index.d.ts +9 -0
  661. package/dist/types/models/goal/schema.d.ts +92 -0
  662. package/dist/types/models/group/index.d.ts +18 -0
  663. package/dist/types/models/group/schema.d.ts +167 -0
  664. package/dist/types/models/homework/index.d.ts +28 -0
  665. package/dist/types/models/homework/schema.d.ts +247 -0
  666. package/dist/types/models/index.d.ts +119 -0
  667. package/dist/types/models/interest/index.d.ts +200 -0
  668. package/dist/types/models/interest/schema.d.ts +164 -0
  669. package/dist/types/models/keyword/index.d.ts +248 -0
  670. package/dist/types/models/keyword/schema.d.ts +199 -0
  671. package/dist/types/models/learning-path/index.d.ts +44 -0
  672. package/dist/types/models/learning-path/schema.d.ts +372 -0
  673. package/dist/types/models/log/index.d.ts +22 -0
  674. package/dist/types/models/log/schema.d.ts +196 -0
  675. package/dist/types/models/membership/index.d.ts +33 -0
  676. package/dist/types/models/membership/schema.d.ts +284 -0
  677. package/dist/types/models/membership-permission/index.d.ts +15 -0
  678. package/dist/types/models/membership-permission/schema.d.ts +140 -0
  679. package/dist/types/models/mistake-bank/index.d.ts +171 -0
  680. package/dist/types/models/mistake-bank/schema.d.ts +1396 -0
  681. package/dist/types/models/mistake-statistic/index.d.ts +11 -0
  682. package/dist/types/models/mistake-statistic/schema.d.ts +108 -0
  683. package/dist/types/models/notify/index.d.ts +216 -0
  684. package/dist/types/models/notify/schema.d.ts +167 -0
  685. package/dist/types/models/notify/services.d.ts +3 -0
  686. package/dist/types/models/offline-class-attendance/index.d.ts +11 -0
  687. package/dist/types/models/offline-class-attendance/schema.d.ts +108 -0
  688. package/dist/types/models/offline-class-mark/index.d.ts +18 -0
  689. package/dist/types/models/offline-class-mark/schema.d.ts +164 -0
  690. package/dist/types/models/offline-class-mark-student/index.d.ts +12 -0
  691. package/dist/types/models/offline-class-mark-student/schema.d.ts +116 -0
  692. package/dist/types/models/offline-class-session/index.d.ts +14 -0
  693. package/dist/types/models/offline-class-session/schema.d.ts +132 -0
  694. package/dist/types/models/offline-class-student/index.d.ts +11 -0
  695. package/dist/types/models/offline-class-student/schema.d.ts +108 -0
  696. package/dist/types/models/offline-course/index.d.ts +27 -0
  697. package/dist/types/models/offline-course/schema.d.ts +239 -0
  698. package/dist/types/models/online-course/index.d.ts +44 -0
  699. package/dist/types/models/online-course/schema.d.ts +375 -0
  700. package/dist/types/models/order/index.d.ts +223 -0
  701. package/dist/types/models/order/schema.d.ts +180 -0
  702. package/dist/types/models/problem-report/index.d.ts +18 -0
  703. package/dist/types/models/problem-report/schema.d.ts +164 -0
  704. package/dist/types/models/product/index.d.ts +21 -0
  705. package/dist/types/models/product/schema.d.ts +188 -0
  706. package/dist/types/models/product-category/index.d.ts +15 -0
  707. package/dist/types/models/product-category/schema.d.ts +140 -0
  708. package/dist/types/models/product-combo/index.d.ts +18 -0
  709. package/dist/types/models/product-combo/schema.d.ts +164 -0
  710. package/dist/types/models/product-coupon/index.d.ts +22 -0
  711. package/dist/types/models/product-coupon/schema.d.ts +196 -0
  712. package/dist/types/models/product-variant/index.d.ts +16 -0
  713. package/dist/types/models/product-variant/schema.d.ts +148 -0
  714. package/dist/types/models/progress/index.d.ts +11 -0
  715. package/dist/types/models/progress/schema.d.ts +111 -0
  716. package/dist/types/models/question/index.d.ts +31 -0
  717. package/dist/types/models/question/schema.d.ts +271 -0
  718. package/dist/types/models/question-generate/index.d.ts +28 -0
  719. package/dist/types/models/question-generate/schema.d.ts +247 -0
  720. package/dist/types/models/rating/index.d.ts +16 -0
  721. package/dist/types/models/rating/schema.d.ts +151 -0
  722. package/dist/types/models/reaction/index.d.ts +16 -0
  723. package/dist/types/models/reaction/schema.d.ts +151 -0
  724. package/dist/types/models/relation-course/index.d.ts +12 -0
  725. package/dist/types/models/relation-course/schema.d.ts +116 -0
  726. package/dist/types/models/reminder/index.d.ts +25 -0
  727. package/dist/types/models/reminder/schema.d.ts +220 -0
  728. package/dist/types/models/resource/index.d.ts +272 -0
  729. package/dist/types/models/resource/schema.d.ts +219 -0
  730. package/dist/types/models/resource-job/index.d.ts +10 -0
  731. package/dist/types/models/resource-job/schema.d.ts +107 -0
  732. package/dist/types/models/resource-statistic/index.d.ts +11 -0
  733. package/dist/types/models/resource-statistic/schema.d.ts +115 -0
  734. package/dist/types/models/root-system-vendor/index.d.ts +13 -0
  735. package/dist/types/models/root-system-vendor/schema.d.ts +124 -0
  736. package/dist/types/models/section/index.d.ts +15 -0
  737. package/dist/types/models/section/schema.d.ts +143 -0
  738. package/dist/types/models/slot/index.d.ts +18 -0
  739. package/dist/types/models/slot/schema.d.ts +167 -0
  740. package/dist/types/models/soleExam-package/index.d.ts +23 -0
  741. package/dist/types/models/soleExam-package/schema.d.ts +204 -0
  742. package/dist/types/models/soleExam-question-generate/index.d.ts +23 -0
  743. package/dist/types/models/soleExam-question-generate/schema.d.ts +204 -0
  744. package/dist/types/models/soleExam-submission/index.d.ts +21 -0
  745. package/dist/types/models/soleExam-submission/schema.d.ts +188 -0
  746. package/dist/types/models/soleExam-submission-statistic/index.d.ts +151 -0
  747. package/dist/types/models/soleExam-submission-statistic/schema.d.ts +124 -0
  748. package/dist/types/models/soleExam-unit/index.d.ts +19 -0
  749. package/dist/types/models/soleExam-unit/schema.d.ts +176 -0
  750. package/dist/types/models/streak/index.d.ts +10 -0
  751. package/dist/types/models/streak/schema.d.ts +100 -0
  752. package/dist/types/models/student/index.d.ts +370 -0
  753. package/dist/types/models/student/schema.d.ts +255 -0
  754. package/dist/types/models/student/service.d.ts +9 -0
  755. package/dist/types/models/student-log/index.d.ts +22 -0
  756. package/dist/types/models/student-log/schema.d.ts +196 -0
  757. package/dist/types/models/submission/index.d.ts +38 -0
  758. package/dist/types/models/submission/schema.d.ts +327 -0
  759. package/dist/types/models/submission-statistic/helper.d.ts +22 -0
  760. package/dist/types/models/submission-statistic/index.d.ts +163 -0
  761. package/dist/types/models/submission-statistic/schema.d.ts +135 -0
  762. package/dist/types/models/survey/index.d.ts +13 -0
  763. package/dist/types/models/survey/schema.d.ts +124 -0
  764. package/dist/types/models/survey-question/index.d.ts +11 -0
  765. package/dist/types/models/survey-question/schema.d.ts +108 -0
  766. package/dist/types/models/survey-result/index.d.ts +10 -0
  767. package/dist/types/models/survey-result/schema.d.ts +100 -0
  768. package/dist/types/models/survey-result-statistic/index.d.ts +11 -0
  769. package/dist/types/models/survey-result-statistic/schema.d.ts +108 -0
  770. package/dist/types/models/system-cross-vendor-job/index.d.ts +25 -0
  771. package/dist/types/models/system-cross-vendor-job/schema.d.ts +220 -0
  772. package/dist/types/models/system-private/index.d.ts +7 -0
  773. package/dist/types/models/system-private/schema.d.ts +79 -0
  774. package/dist/types/models/teacher-student-relation/index.d.ts +9 -0
  775. package/dist/types/models/teacher-student-relation/schema.d.ts +95 -0
  776. package/dist/types/models/template/index.d.ts +12 -0
  777. package/dist/types/models/template/schema.d.ts +119 -0
  778. package/dist/types/models/template-email/index.d.ts +10 -0
  779. package/dist/types/models/template-email/schema.d.ts +100 -0
  780. package/dist/types/models/topic/index.d.ts +18 -0
  781. package/dist/types/models/topic/schema.d.ts +167 -0
  782. package/dist/types/models/unit/index.d.ts +36 -0
  783. package/dist/types/models/unit/schema.d.ts +315 -0
  784. package/dist/types/models/user-affiliate/index.d.ts +9 -0
  785. package/dist/types/models/user-affiliate/schema.d.ts +95 -0
  786. package/dist/types/models/user-book/index.d.ts +185 -0
  787. package/dist/types/models/user-book/schema.d.ts +167 -0
  788. package/dist/types/models/user-cart-link/index.d.ts +14 -0
  789. package/dist/types/models/user-cart-link/schema.d.ts +135 -0
  790. package/dist/types/models/user-certification/index.d.ts +20 -0
  791. package/dist/types/models/user-certification/schema.d.ts +183 -0
  792. package/dist/types/models/user-course/index.d.ts +207 -0
  793. package/dist/types/models/user-course/schema.d.ts +183 -0
  794. package/dist/types/models/user-group/index.d.ts +9 -0
  795. package/dist/types/models/user-group/schema.d.ts +95 -0
  796. package/dist/types/models/user-live-class/index.d.ts +11 -0
  797. package/dist/types/models/user-live-class/schema.d.ts +111 -0
  798. package/dist/types/models/user-membership/index.d.ts +185 -0
  799. package/dist/types/models/user-membership/schema.d.ts +167 -0
  800. package/dist/types/models/user-path/index.d.ts +15 -0
  801. package/dist/types/models/user-path/schema.d.ts +140 -0
  802. package/dist/types/models/user-permission/index.d.ts +16 -0
  803. package/dist/types/models/user-permission/schema.d.ts +148 -0
  804. package/dist/types/models/user-soleExam/index.d.ts +9 -0
  805. package/dist/types/models/user-soleExam/schema.d.ts +92 -0
  806. package/dist/types/models/user-token-thirdparty/index.d.ts +13 -0
  807. package/dist/types/models/user-token-thirdparty/schema.d.ts +124 -0
  808. package/dist/types/models/user-unit/index.d.ts +11 -0
  809. package/dist/types/models/user-unit/schema.d.ts +108 -0
  810. package/dist/types/models/user-video/index.d.ts +13 -0
  811. package/dist/types/models/user-video/schema.d.ts +127 -0
  812. package/dist/types/models/view-data/index.d.ts +11 -0
  813. package/dist/types/models/view-data/schema.d.ts +108 -0
  814. package/dist/types/models/zoom/index.d.ts +17 -0
  815. package/dist/types/models/zoom/schema.d.ts +156 -0
  816. package/dist/types/services/affiliate.d.ts +19 -0
  817. package/dist/types/services/combo.d.ts +9 -0
  818. package/dist/types/services/email-ses-external.d.ts +14 -0
  819. package/dist/types/services/email-ses.d.ts +67 -0
  820. package/dist/types/services/email-templates.d.ts +3 -0
  821. package/dist/types/services/keyword.d.ts +234 -0
  822. package/dist/types/services/notify.d.ts +45 -0
  823. package/dist/types/services/submission.d.ts +26 -0
  824. package/dist/types/services/token.d.ts +29 -0
  825. package/dist/types/services/user.d.ts +25 -0
  826. 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
- # Temporary Holding Version
1
+ # @iztzelios/core
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
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;