cnpmcore 4.0.2 → 4.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 (340) hide show
  1. package/README.md +5 -3
  2. package/dist/app/common/AbstractService.js +5 -9
  3. package/dist/app/common/CryptoUtil.js +9 -17
  4. package/dist/app/common/ErrorUtil.js +2 -5
  5. package/dist/app/common/FileUtil.js +22 -31
  6. package/dist/app/common/LogUtil.js +2 -5
  7. package/dist/app/common/PackageUtil.d.ts +1 -1
  8. package/dist/app/common/PackageUtil.js +27 -75
  9. package/dist/app/common/SyncUtil.js +2 -5
  10. package/dist/app/common/UserUtil.js +19 -64
  11. package/dist/app/common/adapter/BugVersionStore.d.ts +1 -1
  12. package/dist/app/common/adapter/BugVersionStore.js +6 -9
  13. package/dist/app/common/adapter/CacheAdapter.js +7 -10
  14. package/dist/app/common/adapter/NFSAdapter.js +18 -21
  15. package/dist/app/common/adapter/NPMRegistry.d.ts +1 -1
  16. package/dist/app/common/adapter/NPMRegistry.js +13 -16
  17. package/dist/app/common/adapter/binary/AbstractBinary.d.ts +2 -2
  18. package/dist/app/common/adapter/binary/AbstractBinary.js +7 -11
  19. package/dist/app/common/adapter/binary/ApiBinary.d.ts +1 -1
  20. package/dist/app/common/adapter/binary/ApiBinary.js +10 -13
  21. package/dist/app/common/adapter/binary/BucketBinary.d.ts +2 -2
  22. package/dist/app/common/adapter/binary/BucketBinary.js +14 -20
  23. package/dist/app/common/adapter/binary/ChromeForTestingBinary.d.ts +1 -1
  24. package/dist/app/common/adapter/binary/ChromeForTestingBinary.js +11 -14
  25. package/dist/app/common/adapter/binary/CypressBinary.d.ts +1 -1
  26. package/dist/app/common/adapter/binary/CypressBinary.js +9 -12
  27. package/dist/app/common/adapter/binary/EdgedriverBinary.d.ts +1 -1
  28. package/dist/app/common/adapter/binary/EdgedriverBinary.js +12 -18
  29. package/dist/app/common/adapter/binary/ElectronBinary.d.ts +3 -3
  30. package/dist/app/common/adapter/binary/ElectronBinary.js +13 -19
  31. package/dist/app/common/adapter/binary/GithubBinary.d.ts +2 -2
  32. package/dist/app/common/adapter/binary/GithubBinary.js +11 -17
  33. package/dist/app/common/adapter/binary/ImageminBinary.d.ts +2 -2
  34. package/dist/app/common/adapter/binary/ImageminBinary.js +11 -17
  35. package/dist/app/common/adapter/binary/NodeBinary.d.ts +2 -2
  36. package/dist/app/common/adapter/binary/NodeBinary.js +14 -20
  37. package/dist/app/common/adapter/binary/NodePreGypBinary.d.ts +2 -2
  38. package/dist/app/common/adapter/binary/NodePreGypBinary.js +14 -20
  39. package/dist/app/common/adapter/binary/NwjsBinary.d.ts +2 -2
  40. package/dist/app/common/adapter/binary/NwjsBinary.js +12 -18
  41. package/dist/app/common/adapter/binary/PlaywrightBinary.d.ts +1 -1
  42. package/dist/app/common/adapter/binary/PlaywrightBinary.js +13 -19
  43. package/dist/app/common/adapter/binary/PrismaBinary.d.ts +2 -2
  44. package/dist/app/common/adapter/binary/PrismaBinary.js +14 -20
  45. package/dist/app/common/adapter/binary/PuppeteerBinary.d.ts +1 -1
  46. package/dist/app/common/adapter/binary/PuppeteerBinary.js +10 -13
  47. package/dist/app/common/adapter/binary/SqlcipherBinary.d.ts +1 -1
  48. package/dist/app/common/adapter/binary/SqlcipherBinary.js +9 -12
  49. package/dist/app/common/adapter/changesStream/AbstractChangesStream.d.ts +2 -2
  50. package/dist/app/common/adapter/changesStream/AbstractChangesStream.js +7 -11
  51. package/dist/app/common/adapter/changesStream/CnpmcoreChangesStream.d.ts +2 -2
  52. package/dist/app/common/adapter/changesStream/CnpmcoreChangesStream.js +11 -14
  53. package/dist/app/common/adapter/changesStream/CnpmjsorgChangesStream.d.ts +2 -2
  54. package/dist/app/common/adapter/changesStream/CnpmjsorgChangesStream.js +11 -14
  55. package/dist/app/common/adapter/changesStream/NpmChangesStream.d.ts +2 -2
  56. package/dist/app/common/adapter/changesStream/NpmChangesStream.js +11 -14
  57. package/dist/app/common/aop/AsyncTimer.js +10 -13
  58. package/dist/app/common/constants.js +17 -20
  59. package/dist/app/common/dayjs.js +5 -10
  60. package/dist/app/common/enum/Binary.js +3 -6
  61. package/dist/app/common/enum/Hook.js +5 -8
  62. package/dist/app/common/enum/Registry.js +3 -6
  63. package/dist/app/common/enum/Task.js +5 -8
  64. package/dist/app/common/enum/User.js +5 -8
  65. package/dist/app/common/package.json +2 -1
  66. package/dist/app/common/typing.d.ts +1 -1
  67. package/dist/app/common/typing.js +1 -2
  68. package/dist/app/core/entity/Binary.d.ts +2 -2
  69. package/dist/app/core/entity/Binary.js +5 -9
  70. package/dist/app/core/entity/BugVersion.js +2 -6
  71. package/dist/app/core/entity/Change.d.ts +2 -2
  72. package/dist/app/core/entity/Change.js +5 -9
  73. package/dist/app/core/entity/Dist.d.ts +2 -2
  74. package/dist/app/core/entity/Dist.js +5 -9
  75. package/dist/app/core/entity/Entity.js +2 -6
  76. package/dist/app/core/entity/Hook.d.ts +3 -3
  77. package/dist/app/core/entity/Hook.js +7 -14
  78. package/dist/app/core/entity/HookEvent.d.ts +1 -1
  79. package/dist/app/core/entity/HookEvent.js +11 -15
  80. package/dist/app/core/entity/Package.d.ts +4 -3
  81. package/dist/app/core/entity/Package.js +14 -15
  82. package/dist/app/core/entity/PackageTag.d.ts +2 -2
  83. package/dist/app/core/entity/PackageTag.js +5 -9
  84. package/dist/app/core/entity/PackageVersion.d.ts +3 -3
  85. package/dist/app/core/entity/PackageVersion.js +7 -11
  86. package/dist/app/core/entity/PackageVersionBlock.d.ts +2 -2
  87. package/dist/app/core/entity/PackageVersionBlock.js +5 -9
  88. package/dist/app/core/entity/PackageVersionFile.d.ts +3 -3
  89. package/dist/app/core/entity/PackageVersionFile.js +5 -9
  90. package/dist/app/core/entity/PackageVersionManifest.d.ts +2 -2
  91. package/dist/app/core/entity/PackageVersionManifest.js +5 -9
  92. package/dist/app/core/entity/PaddingSemVer.js +5 -9
  93. package/dist/app/core/entity/ProxyCache.d.ts +3 -3
  94. package/dist/app/core/entity/ProxyCache.js +8 -12
  95. package/dist/app/core/entity/Registry.d.ts +3 -3
  96. package/dist/app/core/entity/Registry.js +5 -9
  97. package/dist/app/core/entity/Scope.d.ts +2 -2
  98. package/dist/app/core/entity/Scope.js +5 -9
  99. package/dist/app/core/entity/SqlRange.js +8 -12
  100. package/dist/app/core/entity/Task.d.ts +4 -4
  101. package/dist/app/core/entity/Task.js +46 -53
  102. package/dist/app/core/entity/Token.d.ts +2 -2
  103. package/dist/app/core/entity/Token.js +10 -18
  104. package/dist/app/core/entity/User.d.ts +2 -2
  105. package/dist/app/core/entity/User.js +7 -11
  106. package/dist/app/core/entity/WebauthnCredential.d.ts +2 -2
  107. package/dist/app/core/entity/WebauthnCredential.js +5 -9
  108. package/dist/app/core/event/BugVersionFixHandler.js +12 -15
  109. package/dist/app/core/event/CacheCleaner.js +39 -42
  110. package/dist/app/core/event/ChangesStream.d.ts +4 -4
  111. package/dist/app/core/event/ChangesStream.js +59 -62
  112. package/dist/app/core/event/StoreManifest.js +17 -20
  113. package/dist/app/core/event/SyncESPackage.d.ts +1 -1
  114. package/dist/app/core/event/SyncESPackage.js +22 -25
  115. package/dist/app/core/event/SyncPackageVersionFile.js +25 -28
  116. package/dist/app/core/event/index.d.ts +1 -1
  117. package/dist/app/core/event/index.js +13 -16
  118. package/dist/app/core/package.json +2 -1
  119. package/dist/app/core/service/BinarySyncerService.d.ts +7 -7
  120. package/dist/app/core/service/BinarySyncerService.js +44 -50
  121. package/dist/app/core/service/BugVersionService.d.ts +1 -1
  122. package/dist/app/core/service/BugVersionService.js +28 -34
  123. package/dist/app/core/service/CacheService.d.ts +2 -2
  124. package/dist/app/core/service/CacheService.js +15 -18
  125. package/dist/app/core/service/ChangesStreamService.d.ts +3 -3
  126. package/dist/app/core/service/ChangesStreamService.js +52 -58
  127. package/dist/app/core/service/CreateHookTriggerService.d.ts +2 -2
  128. package/dist/app/core/service/CreateHookTriggerService.js +39 -45
  129. package/dist/app/core/service/EventCorkerAdvice.js +7 -10
  130. package/dist/app/core/service/FixNoPaddingVersionService.js +14 -20
  131. package/dist/app/core/service/HomeService.d.ts +1 -1
  132. package/dist/app/core/service/HomeService.js +13 -16
  133. package/dist/app/core/service/HookManageService.d.ts +2 -2
  134. package/dist/app/core/service/HookManageService.js +20 -23
  135. package/dist/app/core/service/HookTriggerService.d.ts +3 -3
  136. package/dist/app/core/service/HookTriggerService.js +32 -35
  137. package/dist/app/core/service/PackageManagerService.d.ts +7 -7
  138. package/dist/app/core/service/PackageManagerService.js +98 -104
  139. package/dist/app/core/service/PackageSearchService.d.ts +4 -4
  140. package/dist/app/core/service/PackageSearchService.js +31 -37
  141. package/dist/app/core/service/PackageSyncerService.d.ts +6 -6
  142. package/dist/app/core/service/PackageSyncerService.js +92 -99
  143. package/dist/app/core/service/PackageVersionFileService.d.ts +4 -4
  144. package/dist/app/core/service/PackageVersionFileService.js +64 -69
  145. package/dist/app/core/service/PackageVersionService.d.ts +4 -1
  146. package/dist/app/core/service/PackageVersionService.js +41 -59
  147. package/dist/app/core/service/ProxyCacheService.d.ts +5 -6
  148. package/dist/app/core/service/ProxyCacheService.js +62 -69
  149. package/dist/app/core/service/RegistryManagerService.d.ts +3 -3
  150. package/dist/app/core/service/RegistryManagerService.js +33 -36
  151. package/dist/app/core/service/ScopeManagerService.d.ts +3 -3
  152. package/dist/app/core/service/ScopeManagerService.js +13 -16
  153. package/dist/app/core/service/TaskService.d.ts +7 -7
  154. package/dist/app/core/service/TaskService.js +28 -29
  155. package/dist/app/core/service/TokenService.d.ts +4 -4
  156. package/dist/app/core/service/TokenService.js +30 -36
  157. package/dist/app/core/service/UserService.d.ts +6 -6
  158. package/dist/app/core/service/UserService.js +43 -49
  159. package/dist/app/core/util/EntityUtil.d.ts +1 -1
  160. package/dist/app/core/util/EntityUtil.js +7 -13
  161. package/dist/app/infra/AuthAdapter.d.ts +1 -1
  162. package/dist/app/infra/AuthAdapter.js +12 -15
  163. package/dist/app/infra/NFSClientAdapter.d.ts +1 -1
  164. package/dist/app/infra/NFSClientAdapter.js +11 -17
  165. package/dist/app/infra/QueueAdapter.d.ts +1 -1
  166. package/dist/app/infra/QueueAdapter.js +9 -12
  167. package/dist/app/infra/SearchAdapter.d.ts +1 -1
  168. package/dist/app/infra/SearchAdapter.js +10 -13
  169. package/dist/app/infra/package.json +2 -1
  170. package/dist/app/port/UserRoleManager.d.ts +3 -3
  171. package/dist/app/port/UserRoleManager.js +30 -33
  172. package/dist/app/port/config.d.ts +3 -3
  173. package/dist/app/port/config.js +2 -6
  174. package/dist/app/port/controller/AbstractController.d.ts +8 -8
  175. package/dist/app/port/controller/AbstractController.js +33 -37
  176. package/dist/app/port/controller/AccessController.d.ts +1 -1
  177. package/dist/app/port/controller/AccessController.js +22 -25
  178. package/dist/app/port/controller/BinarySyncController.d.ts +2 -2
  179. package/dist/app/port/controller/BinarySyncController.js +42 -48
  180. package/dist/app/port/controller/ChangesStreamController.d.ts +1 -1
  181. package/dist/app/port/controller/ChangesStreamController.js +17 -20
  182. package/dist/app/port/controller/DownloadController.d.ts +1 -1
  183. package/dist/app/port/controller/DownloadController.js +30 -36
  184. package/dist/app/port/controller/HomeController.d.ts +2 -2
  185. package/dist/app/port/controller/HomeController.js +29 -31
  186. package/dist/app/port/controller/HookController.d.ts +5 -5
  187. package/dist/app/port/controller/HookController.js +43 -46
  188. package/dist/app/port/controller/PackageBlockController.d.ts +2 -2
  189. package/dist/app/port/controller/PackageBlockController.js +37 -40
  190. package/dist/app/port/controller/PackageSyncController.d.ts +5 -5
  191. package/dist/app/port/controller/PackageSyncController.js +64 -67
  192. package/dist/app/port/controller/PackageTagController.d.ts +1 -1
  193. package/dist/app/port/controller/PackageTagController.js +33 -36
  194. package/dist/app/port/controller/PackageVersionFileController.d.ts +1 -1
  195. package/dist/app/port/controller/PackageVersionFileController.js +56 -59
  196. package/dist/app/port/controller/ProxyCacheController.d.ts +7 -7
  197. package/dist/app/port/controller/ProxyCacheController.js +56 -58
  198. package/dist/app/port/controller/RegistryController.d.ts +7 -7
  199. package/dist/app/port/controller/RegistryController.js +57 -60
  200. package/dist/app/port/controller/ScopeController.d.ts +3 -3
  201. package/dist/app/port/controller/ScopeController.js +28 -31
  202. package/dist/app/port/controller/TokenController.d.ts +17 -17
  203. package/dist/app/port/controller/TokenController.js +52 -55
  204. package/dist/app/port/controller/UserController.d.ts +8 -8
  205. package/dist/app/port/controller/UserController.js +52 -55
  206. package/dist/app/port/controller/admin/PaddingVersionController.d.ts +1 -1
  207. package/dist/app/port/controller/admin/PaddingVersionController.js +14 -17
  208. package/dist/app/port/controller/convertor/HookConvertor.d.ts +4 -4
  209. package/dist/app/port/controller/convertor/HookConvertor.js +2 -6
  210. package/dist/app/port/controller/package/DownloadPackageVersionTar.d.ts +6 -6
  211. package/dist/app/port/controller/package/DownloadPackageVersionTar.js +69 -60
  212. package/dist/app/port/controller/package/RemovePackageVersionController.d.ts +1 -1
  213. package/dist/app/port/controller/package/RemovePackageVersionController.js +26 -29
  214. package/dist/app/port/controller/package/SavePackageVersionController.d.ts +9 -9
  215. package/dist/app/port/controller/package/SavePackageVersionController.js +57 -96
  216. package/dist/app/port/controller/package/SearchPackageController.d.ts +4 -4
  217. package/dist/app/port/controller/package/SearchPackageController.js +31 -34
  218. package/dist/app/port/controller/package/ShowPackageController.d.ts +1 -1
  219. package/dist/app/port/controller/package/ShowPackageController.js +32 -35
  220. package/dist/app/port/controller/package/ShowPackageVersionController.d.ts +2 -2
  221. package/dist/app/port/controller/package/ShowPackageVersionController.js +33 -36
  222. package/dist/app/port/controller/package/UpdatePackageController.d.ts +6 -6
  223. package/dist/app/port/controller/package/UpdatePackageController.js +25 -28
  224. package/dist/app/port/middleware/AdminAccess.js +6 -9
  225. package/dist/app/port/middleware/AlwaysAuth.js +4 -7
  226. package/dist/app/port/middleware/ErrorHandler.js +4 -7
  227. package/dist/app/port/middleware/Tracing.js +2 -5
  228. package/dist/app/port/middleware/index.js +10 -13
  229. package/dist/app/port/package.json +2 -1
  230. package/dist/app/port/schedule/ChangesStreamWorker.js +12 -15
  231. package/dist/app/port/schedule/CheckProxyCacheUpdateWorker.js +19 -21
  232. package/dist/app/port/schedule/CheckRecentlyUpdatedPackages.js +20 -23
  233. package/dist/app/port/schedule/CleanTempDir.js +23 -30
  234. package/dist/app/port/schedule/CreateSyncBinaryTask.js +13 -19
  235. package/dist/app/port/schedule/CreateTriggerHookWorker.js +18 -21
  236. package/dist/app/port/schedule/SavePackageVersionDownloadCounter.js +10 -13
  237. package/dist/app/port/schedule/SyncBinaryWorker.js +14 -17
  238. package/dist/app/port/schedule/SyncPackageWorker.js +14 -17
  239. package/dist/app/port/schedule/SyncProxyCacheWorker.js +14 -17
  240. package/dist/app/port/schedule/TaskTimeoutHandler.js +14 -17
  241. package/dist/app/port/schedule/TriggerHookWorker.js +18 -21
  242. package/dist/app/port/schedule/UpdateTotalData.js +32 -38
  243. package/dist/app/port/typebox.d.ts +73 -73
  244. package/dist/app/port/typebox.js +83 -90
  245. package/dist/app/port/webauth/WebauthController.d.ts +6 -6
  246. package/dist/app/port/webauth/WebauthController.js +91 -91
  247. package/dist/app/repository/AbstractRepository.js +4 -8
  248. package/dist/app/repository/BinaryRepository.d.ts +2 -2
  249. package/dist/app/repository/BinaryRepository.js +15 -18
  250. package/dist/app/repository/ChangeRepository.d.ts +3 -3
  251. package/dist/app/repository/ChangeRepository.js +11 -14
  252. package/dist/app/repository/DistRepository.d.ts +2 -2
  253. package/dist/app/repository/DistRepository.js +12 -15
  254. package/dist/app/repository/HookRepository.d.ts +2 -2
  255. package/dist/app/repository/HookRepository.js +14 -17
  256. package/dist/app/repository/PackageRepository.d.ts +8 -8
  257. package/dist/app/repository/PackageRepository.js +59 -62
  258. package/dist/app/repository/PackageVersionBlockRepository.d.ts +3 -3
  259. package/dist/app/repository/PackageVersionBlockRepository.js +14 -17
  260. package/dist/app/repository/PackageVersionDownloadRepository.d.ts +2 -2
  261. package/dist/app/repository/PackageVersionDownloadRepository.js +9 -12
  262. package/dist/app/repository/PackageVersionFileRepository.d.ts +2 -2
  263. package/dist/app/repository/PackageVersionFileRepository.js +19 -22
  264. package/dist/app/repository/PackageVersionRepository.d.ts +3 -3
  265. package/dist/app/repository/PackageVersionRepository.js +12 -15
  266. package/dist/app/repository/ProxyCacheRepository.d.ts +5 -5
  267. package/dist/app/repository/ProxyCacheRepository.js +16 -19
  268. package/dist/app/repository/RegistryRepository.d.ts +4 -4
  269. package/dist/app/repository/RegistryRepository.js +19 -22
  270. package/dist/app/repository/ScopeRepository.d.ts +4 -4
  271. package/dist/app/repository/ScopeRepository.js +19 -22
  272. package/dist/app/repository/SearchRepository.d.ts +1 -1
  273. package/dist/app/repository/SearchRepository.js +7 -10
  274. package/dist/app/repository/TaskRepository.d.ts +8 -8
  275. package/dist/app/repository/TaskRepository.js +31 -34
  276. package/dist/app/repository/UserRepository.d.ts +4 -4
  277. package/dist/app/repository/UserRepository.js +38 -41
  278. package/dist/app/repository/model/Binary.d.ts +1 -1
  279. package/dist/app/repository/model/Binary.js +17 -20
  280. package/dist/app/repository/model/Change.d.ts +1 -1
  281. package/dist/app/repository/model/Change.js +14 -17
  282. package/dist/app/repository/model/Dist.d.ts +1 -1
  283. package/dist/app/repository/model/Dist.js +16 -19
  284. package/dist/app/repository/model/HistoryTask.d.ts +2 -2
  285. package/dist/app/repository/model/HistoryTask.js +22 -25
  286. package/dist/app/repository/model/Hook.d.ts +2 -2
  287. package/dist/app/repository/model/Hook.js +19 -22
  288. package/dist/app/repository/model/Maintainer.d.ts +1 -1
  289. package/dist/app/repository/model/Maintainer.js +12 -15
  290. package/dist/app/repository/model/Package.d.ts +1 -1
  291. package/dist/app/repository/model/Package.js +21 -24
  292. package/dist/app/repository/model/PackageDep.d.ts +1 -1
  293. package/dist/app/repository/model/PackageDep.js +15 -18
  294. package/dist/app/repository/model/PackageTag.d.ts +1 -1
  295. package/dist/app/repository/model/PackageTag.js +14 -17
  296. package/dist/app/repository/model/PackageVersion.d.ts +1 -1
  297. package/dist/app/repository/model/PackageVersion.js +27 -30
  298. package/dist/app/repository/model/PackageVersionBlock.d.ts +1 -1
  299. package/dist/app/repository/model/PackageVersionBlock.js +14 -17
  300. package/dist/app/repository/model/PackageVersionDownload.d.ts +1 -1
  301. package/dist/app/repository/model/PackageVersionDownload.js +44 -47
  302. package/dist/app/repository/model/PackageVersionFile.d.ts +1 -1
  303. package/dist/app/repository/model/PackageVersionFile.js +19 -22
  304. package/dist/app/repository/model/PackageVersionManifest.d.ts +1 -1
  305. package/dist/app/repository/model/PackageVersionManifest.js +14 -17
  306. package/dist/app/repository/model/ProxyCache.d.ts +2 -2
  307. package/dist/app/repository/model/ProxyCache.js +15 -18
  308. package/dist/app/repository/model/Registry.d.ts +2 -2
  309. package/dist/app/repository/model/Registry.js +18 -21
  310. package/dist/app/repository/model/Scope.d.ts +1 -1
  311. package/dist/app/repository/model/Scope.js +13 -16
  312. package/dist/app/repository/model/Task.d.ts +2 -2
  313. package/dist/app/repository/model/Task.js +23 -26
  314. package/dist/app/repository/model/Token.d.ts +1 -1
  315. package/dist/app/repository/model/Token.js +23 -26
  316. package/dist/app/repository/model/TokenPackage.d.ts +1 -1
  317. package/dist/app/repository/model/TokenPackage.js +12 -15
  318. package/dist/app/repository/model/User.d.ts +1 -1
  319. package/dist/app/repository/model/User.js +18 -21
  320. package/dist/app/repository/model/WebauthnCredential.d.ts +1 -1
  321. package/dist/app/repository/model/WebauthnCredential.js +15 -18
  322. package/dist/app/repository/package.json +1 -3
  323. package/dist/app/repository/util/EntityProperty.js +6 -9
  324. package/dist/app/repository/util/ErrorUtil.js +2 -5
  325. package/dist/app/repository/util/ModelConvertor.d.ts +5 -5
  326. package/dist/app/repository/util/ModelConvertor.js +17 -24
  327. package/dist/app/repository/util/ModelConvertorUtil.js +5 -9
  328. package/dist/app/repository/util/leoric.d.ts +4 -0
  329. package/dist/app/repository/util/leoric.js +4 -0
  330. package/dist/app.d.ts +3 -3
  331. package/dist/app.js +9 -15
  332. package/dist/config/binaries.d.ts +8 -1
  333. package/dist/config/binaries.js +99 -94
  334. package/dist/config/config.default.d.ts +1 -1
  335. package/dist/config/config.default.js +69 -74
  336. package/dist/config/config.unittest.d.ts +1 -2
  337. package/dist/config/config.unittest.js +11 -16
  338. package/dist/config/database.js +20 -23
  339. package/dist/config/plugin.js +3 -5
  340. package/package.json +17 -16
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
2
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
3
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -8,26 +7,24 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
7
  var __metadata = (this && this.__metadata) || function (k, v) {
9
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
9
  };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.TaskService = void 0;
13
- const tegg_1 = require("@eggjs/tegg");
14
- const NFSAdapter_1 = require("../../common/adapter/NFSAdapter");
15
- const Task_1 = require("../../common/enum/Task");
16
- const AbstractService_1 = require("../../common/AbstractService");
17
- const TaskRepository_1 = require("../../repository/TaskRepository");
18
- const Task_2 = require("../entity/Task");
19
- let TaskService = class TaskService extends AbstractService_1.AbstractService {
10
+ import { AccessLevel, SingletonProto, Inject, } from '@eggjs/tegg';
11
+ import { NFSAdapter } from '../../common/adapter/NFSAdapter.js';
12
+ import { TaskState, TaskType } from '../../common/enum/Task.js';
13
+ import { AbstractService } from '../../common/AbstractService.js';
14
+ import { TaskRepository } from '../../repository/TaskRepository.js';
15
+ import { Task } from '../entity/Task.js';
16
+ let TaskService = class TaskService extends AbstractService {
20
17
  async getTaskQueueLength(taskType) {
21
18
  return await this.queueAdapter.length(taskType);
22
19
  }
23
20
  async createTask(task, addTaskQueueOnExists) {
24
21
  const existsTask = await this.taskRepository.findTaskByTargetName(task.targetName, task.type);
25
22
  // 只在包同步场景下做任务合并,其余场景通过 bizId 来进行任务幂等
26
- if (existsTask && Task_2.Task.needMergeWhenWaiting(task.type)) {
23
+ if (existsTask && Task.needMergeWhenWaiting(task.type)) {
27
24
  // 在包同步场景,如果任务还未被触发,就不继续重复创建
28
25
  // 如果任务正在执行,可能任务状态已更新,这种情况需要继续创建
29
- if (existsTask.state === Task_1.TaskState.Waiting) {
30
- if (task.type === Task_1.TaskType.SyncPackage) {
26
+ if (existsTask.state === TaskState.Waiting) {
27
+ if (task.type === TaskType.SyncPackage) {
31
28
  // 如果是specificVersions的任务则可能可以和存量任务进行合并
32
29
  const specificVersions = task.data?.specificVersions;
33
30
  const existsTaskSpecificVersions = existsTask.data?.specificVersions;
@@ -65,7 +62,7 @@ let TaskService = class TaskService extends AbstractService_1.AbstractService {
65
62
  if (appendLog) {
66
63
  await this.appendLogToNFS(task, appendLog);
67
64
  }
68
- task.state = Task_1.TaskState.Waiting;
65
+ task.state = TaskState.Waiting;
69
66
  await this.taskRepository.saveTask(task);
70
67
  await this.queueAdapter.push(task.type, task.taskId);
71
68
  const queueLength = await this.getTaskQueueLength(task.type);
@@ -87,7 +84,7 @@ let TaskService = class TaskService extends AbstractService_1.AbstractService {
87
84
  task = await this.taskRepository.findTask(taskId);
88
85
  // 任务已删除或任务已执行
89
86
  // 继续取下一个任务
90
- if (task === null || task?.state !== Task_1.TaskState.Waiting) {
87
+ if (task === null || task?.state !== TaskState.Waiting) {
91
88
  taskId = await this.queueAdapter.pop(taskType);
92
89
  continue;
93
90
  }
@@ -103,12 +100,12 @@ let TaskService = class TaskService extends AbstractService_1.AbstractService {
103
100
  }
104
101
  async retryExecuteTimeoutTasks() {
105
102
  // try processing timeout tasks in 10 mins
106
- const tasks = await this.taskRepository.findTimeoutTasks(Task_1.TaskState.Processing, 60000 * 10);
103
+ const tasks = await this.taskRepository.findTimeoutTasks(TaskState.Processing, 60000 * 10);
107
104
  for (const task of tasks) {
108
105
  try {
109
106
  // ignore ChangesStream task, it won't timeout
110
- if (task.attempts >= 3 && task.type !== Task_1.TaskType.ChangesStream) {
111
- await this.finishTask(task, Task_1.TaskState.Timeout);
107
+ if (task.attempts >= 3 && task.type !== TaskType.ChangesStream) {
108
+ await this.finishTask(task, TaskState.Timeout);
112
109
  this.logger.warn('[TaskService.retryExecuteTimeoutTasks:timeout] taskType: %s, targetName: %s, taskId: %s, attempts %s set to fail', task.type, task.targetName, task.taskId, task.attempts);
113
110
  continue;
114
111
  }
@@ -121,10 +118,11 @@ let TaskService = class TaskService extends AbstractService_1.AbstractService {
121
118
  }
122
119
  catch (e) {
123
120
  this.logger.error('[TaskService.retryExecuteTimeoutTasks:error] processing task, taskType: %s, targetName: %s, taskId: %s, attempts %s will retry again', task.type, task.targetName, task.taskId, task.attempts);
121
+ this.logger.error(e);
124
122
  }
125
123
  }
126
124
  // try waiting timeout tasks in 30 mins
127
- const waitingTasks = await this.taskRepository.findTimeoutTasks(Task_1.TaskState.Waiting, 60000 * 30);
125
+ const waitingTasks = await this.taskRepository.findTimeoutTasks(TaskState.Waiting, 60000 * 30);
128
126
  for (const task of waitingTasks) {
129
127
  try {
130
128
  await this.retryTask(task);
@@ -132,6 +130,7 @@ let TaskService = class TaskService extends AbstractService_1.AbstractService {
132
130
  }
133
131
  catch (e) {
134
132
  this.logger.error('[TaskService.retryExecuteTimeoutTasks:error] waiting task, taskType: %s, targetName: %s, taskId: %s, attempts %s will retry again', task.type, task.targetName, task.taskId, task.attempts);
133
+ this.logger.error(e);
135
134
  }
136
135
  }
137
136
  return {
@@ -171,22 +170,22 @@ let TaskService = class TaskService extends AbstractService_1.AbstractService {
171
170
  }
172
171
  }
173
172
  };
174
- exports.TaskService = TaskService;
175
173
  __decorate([
176
- (0, tegg_1.Inject)(),
177
- __metadata("design:type", TaskRepository_1.TaskRepository)
174
+ Inject(),
175
+ __metadata("design:type", TaskRepository)
178
176
  ], TaskService.prototype, "taskRepository", void 0);
179
177
  __decorate([
180
- (0, tegg_1.Inject)(),
181
- __metadata("design:type", NFSAdapter_1.NFSAdapter)
178
+ Inject(),
179
+ __metadata("design:type", NFSAdapter)
182
180
  ], TaskService.prototype, "nfsAdapter", void 0);
183
181
  __decorate([
184
- (0, tegg_1.Inject)(),
182
+ Inject(),
185
183
  __metadata("design:type", Object)
186
184
  ], TaskService.prototype, "queueAdapter", void 0);
187
- exports.TaskService = TaskService = __decorate([
188
- (0, tegg_1.SingletonProto)({
189
- accessLevel: tegg_1.AccessLevel.PUBLIC,
185
+ TaskService = __decorate([
186
+ SingletonProto({
187
+ accessLevel: AccessLevel.PUBLIC,
190
188
  })
191
189
  ], TaskService);
192
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFza1NlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9hcHAvY29yZS9zZXJ2aWNlL1Rhc2tTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLHNDQUlxQjtBQUNyQixnRUFBNkQ7QUFDN0QsaURBQTZEO0FBQzdELGtFQUErRDtBQUMvRCxvRUFBaUU7QUFDakUseUNBQWlFO0FBTTFELElBQU0sV0FBVyxHQUFqQixNQUFNLFdBQVksU0FBUSxpQ0FBZTtJQVF2QyxLQUFLLENBQUMsa0JBQWtCLENBQUMsUUFBa0I7UUFDaEQsT0FBTyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFTSxLQUFLLENBQUMsVUFBVSxDQUFDLElBQVUsRUFBRSxvQkFBNkI7UUFDL0QsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTlGLHFDQUFxQztRQUNyQyxJQUFJLFVBQVUsSUFBSSxXQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDdkQsNEJBQTRCO1lBQzVCLGdDQUFnQztZQUNoQyxJQUFJLFVBQVUsQ0FBQyxLQUFLLEtBQUssZ0JBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDM0MsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLGVBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztvQkFDdkMsdUNBQXVDO29CQUN2QyxNQUFNLGdCQUFnQixHQUFJLElBQXdDLENBQUMsSUFBSSxFQUFFLGdCQUFnQixDQUFDO29CQUMxRixNQUFNLDBCQUEwQixHQUFJLFVBQThDLENBQUMsSUFBSSxFQUFFLGdCQUFnQixDQUFDO29CQUMxRyxJQUFJLDBCQUEwQixFQUFFLENBQUM7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
190
+ export { TaskService };
191
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFza1NlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9hcHAvY29yZS9zZXJ2aWNlL1Rhc2tTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFDTCxXQUFXLEVBQ1gsY0FBYyxFQUNkLE1BQU0sR0FDUCxNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxJQUFJLEVBQTZCLE1BQU0sbUJBQW1CLENBQUM7QUFNN0QsSUFBTSxXQUFXLEdBQWpCLE1BQU0sV0FBWSxTQUFRLGVBQWU7SUFRdkMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLFFBQWtCO1FBQ2hELE9BQU8sTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRU0sS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFVLEVBQUUsb0JBQTZCO1FBQy9ELE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU5RixxQ0FBcUM7UUFDckMsSUFBSSxVQUFVLElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3ZELDRCQUE0QjtZQUM1QixnQ0FBZ0M7WUFDaEMsSUFBSSxVQUFVLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDM0MsSUFB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
@@ -1,6 +1,6 @@
1
- import { AbstractService } from '../../common/AbstractService';
2
- import { Token } from '../entity/Token';
3
- import { Package as PackageEntity } from '../entity/Package';
1
+ import { AbstractService } from '../../common/AbstractService.js';
2
+ import { Token } from '../entity/Token.js';
3
+ import { Package as PackageEntity } from '../entity/Package.js';
4
4
  export declare class TokenService extends AbstractService {
5
5
  private readonly TokenPackage;
6
6
  private readonly Package;
@@ -10,6 +10,6 @@ export declare class TokenService extends AbstractService {
10
10
  checkGranularTokenAccess(token: Token, fullname: string): Promise<boolean>;
11
11
  getUserAndToken(authorization: string): Promise<{
12
12
  token: Token;
13
- user: import("../entity/User").User;
13
+ user: import("../entity/User.js").User;
14
14
  } | null>;
15
15
  }
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
2
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
3
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -8,46 +7,41 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
7
  var __metadata = (this && this.__metadata) || function (k, v) {
9
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
9
  };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.TokenService = void 0;
16
- const dayjs_1 = __importDefault(require("dayjs"));
17
- const tegg_1 = require("@eggjs/tegg");
18
- const lodash_1 = require("lodash");
19
- const AbstractService_1 = require("../../common/AbstractService");
20
- const Token_1 = require("../entity/Token");
21
- const ModelConvertor_1 = require("../../../app/repository/util/ModelConvertor");
22
- const Package_1 = require("../entity/Package");
23
- const egg_errors_1 = require("egg-errors");
24
- const PackageUtil_1 = require("../../../app/common/PackageUtil");
25
- const UserUtil_1 = require("../../../app/common/UserUtil");
26
- const UserRepository_1 = require("../../../app/repository/UserRepository");
27
- let TokenService = class TokenService extends AbstractService_1.AbstractService {
10
+ import dayjs from 'dayjs';
11
+ import { AccessLevel, SingletonProto, Inject, } from '@eggjs/tegg';
12
+ import { isEmpty } from 'lodash-es';
13
+ import { ForbiddenError, UnauthorizedError } from 'egg-errors';
14
+ import { AbstractService } from '../../common/AbstractService.js';
15
+ import { isGranularToken } from '../entity/Token.js';
16
+ import { ModelConvertor } from '../../../app/repository/util/ModelConvertor.js';
17
+ import { Package as PackageEntity } from '../entity/Package.js';
18
+ import { getScopeAndName } from '../../../app/common/PackageUtil.js';
19
+ import { sha512 } from '../../../app/common/UserUtil.js';
20
+ import { UserRepository } from '../../../app/repository/UserRepository.js';
21
+ let TokenService = class TokenService extends AbstractService {
28
22
  async listTokenPackages(token) {
29
- if ((0, Token_1.isGranularToken)(token)) {
23
+ if (isGranularToken(token)) {
30
24
  const models = await this.TokenPackage.find({ tokenId: token.tokenId });
31
25
  const packages = await this.Package.find({ packageId: models.map(m => m.packageId) });
32
- return packages.map(pkg => ModelConvertor_1.ModelConvertor.convertModelToEntity(pkg, Package_1.Package));
26
+ return packages.map(pkg => ModelConvertor.convertModelToEntity(pkg, PackageEntity));
33
27
  }
34
28
  return null;
35
29
  }
36
30
  async checkTokenStatus(token) {
37
31
  // check for expires
38
- if ((0, Token_1.isGranularToken)(token) && (0, dayjs_1.default)(token.expiredAt).isBefore(new Date())) {
39
- throw new egg_errors_1.UnauthorizedError('Token expired');
32
+ if (isGranularToken(token) && dayjs(token.expiredAt).isBefore(new Date())) {
33
+ throw new UnauthorizedError('Token expired');
40
34
  }
41
35
  token.lastUsedAt = new Date();
42
36
  this.userRepository.saveToken(token);
43
37
  }
44
38
  async checkGranularTokenAccess(token, fullname) {
45
39
  // check for scope whitelist
46
- const [scope, name] = (0, PackageUtil_1.getScopeAndName)(fullname);
40
+ const [scope, name] = getScopeAndName(fullname);
47
41
  // check for packages whitelist
48
42
  const allowedPackages = await this.listTokenPackages(token);
49
43
  // check for scope & packages access
50
- if ((0, lodash_1.isEmpty)(allowedPackages) && (0, lodash_1.isEmpty)(token.allowedScopes)) {
44
+ if (isEmpty(allowedPackages) && isEmpty(token.allowedScopes)) {
51
45
  return true;
52
46
  }
53
47
  const existPkgConfig = allowedPackages?.find(pkg => pkg.scope === scope && pkg.name === name);
@@ -58,36 +52,36 @@ let TokenService = class TokenService extends AbstractService_1.AbstractService
58
52
  if (existScopeConfig) {
59
53
  return true;
60
54
  }
61
- throw new egg_errors_1.ForbiddenError(`can't access package "${fullname}"`);
55
+ throw new ForbiddenError(`can't access package "${fullname}"`);
62
56
  }
63
57
  async getUserAndToken(authorization) {
64
58
  if (!authorization)
65
59
  return null;
66
- const matchs = /^Bearer ([\w\.]+?)$/.exec(authorization);
60
+ const matchs = /^Bearer ([\w.]+?)$/.exec(authorization);
67
61
  if (!matchs)
68
62
  return null;
69
63
  const tokenValue = matchs[1];
70
- const tokenKey = (0, UserUtil_1.sha512)(tokenValue);
64
+ const tokenKey = sha512(tokenValue);
71
65
  const authorizedUserAndToken = await this.userRepository.findUserAndTokenByTokenKey(tokenKey);
72
66
  return authorizedUserAndToken;
73
67
  }
74
68
  };
75
- exports.TokenService = TokenService;
76
69
  __decorate([
77
- (0, tegg_1.Inject)(),
70
+ Inject(),
78
71
  __metadata("design:type", Object)
79
72
  ], TokenService.prototype, "TokenPackage", void 0);
80
73
  __decorate([
81
- (0, tegg_1.Inject)(),
74
+ Inject(),
82
75
  __metadata("design:type", Object)
83
76
  ], TokenService.prototype, "Package", void 0);
84
77
  __decorate([
85
- (0, tegg_1.Inject)(),
86
- __metadata("design:type", UserRepository_1.UserRepository)
78
+ Inject(),
79
+ __metadata("design:type", UserRepository)
87
80
  ], TokenService.prototype, "userRepository", void 0);
88
- exports.TokenService = TokenService = __decorate([
89
- (0, tegg_1.SingletonProto)({
90
- accessLevel: tegg_1.AccessLevel.PUBLIC,
81
+ TokenService = __decorate([
82
+ SingletonProto({
83
+ accessLevel: AccessLevel.PUBLIC,
91
84
  })
92
85
  ], TokenService);
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVG9rZW5TZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vYXBwL2NvcmUvc2VydmljZS9Ub2tlblNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsa0RBQTBCO0FBQzFCLHNDQUlxQjtBQUNyQixtQ0FBaUM7QUFDakMsa0VBQStEO0FBQy9ELDJDQUF5RDtBQUd6RCxnRkFBNkU7QUFDN0UsK0NBQTZEO0FBQzdELDJDQUErRDtBQUMvRCxpRUFBa0U7QUFDbEUsMkRBQXNEO0FBQ3RELDJFQUF3RTtBQUtqRSxJQUFNLFlBQVksR0FBbEIsTUFBTSxZQUFhLFNBQVEsaUNBQWU7SUFReEMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLEtBQVk7UUFDekMsSUFBSSxJQUFBLHVCQUFlLEVBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMzQixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBQ3hFLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDdEYsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsK0JBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLEVBQUUsaUJBQWEsQ0FBQyxDQUFDLENBQUM7UUFDdEYsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFZO1FBQ3hDLG9CQUFvQjtRQUNwQixJQUFJLElBQUEsdUJBQWUsRUFBQyxLQUFLLENBQUMsSUFBSSxJQUFB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
86
+ export { TokenService };
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVG9rZW5TZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vYXBwL2NvcmUvc2VydmljZS9Ub2tlblNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFDTCxXQUFXLEVBQ1gsY0FBYyxFQUNkLE1BQU0sR0FDUCxNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBUyxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUc1RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDaEYsT0FBTyxFQUFFLE9BQU8sSUFBSSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDckUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUtwRSxJQUFNLFlBQVksR0FBbEIsTUFBTSxZQUFhLFNBQVEsZUFBZTtJQVF4QyxLQUFLLENBQUMsaUJBQWlCLENBQUMsS0FBWTtRQUN6QyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzNCLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDeEUsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxD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
@@ -1,9 +1,9 @@
1
- import { User as UserEntity } from '../entity/User';
2
- import { Token as TokenEntity, TokenType } from '../entity/Token';
3
- import { WebauthnCredential as WebauthnCredentialEntity } from '../entity/WebauthnCredential';
4
- import { LoginResultCode } from '../../common/enum/User';
5
- import { AbstractService } from '../../common/AbstractService';
6
- import { Registry } from '../entity/Registry';
1
+ import { User as UserEntity } from '../entity/User.js';
2
+ import { Token as TokenEntity, TokenType } from '../entity/Token.js';
3
+ import { WebauthnCredential as WebauthnCredentialEntity } from '../entity/WebauthnCredential.js';
4
+ import { LoginResultCode } from '../../common/enum/User.js';
5
+ import { AbstractService } from '../../common/AbstractService.js';
6
+ import { Registry } from '../entity/Registry.js';
7
7
  type Optional<T, K extends keyof T> = Omit<T, K> & Partial<T>;
8
8
  type CreateUser = {
9
9
  name: string;
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
2
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
3
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -8,27 +7,22 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
7
  var __metadata = (this && this.__metadata) || function (k, v) {
9
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
9
  };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.UserService = void 0;
16
- const node_crypto_1 = __importDefault(require("node:crypto"));
17
- const tegg_1 = require("@eggjs/tegg");
18
- const egg_errors_1 = require("egg-errors");
19
- const UserRepository_1 = require("../../repository/UserRepository");
20
- const User_1 = require("../entity/User");
21
- const Token_1 = require("../entity/Token");
22
- const WebauthnCredential_1 = require("../entity/WebauthnCredential");
23
- const User_2 = require("../../common/enum/User");
24
- const UserUtil_1 = require("../../common/UserUtil");
25
- const AbstractService_1 = require("../../common/AbstractService");
26
- const RegistryManagerService_1 = require("./RegistryManagerService");
27
- const PackageUtil_1 = require("../../common/PackageUtil");
28
- let UserService = class UserService extends AbstractService_1.AbstractService {
10
+ import crypto from 'node:crypto';
11
+ import { AccessLevel, SingletonProto, Inject, } from '@eggjs/tegg';
12
+ import { NotFoundError, ForbiddenError } from 'egg-errors';
13
+ import { UserRepository } from '../../repository/UserRepository.js';
14
+ import { User as UserEntity } from '../entity/User.js';
15
+ import { Token as TokenEntity } from '../entity/Token.js';
16
+ import { WebauthnCredential as WebauthnCredentialEntity } from '../entity/WebauthnCredential.js';
17
+ import { LoginResultCode } from '../../common/enum/User.js';
18
+ import { integrity, checkIntegrity, randomToken, sha512 } from '../../common/UserUtil.js';
19
+ import { AbstractService } from '../../common/AbstractService.js';
20
+ import { RegistryManagerService } from './RegistryManagerService.js';
21
+ import { getPrefixedName } from '../../common/PackageUtil.js';
22
+ let UserService = class UserService extends AbstractService {
29
23
  checkPassword(user, password) {
30
24
  const plain = `${user.passwordSalt}${password}`;
31
- return (0, UserUtil_1.checkIntegrity)(plain, user.passwordIntegrity);
25
+ return checkIntegrity(plain, user.passwordIntegrity);
32
26
  }
33
27
  async findUserByNameOrDisplayName(name) {
34
28
  const hasPrefix = name.includes(':');
@@ -36,16 +30,16 @@ let UserService = class UserService extends AbstractService_1.AbstractService {
36
30
  return await this.findUserByName(name);
37
31
  }
38
32
  const selfRegistry = await this.registryManagerService.ensureSelfRegistry();
39
- const selfUser = await this.findUserByName((0, PackageUtil_1.getPrefixedName)(selfRegistry.userPrefix, name));
33
+ const selfUser = await this.findUserByName(getPrefixedName(selfRegistry.userPrefix, name));
40
34
  if (selfUser) {
41
35
  return selfUser;
42
36
  }
43
37
  const defaultRegistry = await this.registryManagerService.ensureDefaultRegistry();
44
- const defaultUser = await this.findUserByName((0, PackageUtil_1.getPrefixedName)(defaultRegistry.userPrefix, name));
38
+ const defaultUser = await this.findUserByName(getPrefixedName(defaultRegistry.userPrefix, name));
45
39
  return defaultUser;
46
40
  }
47
41
  async findInRegistry(registry, name) {
48
- return await this.findUserByName((0, PackageUtil_1.getPrefixedName)(registry.userPrefix, name));
42
+ return await this.findUserByName(getPrefixedName(registry.userPrefix, name));
49
43
  }
50
44
  async findUserByName(name) {
51
45
  return await this.userRepository.findUserByName(name);
@@ -53,14 +47,14 @@ let UserService = class UserService extends AbstractService_1.AbstractService {
53
47
  async login(name, password) {
54
48
  const user = await this.userRepository.findUserByName(name);
55
49
  if (!user)
56
- return { code: User_2.LoginResultCode.UserNotFound };
50
+ return { code: LoginResultCode.UserNotFound };
57
51
  if (!this.checkPassword(user, password)) {
58
- return { code: User_2.LoginResultCode.Fail };
52
+ return { code: LoginResultCode.Fail };
59
53
  }
60
54
  const token = await this.createToken(user.userId);
61
- return { code: User_2.LoginResultCode.Success, user, token };
55
+ return { code: LoginResultCode.Success, user, token };
62
56
  }
63
- async findOrCreateUser({ name, email, ip, password = node_crypto_1.default.randomUUID() }) {
57
+ async findOrCreateUser({ name, email, ip, password = crypto.randomUUID() }) {
64
58
  let user = await this.userRepository.findUserByName(name);
65
59
  if (!user) {
66
60
  const createRes = await this.create({
@@ -79,10 +73,10 @@ let UserService = class UserService extends AbstractService_1.AbstractService {
79
73
  return { user, token };
80
74
  }
81
75
  async create(createUser) {
82
- const passwordSalt = node_crypto_1.default.randomBytes(30).toString('hex');
76
+ const passwordSalt = crypto.randomBytes(30).toString('hex');
83
77
  const plain = `${passwordSalt}${createUser.password}`;
84
- const passwordIntegrity = (0, UserUtil_1.integrity)(plain);
85
- const userEntity = User_1.User.create({
78
+ const passwordIntegrity = integrity(plain);
79
+ const userEntity = UserEntity.create({
86
80
  name: createUser.name,
87
81
  email: createUser.email,
88
82
  ip: createUser.ip,
@@ -98,9 +92,9 @@ let UserService = class UserService extends AbstractService_1.AbstractService {
98
92
  const storeName = name.startsWith('name:') ? name : `${userPrefix}${name}`;
99
93
  let user = await this.userRepository.findUserByName(storeName);
100
94
  if (!user) {
101
- const passwordSalt = node_crypto_1.default.randomBytes(20).toString('hex');
102
- const passwordIntegrity = (0, UserUtil_1.integrity)(passwordSalt);
103
- user = User_1.User.create({
95
+ const passwordSalt = crypto.randomBytes(20).toString('hex');
96
+ const passwordIntegrity = integrity(passwordSalt);
97
+ user = UserEntity.create({
104
98
  name: storeName,
105
99
  email,
106
100
  ip: '',
@@ -123,10 +117,10 @@ let UserService = class UserService extends AbstractService_1.AbstractService {
123
117
  // https://github.blog/2021-09-23-announcing-npms-new-access-token-format/
124
118
  // https://github.blog/2021-04-05-behind-githubs-new-authentication-token-formats/
125
119
  // https://github.blog/changelog/2022-12-06-limit-scope-of-npm-tokens-with-the-new-granular-access-tokens/
126
- const token = (0, UserUtil_1.randomToken)(this.config.cnpmcore.name);
127
- const tokenKey = (0, UserUtil_1.sha512)(token);
120
+ const token = randomToken(this.config.cnpmcore.name);
121
+ const tokenKey = sha512(token);
128
122
  const tokenMark = token.substring(0, token.indexOf('_') + 4);
129
- const tokenEntity = Token_1.Token.create({
123
+ const tokenEntity = TokenEntity.create({
130
124
  tokenKey,
131
125
  tokenMark,
132
126
  userId,
@@ -140,13 +134,13 @@ let UserService = class UserService extends AbstractService_1.AbstractService {
140
134
  let token = await this.userRepository.findTokenByTokenKey(tokenKeyOrTokenValue);
141
135
  if (!token) {
142
136
  // tokenKeyOrTokenValue is token value, sha512 and find again
143
- token = await this.userRepository.findTokenByTokenKey((0, UserUtil_1.sha512)(tokenKeyOrTokenValue));
137
+ token = await this.userRepository.findTokenByTokenKey(sha512(tokenKeyOrTokenValue));
144
138
  }
145
139
  if (!token) {
146
- throw new egg_errors_1.NotFoundError(`Token "${tokenKeyOrTokenValue}" not exists`);
140
+ throw new NotFoundError(`Token "${tokenKeyOrTokenValue}" not exists`);
147
141
  }
148
142
  if (token.userId !== userId) {
149
- throw new egg_errors_1.ForbiddenError(`Not authorized to remove token "${tokenKeyOrTokenValue}"`);
143
+ throw new ForbiddenError(`Not authorized to remove token "${tokenKeyOrTokenValue}"`);
150
144
  }
151
145
  await this.userRepository.removeToken(token.tokenId);
152
146
  }
@@ -155,7 +149,7 @@ let UserService = class UserService extends AbstractService_1.AbstractService {
155
149
  return credential;
156
150
  }
157
151
  async createWebauthnCredential(userId, options) {
158
- const credentialEntity = WebauthnCredential_1.WebauthnCredential.create({
152
+ const credentialEntity = WebauthnCredentialEntity.create({
159
153
  userId: userId,
160
154
  credentialId: options.credentialId,
161
155
  publicKey: options.publicKey,
@@ -171,18 +165,18 @@ let UserService = class UserService extends AbstractService_1.AbstractService {
171
165
  }
172
166
  }
173
167
  };
174
- exports.UserService = UserService;
175
168
  __decorate([
176
- (0, tegg_1.Inject)(),
177
- __metadata("design:type", UserRepository_1.UserRepository)
169
+ Inject(),
170
+ __metadata("design:type", UserRepository)
178
171
  ], UserService.prototype, "userRepository", void 0);
179
172
  __decorate([
180
- (0, tegg_1.Inject)(),
181
- __metadata("design:type", RegistryManagerService_1.RegistryManagerService)
173
+ Inject(),
174
+ __metadata("design:type", RegistryManagerService)
182
175
  ], UserService.prototype, "registryManagerService", void 0);
183
- exports.UserService = UserService = __decorate([
184
- (0, tegg_1.SingletonProto)({
185
- accessLevel: tegg_1.AccessLevel.PUBLIC,
176
+ UserService = __decorate([
177
+ SingletonProto({
178
+ accessLevel: AccessLevel.PUBLIC,
186
179
  })
187
180
  ], UserService);
188
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXNlclNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9hcHAvY29yZS9zZXJ2aWNlL1VzZXJTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhEQUFpQztBQUNqQyxzQ0FJcUI7QUFDckIsMkNBQTJEO0FBQzNELG9FQUFpRTtBQUNqRSx5Q0FBb0Q7QUFDcEQsMkNBQWtFO0FBQ2xFLHFFQUE4RjtBQUM5RixpREFBeUQ7QUFDekQsb0RBQXVGO0FBQ3ZGLGtFQUErRDtBQUMvRCxxRUFBa0U7QUFDbEUsMERBQTJEO0FBOENwRCxJQUFNLFdBQVcsR0FBakIsTUFBTSxXQUFZLFNBQVEsaUNBQWU7SUFNOUMsYUFBYSxDQUFDLElBQWdCLEVBQUUsUUFBZ0I7UUFDOUMsTUFBTSxLQUFLLEdBQUcsR0FBRyxJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsRUFBRSxDQUFDO1FBQ2hELE9BQU8sSUFBQSx5QkFBYyxFQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsS0FBSyxDQUFDLDJCQUEyQixDQUFDLElBQVk7UUFDNUMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNyQyxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ2QsT0FBTyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekMsQ0FBQztRQUVELE1BQU0sWUFBWSxHQUFHLE1BQU0sSUFBSSxDQUFDLHNCQUFzQixDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDNUUsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUEsNkJBQWUsRUFBQyxZQUFZLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDM0YsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNiLE9BQU8sUUFBUSxD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
181
+ export { UserService };
182
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXNlclNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9hcHAvY29yZS9zZXJ2aWNlL1VzZXJTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQztBQUNqQyxPQUFPLEVBQ0wsV0FBVyxFQUNYLGNBQWMsRUFDZCxNQUFNLEdBQ1AsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxJQUFJLElBQUksVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkQsT0FBTyxFQUFFLEtBQUssSUFBSSxXQUFXLEVBQWEsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsa0JBQWtCLElBQUksd0JBQXdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNqRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUE4Q3ZELElBQU0sV0FBVyxHQUFqQixNQUFNLFdBQVksU0FBUSxlQUFlO0lBTTlDLGFBQWEsQ0FBQyxJQUFnQixFQUFFLFFBQWdCO1FBQzlDLE1BQU0sS0FBSyxHQUFHLEdBQUcsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLEVBQUUsQ0FBQztRQUNoRCxPQUFPLGNBQWMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxJQUFZO1FBQzVDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDckMsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNkLE9BQU8sTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pDLENBQUM7UUFFRCxNQUFNLFlBQVksR0FBRyxNQUFNLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzVFLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzNGLElBQUksUUFBUSxFQUFFLENBQUM7WUFDYixPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDO1FBRUQsTUFBTSxlQUFlLEdBQUcsTUFBTSxJQUFJLENBQUMsc0JBQXNCLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUNsRixNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUVqRyxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBRUQsS0FBSyxDQUFDLGNBQWMsQ0FBQyxRQUFpQixFQUFFLElBQVk7UUFDbEQsT0FBTyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQsS0FBSyxDQUFDLGNBQWMsQ0FBQyxJQUFZO1FBQy9CLE9BQU8sTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFZLEVBQUUsUUFBZ0I7UUFDeEMsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3pELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQ3hDLE9BQU8sRUFBRSxJQUFJLEVBQUUsZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3hDLENBQUM7UUFDRCxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xELE9BQU8sRUFBRSxJQUFJLEVBQUUsZUFBZSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDeEQsQ0FBQztJQUVELEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLFFBQVEsR0FBRyxNQUFNLENBQUMsVUFBVSxFQUFFLEVBQW9DO1FBQzFHLElBQUksSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1YsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDO2dCQUNsQyxJQUFJO2dCQUNKLEtBQUs7Z0JBQ0wsUUFBUTtnQkFDUixFQUFFO2FBQ0gsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUM7UUFDeEIsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxJQUFzQztRQUM1RCxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQyxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xELE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBc0I7UUFDakMsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUQsTUFBTSxLQUFLLEdBQUcsR0FBRyxZQUFZLEdBQUcsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3RELE1BQU0saUJBQWlCLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNDLE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUM7WUFDbkMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJO1lBQ3JCLEtBQUssRUFBRSxVQUFVLENBQUMsS0FBSztZQUN2QixFQUFFLEVBQUUsVUFBVSxDQUFDLEVBQUU7WUFDakIsWUFBWTtZQUNaLGlCQUFpQjtZQUNqQixTQUFTLEVBQUUsSUFBSTtTQUNoQixDQUFDLENBQUM7UUFDSCxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQy9DLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDeEQsT0FBTyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFRLENBQUMsVUFBVSxHQUFHLE1BQU0sRUFBRSxJQUFZLEVBQUUsS0FBYTtRQUM3RCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxHQUFHLElBQUksRUFBRSxDQUFDO1FBQzNFLElBQUksSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1YsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUQsTUFBTSxpQkFBaUIsR0FBRyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDbEQsSUFBSSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUM7Z0JBQ3ZCLElBQUksRUFBRSxTQUFTO2dCQUNmLEtBQUs7Z0JBQ0wsRUFBRSxFQUFFLEVBQUU7Z0JBQ04sWUFBWTtnQkFDWixpQkFBaUI7Z0JBQ2pCLFNBQVMsRUFBRSxLQUFLO2FBQ2pCLENBQUMsQ0FBQztZQUNILE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDekMsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDakMsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUN6QixPQUFPO1lBQ1AsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDbEMsQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekMsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBYyxFQUFFLFVBQTZCLEVBQUU7UUFDL0QsMEVBQTBFO1FBQzFFLGtGQUFrRjtRQUNsRiwwR0FBMEc7UUFDMUcsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JELE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzdELE1BQU0sV0FBVyxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUM7WUFDckMsUUFBUTtZQUNSLFNBQVM7WUFDVCxNQUFNO1lBQ04sR0FBRyxPQUFPO1NBQ1gsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNqRCxXQUFXLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUMxQixPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBRUQsS0FBSyxDQUFDLFdBQVcsQ0FBQyxNQUFjLEVBQUUsb0JBQTRCO1FBQzVELElBQUksS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ2hGLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNYLDZEQUE2RDtZQUM3RCxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7UUFDdEYsQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNYLE1BQU0sSUFBSSxhQUFhLENBQUMsVUFBVSxvQkFBb0IsY0FBYyxDQUFDLENBQUM7UUFDeEUsQ0FBQztRQUNELElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUM1QixNQUFNLElBQUksY0FBYyxDQUFDLG1DQUFtQyxvQkFBb0IsR0FBRyxDQUFDLENBQUM7UUFDdkYsQ0FBQztRQUNELE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxLQUFLLENBQUMsc0JBQXNCLENBQUMsTUFBYyxFQUFFLFdBQXNDO1FBQ2pGLE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQ0FBb0MsQ0FBQyxNQUFNLEVBQUUsV0FBVyxJQUFJLElBQUksQ0FBQyxDQUFDO1FBQy9HLE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxLQUFLLENBQUMsd0JBQXdCLENBQUMsTUFBMEIsRUFBRSxPQUF3QztRQUNqRyxNQUFNLGdCQUFnQixHQUFHLHdCQUF3QixDQUFDLE1BQU0sQ0FBQztZQUN2RCxNQUFNLEVBQUUsTUFBZ0I7WUFDeEIsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZO1lBQ2xDLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUztZQUM1QixXQUFXLEVBQUUsT0FBTyxDQUFDLFdBQVc7U0FDakMsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzNELE9BQU8sZ0JBQWdCLENBQUM7SUFDMUIsQ0FBQztJQUVELEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxNQUFlLEVBQUUsV0FBb0I7UUFDbEUsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLG9DQUFvQyxDQUFDLE1BQU0sRUFBRSxXQUFXLElBQUksSUFBSSxDQUFDLENBQUM7UUFDL0csSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEUsQ0FBQztJQUNILENBQUM7Q0FFRixDQUFBO0FBcktrQjtJQURoQixNQUFNLEVBQUU7OEJBQ3dCLGNBQWM7bURBQUM7QUFFL0I7SUFEaEIsTUFBTSxFQUFFOzhCQUNnQyxzQkFBc0I7MkRBQUM7QUFKckQsV0FBVztJQUh2QixjQUFjLENBQUM7UUFDZCxXQUFXLEVBQUUsV0FBVyxDQUFDLE1BQU07S0FDaEMsQ0FBQztHQUNXLFdBQVcsQ0F1S3ZCIn0=
@@ -1,4 +1,4 @@
1
- import { EntityData } from '../entity/Entity';
1
+ import { EntityData } from '../entity/Entity.js';
2
2
  type PartialBy<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
3
3
  export type EasyData<T extends EntityData, Id extends keyof T> = PartialBy<T, 'createdAt' | 'updatedAt' | Id>;
4
4
  export interface PageOptions {
@@ -1,13 +1,7 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.EntityUtil = void 0;
7
- const bson_objectid_1 = __importDefault(require("bson-objectid"));
8
- const egg_errors_1 = require("egg-errors");
1
+ import ObjectID from 'bson-objectid';
2
+ import { E400 } from 'egg-errors';
9
3
  const MAX_PAGE_SIZE = 100;
10
- class EntityUtil {
4
+ export class EntityUtil {
11
5
  static defaultData(data, id) {
12
6
  Reflect.set(data, id, EntityUtil.createId());
13
7
  data.createdAt = data.createdAt || new Date();
@@ -15,12 +9,13 @@ class EntityUtil {
15
9
  return data;
16
10
  }
17
11
  static createId() {
18
- return new bson_objectid_1.default().toHexString();
12
+ // @ts-expect-error ObjectID has no construct signatures
13
+ return new ObjectID().toHexString();
19
14
  }
20
15
  static convertPageOptionsToLimitOption(page) {
21
16
  const { pageIndex = 0, pageSize = 20 } = page;
22
17
  if (pageSize > MAX_PAGE_SIZE) {
23
- throw new egg_errors_1.E400(`max page size is 100, current request is ${pageSize}`);
18
+ throw new E400(`max page size is 100, current request is ${pageSize}`);
24
19
  }
25
20
  return {
26
21
  offset: pageIndex * pageSize,
@@ -28,5 +23,4 @@ class EntityUtil {
28
23
  };
29
24
  }
30
25
  }
31
- exports.EntityUtil = EntityUtil;
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW50aXR5VXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2FwcC9jb3JlL3V0aWwvRW50aXR5VXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxrRUFBcUM7QUFDckMsMkNBQWtDO0FBT2xDLE1BQU0sYUFBYSxHQUFHLEdBQVksQ0FBQztBQWNuQyxNQUFhLFVBQVU7SUFDckIsTUFBTSxDQUFDLFdBQVcsQ0FBMkMsSUFBcUIsRUFBRSxFQUFNO1FBQ3hGLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUM5QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUM5QyxPQUFPLElBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVE7UUFDYixPQUFPLElBQUksdUJBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxNQUFNLENBQUMsK0JBQStCLENBQUMsSUFBaUI7UUFDdEQsTUFBTSxFQUFFLFNBQVMsR0FBRyxDQUFDLEVBQUUsUUFBUSxHQUFHLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQztRQUM5QyxJQUFJLFFBQVEsR0FBRyxhQUFhLEVBQUUsQ0FBQztZQUM3QixNQUFNLElBQUksaUJBQUksQ0FBQyw0Q0FBNEMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUN6RSxDQUFDO1FBQ0QsT0FBTztZQUNMLE1BQU0sRUFBRSxTQUFTLEdBQUcsUUFBUTtZQUM1QixLQUFLLEVBQUUsUUFBUTtTQUNoQixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBdEJELGdDQXNCQyJ9
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW50aXR5VXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2FwcC9jb3JlL3V0aWwvRW50aXR5VXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFFBQVEsTUFBTSxlQUFlLENBQUM7QUFDckMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFlBQVksQ0FBQztBQVFsQyxNQUFNLGFBQWEsR0FBRyxHQUFZLENBQUM7QUFjbkMsTUFBTSxPQUFPLFVBQVU7SUFDckIsTUFBTSxDQUFDLFdBQVcsQ0FBMkMsSUFBcUIsRUFBRSxFQUFNO1FBQ3hGLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUM5QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUM5QyxPQUFPLElBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVE7UUFDYix3REFBd0Q7UUFDeEQsT0FBTyxJQUFJLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxNQUFNLENBQUMsK0JBQStCLENBQUMsSUFBaUI7UUFDdEQsTUFBTSxFQUFFLFNBQVMsR0FBRyxDQUFDLEVBQUUsUUFBUSxHQUFHLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQztRQUM5QyxJQUFJLFFBQVEsR0FBRyxhQUFhLEVBQUUsQ0FBQztZQUM3QixNQUFNLElBQUksSUFBSSxDQUFDLDRDQUE0QyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3pFLENBQUM7UUFDRCxPQUFPO1lBQ0wsTUFBTSxFQUFFLFNBQVMsR0FBRyxRQUFRO1lBQzVCLEtBQUssRUFBRSxRQUFRO1NBQ2hCLENBQUM7SUFDSixDQUFDO0NBQ0YifQ==
@@ -1,6 +1,6 @@
1
1
  import { EggContext } from '@eggjs/tegg';
2
2
  import { Redis } from 'ioredis';
3
- import { AuthClient, AuthUrlResult, userResult } from '../common/typing';
3
+ import { AuthClient, AuthUrlResult, userResult } from '../common/typing.js';
4
4
  type SSO_USER = {
5
5
  name: string;
6
6
  email: string;