cnpmcore 4.0.1 → 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.
- package/README.md +5 -3
- package/dist/app/common/AbstractService.js +5 -9
- package/dist/app/common/CryptoUtil.js +9 -17
- package/dist/app/common/ErrorUtil.js +2 -5
- package/dist/app/common/FileUtil.js +22 -31
- package/dist/app/common/LogUtil.js +2 -5
- package/dist/app/common/PackageUtil.d.ts +1 -1
- package/dist/app/common/PackageUtil.js +27 -75
- package/dist/app/common/SyncUtil.js +2 -5
- package/dist/app/common/UserUtil.js +19 -64
- package/dist/app/common/adapter/BugVersionStore.d.ts +1 -1
- package/dist/app/common/adapter/BugVersionStore.js +6 -9
- package/dist/app/common/adapter/CacheAdapter.js +7 -10
- package/dist/app/common/adapter/NFSAdapter.js +18 -21
- package/dist/app/common/adapter/NPMRegistry.d.ts +1 -1
- package/dist/app/common/adapter/NPMRegistry.js +13 -16
- package/dist/app/common/adapter/binary/AbstractBinary.d.ts +2 -2
- package/dist/app/common/adapter/binary/AbstractBinary.js +7 -11
- package/dist/app/common/adapter/binary/ApiBinary.d.ts +1 -1
- package/dist/app/common/adapter/binary/ApiBinary.js +10 -13
- package/dist/app/common/adapter/binary/BucketBinary.d.ts +2 -2
- package/dist/app/common/adapter/binary/BucketBinary.js +14 -20
- package/dist/app/common/adapter/binary/ChromeForTestingBinary.d.ts +1 -1
- package/dist/app/common/adapter/binary/ChromeForTestingBinary.js +11 -14
- package/dist/app/common/adapter/binary/CypressBinary.d.ts +1 -1
- package/dist/app/common/adapter/binary/CypressBinary.js +9 -12
- package/dist/app/common/adapter/binary/EdgedriverBinary.d.ts +1 -1
- package/dist/app/common/adapter/binary/EdgedriverBinary.js +12 -18
- package/dist/app/common/adapter/binary/ElectronBinary.d.ts +3 -3
- package/dist/app/common/adapter/binary/ElectronBinary.js +13 -19
- package/dist/app/common/adapter/binary/GithubBinary.d.ts +2 -2
- package/dist/app/common/adapter/binary/GithubBinary.js +11 -17
- package/dist/app/common/adapter/binary/ImageminBinary.d.ts +2 -2
- package/dist/app/common/adapter/binary/ImageminBinary.js +11 -17
- package/dist/app/common/adapter/binary/NodeBinary.d.ts +2 -2
- package/dist/app/common/adapter/binary/NodeBinary.js +14 -20
- package/dist/app/common/adapter/binary/NodePreGypBinary.d.ts +2 -2
- package/dist/app/common/adapter/binary/NodePreGypBinary.js +14 -20
- package/dist/app/common/adapter/binary/NwjsBinary.d.ts +2 -2
- package/dist/app/common/adapter/binary/NwjsBinary.js +12 -18
- package/dist/app/common/adapter/binary/PlaywrightBinary.d.ts +1 -1
- package/dist/app/common/adapter/binary/PlaywrightBinary.js +13 -19
- package/dist/app/common/adapter/binary/PrismaBinary.d.ts +2 -2
- package/dist/app/common/adapter/binary/PrismaBinary.js +14 -20
- package/dist/app/common/adapter/binary/PuppeteerBinary.d.ts +1 -1
- package/dist/app/common/adapter/binary/PuppeteerBinary.js +10 -13
- package/dist/app/common/adapter/binary/SqlcipherBinary.d.ts +1 -1
- package/dist/app/common/adapter/binary/SqlcipherBinary.js +9 -12
- package/dist/app/common/adapter/changesStream/AbstractChangesStream.d.ts +2 -2
- package/dist/app/common/adapter/changesStream/AbstractChangesStream.js +7 -11
- package/dist/app/common/adapter/changesStream/CnpmcoreChangesStream.d.ts +2 -2
- package/dist/app/common/adapter/changesStream/CnpmcoreChangesStream.js +11 -14
- package/dist/app/common/adapter/changesStream/CnpmjsorgChangesStream.d.ts +2 -2
- package/dist/app/common/adapter/changesStream/CnpmjsorgChangesStream.js +11 -14
- package/dist/app/common/adapter/changesStream/NpmChangesStream.d.ts +2 -2
- package/dist/app/common/adapter/changesStream/NpmChangesStream.js +11 -14
- package/dist/app/common/aop/AsyncTimer.js +10 -13
- package/dist/app/common/constants.js +17 -20
- package/dist/app/common/dayjs.js +5 -10
- package/dist/app/common/enum/Binary.js +3 -6
- package/dist/app/common/enum/Hook.js +5 -8
- package/dist/app/common/enum/Registry.js +3 -6
- package/dist/app/common/enum/Task.js +5 -8
- package/dist/app/common/enum/User.js +5 -8
- package/dist/app/common/package.json +2 -1
- package/dist/app/common/typing.d.ts +1 -1
- package/dist/app/common/typing.js +1 -2
- package/dist/app/core/entity/Binary.d.ts +2 -2
- package/dist/app/core/entity/Binary.js +5 -9
- package/dist/app/core/entity/BugVersion.js +2 -6
- package/dist/app/core/entity/Change.d.ts +2 -2
- package/dist/app/core/entity/Change.js +5 -9
- package/dist/app/core/entity/Dist.d.ts +2 -2
- package/dist/app/core/entity/Dist.js +5 -9
- package/dist/app/core/entity/Entity.js +2 -6
- package/dist/app/core/entity/Hook.d.ts +3 -3
- package/dist/app/core/entity/Hook.js +7 -14
- package/dist/app/core/entity/HookEvent.d.ts +1 -1
- package/dist/app/core/entity/HookEvent.js +11 -15
- package/dist/app/core/entity/Package.d.ts +4 -3
- package/dist/app/core/entity/Package.js +14 -15
- package/dist/app/core/entity/PackageTag.d.ts +2 -2
- package/dist/app/core/entity/PackageTag.js +5 -9
- package/dist/app/core/entity/PackageVersion.d.ts +3 -3
- package/dist/app/core/entity/PackageVersion.js +7 -11
- package/dist/app/core/entity/PackageVersionBlock.d.ts +2 -2
- package/dist/app/core/entity/PackageVersionBlock.js +5 -9
- package/dist/app/core/entity/PackageVersionFile.d.ts +3 -3
- package/dist/app/core/entity/PackageVersionFile.js +5 -9
- package/dist/app/core/entity/PackageVersionManifest.d.ts +2 -2
- package/dist/app/core/entity/PackageVersionManifest.js +5 -9
- package/dist/app/core/entity/PaddingSemVer.js +5 -9
- package/dist/app/core/entity/ProxyCache.d.ts +3 -3
- package/dist/app/core/entity/ProxyCache.js +8 -12
- package/dist/app/core/entity/Registry.d.ts +3 -3
- package/dist/app/core/entity/Registry.js +5 -9
- package/dist/app/core/entity/Scope.d.ts +2 -2
- package/dist/app/core/entity/Scope.js +5 -9
- package/dist/app/core/entity/SqlRange.js +8 -12
- package/dist/app/core/entity/Task.d.ts +4 -4
- package/dist/app/core/entity/Task.js +46 -53
- package/dist/app/core/entity/Token.d.ts +2 -2
- package/dist/app/core/entity/Token.js +10 -18
- package/dist/app/core/entity/User.d.ts +2 -2
- package/dist/app/core/entity/User.js +7 -11
- package/dist/app/core/entity/WebauthnCredential.d.ts +2 -2
- package/dist/app/core/entity/WebauthnCredential.js +5 -9
- package/dist/app/core/event/BugVersionFixHandler.js +12 -15
- package/dist/app/core/event/CacheCleaner.js +39 -42
- package/dist/app/core/event/ChangesStream.d.ts +4 -4
- package/dist/app/core/event/ChangesStream.js +59 -62
- package/dist/app/core/event/StoreManifest.js +17 -20
- package/dist/app/core/event/SyncESPackage.d.ts +1 -1
- package/dist/app/core/event/SyncESPackage.js +22 -25
- package/dist/app/core/event/SyncPackageVersionFile.js +25 -28
- package/dist/app/core/event/index.d.ts +1 -1
- package/dist/app/core/event/index.js +13 -16
- package/dist/app/core/package.json +2 -1
- package/dist/app/core/service/BinarySyncerService.d.ts +7 -7
- package/dist/app/core/service/BinarySyncerService.js +44 -50
- package/dist/app/core/service/BugVersionService.d.ts +1 -1
- package/dist/app/core/service/BugVersionService.js +28 -34
- package/dist/app/core/service/CacheService.d.ts +2 -2
- package/dist/app/core/service/CacheService.js +15 -18
- package/dist/app/core/service/ChangesStreamService.d.ts +3 -3
- package/dist/app/core/service/ChangesStreamService.js +52 -58
- package/dist/app/core/service/CreateHookTriggerService.d.ts +2 -2
- package/dist/app/core/service/CreateHookTriggerService.js +39 -45
- package/dist/app/core/service/EventCorkerAdvice.js +7 -10
- package/dist/app/core/service/FixNoPaddingVersionService.js +14 -20
- package/dist/app/core/service/HomeService.d.ts +1 -1
- package/dist/app/core/service/HomeService.js +13 -16
- package/dist/app/core/service/HookManageService.d.ts +2 -2
- package/dist/app/core/service/HookManageService.js +20 -23
- package/dist/app/core/service/HookTriggerService.d.ts +3 -3
- package/dist/app/core/service/HookTriggerService.js +32 -35
- package/dist/app/core/service/PackageManagerService.d.ts +7 -7
- package/dist/app/core/service/PackageManagerService.js +98 -104
- package/dist/app/core/service/PackageSearchService.d.ts +4 -4
- package/dist/app/core/service/PackageSearchService.js +31 -37
- package/dist/app/core/service/PackageSyncerService.d.ts +6 -6
- package/dist/app/core/service/PackageSyncerService.js +92 -99
- package/dist/app/core/service/PackageVersionFileService.d.ts +4 -4
- package/dist/app/core/service/PackageVersionFileService.js +64 -69
- package/dist/app/core/service/PackageVersionService.d.ts +4 -1
- package/dist/app/core/service/PackageVersionService.js +41 -59
- package/dist/app/core/service/ProxyCacheService.d.ts +5 -6
- package/dist/app/core/service/ProxyCacheService.js +62 -69
- package/dist/app/core/service/RegistryManagerService.d.ts +3 -3
- package/dist/app/core/service/RegistryManagerService.js +33 -36
- package/dist/app/core/service/ScopeManagerService.d.ts +3 -3
- package/dist/app/core/service/ScopeManagerService.js +13 -16
- package/dist/app/core/service/TaskService.d.ts +7 -7
- package/dist/app/core/service/TaskService.js +28 -29
- package/dist/app/core/service/TokenService.d.ts +4 -4
- package/dist/app/core/service/TokenService.js +30 -36
- package/dist/app/core/service/UserService.d.ts +6 -6
- package/dist/app/core/service/UserService.js +43 -49
- package/dist/app/core/util/EntityUtil.d.ts +1 -1
- package/dist/app/core/util/EntityUtil.js +7 -13
- package/dist/app/infra/AuthAdapter.d.ts +1 -1
- package/dist/app/infra/AuthAdapter.js +12 -15
- package/dist/app/infra/NFSClientAdapter.d.ts +1 -1
- package/dist/app/infra/NFSClientAdapter.js +11 -17
- package/dist/app/infra/QueueAdapter.d.ts +1 -1
- package/dist/app/infra/QueueAdapter.js +9 -12
- package/dist/app/infra/SearchAdapter.d.ts +1 -1
- package/dist/app/infra/SearchAdapter.js +10 -13
- package/dist/app/infra/package.json +2 -1
- package/dist/app/port/UserRoleManager.d.ts +3 -3
- package/dist/app/port/UserRoleManager.js +30 -33
- package/dist/app/port/config.d.ts +3 -3
- package/dist/app/port/config.js +2 -6
- package/dist/app/port/controller/AbstractController.d.ts +8 -8
- package/dist/app/port/controller/AbstractController.js +33 -37
- package/dist/app/port/controller/AccessController.d.ts +1 -1
- package/dist/app/port/controller/AccessController.js +22 -25
- package/dist/app/port/controller/BinarySyncController.d.ts +2 -2
- package/dist/app/port/controller/BinarySyncController.js +42 -48
- package/dist/app/port/controller/ChangesStreamController.d.ts +1 -1
- package/dist/app/port/controller/ChangesStreamController.js +17 -20
- package/dist/app/port/controller/DownloadController.d.ts +1 -1
- package/dist/app/port/controller/DownloadController.js +30 -36
- package/dist/app/port/controller/HomeController.d.ts +2 -2
- package/dist/app/port/controller/HomeController.js +29 -31
- package/dist/app/port/controller/HookController.d.ts +5 -5
- package/dist/app/port/controller/HookController.js +43 -46
- package/dist/app/port/controller/PackageBlockController.d.ts +2 -2
- package/dist/app/port/controller/PackageBlockController.js +37 -40
- package/dist/app/port/controller/PackageSyncController.d.ts +5 -5
- package/dist/app/port/controller/PackageSyncController.js +64 -67
- package/dist/app/port/controller/PackageTagController.d.ts +1 -1
- package/dist/app/port/controller/PackageTagController.js +33 -36
- package/dist/app/port/controller/PackageVersionFileController.d.ts +1 -1
- package/dist/app/port/controller/PackageVersionFileController.js +56 -59
- package/dist/app/port/controller/ProxyCacheController.d.ts +7 -7
- package/dist/app/port/controller/ProxyCacheController.js +56 -58
- package/dist/app/port/controller/RegistryController.d.ts +7 -7
- package/dist/app/port/controller/RegistryController.js +57 -60
- package/dist/app/port/controller/ScopeController.d.ts +3 -3
- package/dist/app/port/controller/ScopeController.js +28 -31
- package/dist/app/port/controller/TokenController.d.ts +17 -17
- package/dist/app/port/controller/TokenController.js +52 -55
- package/dist/app/port/controller/UserController.d.ts +8 -8
- package/dist/app/port/controller/UserController.js +52 -55
- package/dist/app/port/controller/admin/PaddingVersionController.d.ts +1 -1
- package/dist/app/port/controller/admin/PaddingVersionController.js +14 -17
- package/dist/app/port/controller/convertor/HookConvertor.d.ts +4 -4
- package/dist/app/port/controller/convertor/HookConvertor.js +2 -6
- package/dist/app/port/controller/package/DownloadPackageVersionTar.d.ts +6 -6
- package/dist/app/port/controller/package/DownloadPackageVersionTar.js +69 -60
- package/dist/app/port/controller/package/RemovePackageVersionController.d.ts +1 -1
- package/dist/app/port/controller/package/RemovePackageVersionController.js +26 -29
- package/dist/app/port/controller/package/SavePackageVersionController.d.ts +9 -9
- package/dist/app/port/controller/package/SavePackageVersionController.js +57 -96
- package/dist/app/port/controller/package/SearchPackageController.d.ts +4 -4
- package/dist/app/port/controller/package/SearchPackageController.js +31 -34
- package/dist/app/port/controller/package/ShowPackageController.d.ts +1 -1
- package/dist/app/port/controller/package/ShowPackageController.js +32 -35
- package/dist/app/port/controller/package/ShowPackageVersionController.d.ts +2 -2
- package/dist/app/port/controller/package/ShowPackageVersionController.js +33 -36
- package/dist/app/port/controller/package/UpdatePackageController.d.ts +6 -6
- package/dist/app/port/controller/package/UpdatePackageController.js +25 -28
- package/dist/app/port/middleware/AdminAccess.js +6 -9
- package/dist/app/port/middleware/AlwaysAuth.js +4 -7
- package/dist/app/port/middleware/ErrorHandler.js +4 -7
- package/dist/app/port/middleware/Tracing.js +2 -5
- package/dist/app/port/middleware/index.js +10 -13
- package/dist/app/port/package.json +2 -1
- package/dist/app/port/schedule/ChangesStreamWorker.js +12 -15
- package/dist/app/port/schedule/CheckProxyCacheUpdateWorker.js +19 -21
- package/dist/app/port/schedule/CheckRecentlyUpdatedPackages.js +20 -23
- package/dist/app/port/schedule/CleanTempDir.js +23 -30
- package/dist/app/port/schedule/CreateSyncBinaryTask.js +13 -19
- package/dist/app/port/schedule/CreateTriggerHookWorker.js +18 -21
- package/dist/app/port/schedule/SavePackageVersionDownloadCounter.js +10 -13
- package/dist/app/port/schedule/SyncBinaryWorker.js +14 -17
- package/dist/app/port/schedule/SyncPackageWorker.js +14 -17
- package/dist/app/port/schedule/SyncProxyCacheWorker.js +14 -17
- package/dist/app/port/schedule/TaskTimeoutHandler.js +14 -17
- package/dist/app/port/schedule/TriggerHookWorker.js +18 -21
- package/dist/app/port/schedule/UpdateTotalData.js +32 -38
- package/dist/app/port/typebox.d.ts +73 -73
- package/dist/app/port/typebox.js +83 -90
- package/dist/app/port/webauth/WebauthController.d.ts +6 -6
- package/dist/app/port/webauth/WebauthController.js +91 -91
- package/dist/app/repository/AbstractRepository.js +4 -8
- package/dist/app/repository/BinaryRepository.d.ts +2 -2
- package/dist/app/repository/BinaryRepository.js +15 -18
- package/dist/app/repository/ChangeRepository.d.ts +3 -3
- package/dist/app/repository/ChangeRepository.js +11 -14
- package/dist/app/repository/DistRepository.d.ts +2 -2
- package/dist/app/repository/DistRepository.js +12 -15
- package/dist/app/repository/HookRepository.d.ts +2 -2
- package/dist/app/repository/HookRepository.js +14 -17
- package/dist/app/repository/PackageRepository.d.ts +8 -8
- package/dist/app/repository/PackageRepository.js +59 -62
- package/dist/app/repository/PackageVersionBlockRepository.d.ts +3 -3
- package/dist/app/repository/PackageVersionBlockRepository.js +14 -17
- package/dist/app/repository/PackageVersionDownloadRepository.d.ts +2 -2
- package/dist/app/repository/PackageVersionDownloadRepository.js +9 -12
- package/dist/app/repository/PackageVersionFileRepository.d.ts +2 -2
- package/dist/app/repository/PackageVersionFileRepository.js +19 -22
- package/dist/app/repository/PackageVersionRepository.d.ts +3 -3
- package/dist/app/repository/PackageVersionRepository.js +12 -15
- package/dist/app/repository/ProxyCacheRepository.d.ts +5 -5
- package/dist/app/repository/ProxyCacheRepository.js +16 -19
- package/dist/app/repository/RegistryRepository.d.ts +4 -4
- package/dist/app/repository/RegistryRepository.js +19 -22
- package/dist/app/repository/ScopeRepository.d.ts +4 -4
- package/dist/app/repository/ScopeRepository.js +19 -22
- package/dist/app/repository/SearchRepository.d.ts +1 -1
- package/dist/app/repository/SearchRepository.js +7 -10
- package/dist/app/repository/TaskRepository.d.ts +8 -8
- package/dist/app/repository/TaskRepository.js +31 -34
- package/dist/app/repository/UserRepository.d.ts +4 -4
- package/dist/app/repository/UserRepository.js +38 -41
- package/dist/app/repository/model/Binary.d.ts +1 -1
- package/dist/app/repository/model/Binary.js +17 -20
- package/dist/app/repository/model/Change.d.ts +1 -1
- package/dist/app/repository/model/Change.js +14 -17
- package/dist/app/repository/model/Dist.d.ts +1 -1
- package/dist/app/repository/model/Dist.js +16 -19
- package/dist/app/repository/model/HistoryTask.d.ts +2 -2
- package/dist/app/repository/model/HistoryTask.js +22 -25
- package/dist/app/repository/model/Hook.d.ts +2 -2
- package/dist/app/repository/model/Hook.js +19 -22
- package/dist/app/repository/model/Maintainer.d.ts +1 -1
- package/dist/app/repository/model/Maintainer.js +12 -15
- package/dist/app/repository/model/Package.d.ts +1 -1
- package/dist/app/repository/model/Package.js +21 -24
- package/dist/app/repository/model/PackageDep.d.ts +1 -1
- package/dist/app/repository/model/PackageDep.js +15 -18
- package/dist/app/repository/model/PackageTag.d.ts +1 -1
- package/dist/app/repository/model/PackageTag.js +14 -17
- package/dist/app/repository/model/PackageVersion.d.ts +1 -1
- package/dist/app/repository/model/PackageVersion.js +27 -30
- package/dist/app/repository/model/PackageVersionBlock.d.ts +1 -1
- package/dist/app/repository/model/PackageVersionBlock.js +14 -17
- package/dist/app/repository/model/PackageVersionDownload.d.ts +1 -1
- package/dist/app/repository/model/PackageVersionDownload.js +44 -47
- package/dist/app/repository/model/PackageVersionFile.d.ts +1 -1
- package/dist/app/repository/model/PackageVersionFile.js +19 -22
- package/dist/app/repository/model/PackageVersionManifest.d.ts +1 -1
- package/dist/app/repository/model/PackageVersionManifest.js +14 -17
- package/dist/app/repository/model/ProxyCache.d.ts +2 -2
- package/dist/app/repository/model/ProxyCache.js +15 -18
- package/dist/app/repository/model/Registry.d.ts +2 -2
- package/dist/app/repository/model/Registry.js +18 -21
- package/dist/app/repository/model/Scope.d.ts +1 -1
- package/dist/app/repository/model/Scope.js +13 -16
- package/dist/app/repository/model/Task.d.ts +2 -2
- package/dist/app/repository/model/Task.js +23 -26
- package/dist/app/repository/model/Token.d.ts +1 -1
- package/dist/app/repository/model/Token.js +23 -26
- package/dist/app/repository/model/TokenPackage.d.ts +1 -1
- package/dist/app/repository/model/TokenPackage.js +12 -15
- package/dist/app/repository/model/User.d.ts +1 -1
- package/dist/app/repository/model/User.js +18 -21
- package/dist/app/repository/model/WebauthnCredential.d.ts +1 -1
- package/dist/app/repository/model/WebauthnCredential.js +15 -18
- package/dist/app/repository/package.json +1 -3
- package/dist/app/repository/util/EntityProperty.js +6 -9
- package/dist/app/repository/util/ErrorUtil.js +2 -5
- package/dist/app/repository/util/ModelConvertor.d.ts +5 -5
- package/dist/app/repository/util/ModelConvertor.js +17 -24
- package/dist/app/repository/util/ModelConvertorUtil.js +5 -9
- package/dist/app/repository/util/leoric.d.ts +4 -0
- package/dist/app/repository/util/leoric.js +4 -0
- package/dist/app.d.ts +3 -3
- package/dist/app.js +9 -15
- package/dist/config/binaries.d.ts +8 -1
- package/dist/config/binaries.js +99 -94
- package/dist/config/config.default.d.ts +1 -1
- package/dist/config/config.default.js +69 -74
- package/dist/config/config.unittest.d.ts +1 -2
- package/dist/config/config.unittest.js +11 -16
- package/dist/config/database.d.ts +5 -5
- package/dist/config/database.js +20 -23
- package/dist/config/plugin.js +3 -5
- package/package.json +22 -16
- package/dist/app/common/EnvUtil.d.ts +0 -4
- package/dist/app/common/EnvUtil.js +0 -34
|
@@ -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);
|
|
@@ -11,40 +10,38 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
10
|
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
11
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
12
|
};
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
const AbstractController_1 = require("./AbstractController");
|
|
21
|
-
const Token_1 = require("../../core/entity/Token");
|
|
13
|
+
import { ForbiddenError, UnauthorizedError } from 'egg-errors';
|
|
14
|
+
import { HTTPController, HTTPMethod, HTTPMethodEnum, HTTPBody, HTTPParam, Context, Inject, } from '@eggjs/tegg';
|
|
15
|
+
import { Type } from 'egg-typebox-validate/typebox';
|
|
16
|
+
import { AuthAdapter } from '../../infra/AuthAdapter.js';
|
|
17
|
+
import { AbstractController } from './AbstractController.js';
|
|
18
|
+
import { TokenType, isGranularToken } from '../../core/entity/Token.js';
|
|
22
19
|
// Creating and viewing access tokens
|
|
23
20
|
// https://docs.npmjs.com/creating-and-viewing-access-tokens#viewing-access-tokens
|
|
24
|
-
const TokenOptionsRule =
|
|
25
|
-
password:
|
|
26
|
-
readonly:
|
|
27
|
-
automation:
|
|
21
|
+
const TokenOptionsRule = Type.Object({
|
|
22
|
+
password: Type.String({ minLength: 8, maxLength: 100 }),
|
|
23
|
+
readonly: Type.Optional(Type.Boolean()),
|
|
24
|
+
automation: Type.Optional(Type.Boolean()),
|
|
28
25
|
// only allow 10 ip for now
|
|
29
|
-
cidr_whitelist:
|
|
26
|
+
cidr_whitelist: Type.Optional(Type.Array(Type.String({ maxLength: 100 }), { maxItems: 10 })),
|
|
30
27
|
});
|
|
31
|
-
const GranularTokenOptionsRule =
|
|
32
|
-
automation:
|
|
33
|
-
readonly:
|
|
34
|
-
cidr_whitelist:
|
|
35
|
-
name:
|
|
36
|
-
description:
|
|
37
|
-
allowedScopes:
|
|
38
|
-
allowedPackages:
|
|
39
|
-
expires:
|
|
28
|
+
const GranularTokenOptionsRule = Type.Object({
|
|
29
|
+
automation: Type.Optional(Type.Boolean()),
|
|
30
|
+
readonly: Type.Optional(Type.Boolean()),
|
|
31
|
+
cidr_whitelist: Type.Optional(Type.Array(Type.String({ maxLength: 100 }), { maxItems: 10 })),
|
|
32
|
+
name: Type.String({ maxLength: 255 }),
|
|
33
|
+
description: Type.Optional(Type.String({ maxLength: 255 })),
|
|
34
|
+
allowedScopes: Type.Optional(Type.Array(Type.String({ maxLength: 100 }), { maxItems: 50 })),
|
|
35
|
+
allowedPackages: Type.Optional(Type.Array(Type.String({ maxLength: 100 }), { maxItems: 50 })),
|
|
36
|
+
expires: Type.Number({ minimum: 1, maximum: 365 }),
|
|
40
37
|
});
|
|
41
|
-
let TokenController = class TokenController extends
|
|
38
|
+
let TokenController = class TokenController extends AbstractController {
|
|
42
39
|
// https://github.com/npm/npm-profile/blob/main/lib/index.js#L233
|
|
43
40
|
async createToken(ctx, tokenOptions) {
|
|
44
41
|
const authorizedUser = await this.userRoleManager.requiredAuthorizedUser(ctx, 'setting');
|
|
45
42
|
ctx.tValidate(TokenOptionsRule, tokenOptions);
|
|
46
43
|
if (!this.userService.checkPassword(authorizedUser, tokenOptions.password)) {
|
|
47
|
-
throw new
|
|
44
|
+
throw new UnauthorizedError('Invalid password');
|
|
48
45
|
}
|
|
49
46
|
const token = await this.userService.createToken(authorizedUser.userId, {
|
|
50
47
|
isReadonly: tokenOptions.readonly,
|
|
@@ -95,7 +92,7 @@ let TokenController = class TokenController extends AbstractController_1.Abstrac
|
|
|
95
92
|
// "total": 2,
|
|
96
93
|
// "urls": {}
|
|
97
94
|
// }
|
|
98
|
-
const objects = tokens.filter(token => !
|
|
95
|
+
const objects = tokens.filter(token => !isGranularToken(token))
|
|
99
96
|
.map(token => {
|
|
100
97
|
return {
|
|
101
98
|
token: token.tokenMark,
|
|
@@ -114,7 +111,7 @@ let TokenController = class TokenController extends AbstractController_1.Abstrac
|
|
|
114
111
|
async ensureWebUser(ip = '') {
|
|
115
112
|
const userRes = await this.authAdapter.ensureCurrentUser();
|
|
116
113
|
if (!userRes?.name || !userRes?.email) {
|
|
117
|
-
throw new
|
|
114
|
+
throw new ForbiddenError('need login first');
|
|
118
115
|
}
|
|
119
116
|
const user = await this.userService.findOrCreateUser({ name: userRes.name, email: userRes.email, ip });
|
|
120
117
|
return user;
|
|
@@ -132,7 +129,7 @@ let TokenController = class TokenController extends AbstractController_1.Abstrac
|
|
|
132
129
|
const { name, description, allowedPackages, allowedScopes, cidr_whitelist, automation, readonly, expires } = tokenOptions;
|
|
133
130
|
const token = await this.userService.createToken(user.userId, {
|
|
134
131
|
name,
|
|
135
|
-
type:
|
|
132
|
+
type: TokenType.granular,
|
|
136
133
|
description,
|
|
137
134
|
allowedPackages,
|
|
138
135
|
allowedScopes,
|
|
@@ -157,7 +154,7 @@ let TokenController = class TokenController extends AbstractController_1.Abstrac
|
|
|
157
154
|
async listGranularTokens() {
|
|
158
155
|
const user = await this.ensureWebUser();
|
|
159
156
|
const tokens = await this.userRepository.listTokens(user.userId);
|
|
160
|
-
const granularTokens = tokens.filter(token =>
|
|
157
|
+
const granularTokens = tokens.filter(token => isGranularToken(token));
|
|
161
158
|
const objects = granularTokens.map(token => {
|
|
162
159
|
const { name, description, expiredAt, allowedPackages, allowedScopes, lastUsedAt, type } = token;
|
|
163
160
|
return {
|
|
@@ -183,47 +180,46 @@ let TokenController = class TokenController extends AbstractController_1.Abstrac
|
|
|
183
180
|
await this.userService.removeToken(user.userId, tokenKey);
|
|
184
181
|
}
|
|
185
182
|
};
|
|
186
|
-
exports.TokenController = TokenController;
|
|
187
183
|
__decorate([
|
|
188
|
-
|
|
189
|
-
__metadata("design:type",
|
|
184
|
+
Inject(),
|
|
185
|
+
__metadata("design:type", AuthAdapter)
|
|
190
186
|
], TokenController.prototype, "authAdapter", void 0);
|
|
191
187
|
__decorate([
|
|
192
|
-
|
|
188
|
+
HTTPMethod({
|
|
193
189
|
path: '/-/npm/v1/tokens',
|
|
194
|
-
method:
|
|
190
|
+
method: HTTPMethodEnum.POST,
|
|
195
191
|
}),
|
|
196
|
-
__param(0,
|
|
197
|
-
__param(1,
|
|
192
|
+
__param(0, Context()),
|
|
193
|
+
__param(1, HTTPBody()),
|
|
198
194
|
__metadata("design:type", Function),
|
|
199
195
|
__metadata("design:paramtypes", [Object, Object]),
|
|
200
196
|
__metadata("design:returntype", Promise)
|
|
201
197
|
], TokenController.prototype, "createToken", null);
|
|
202
198
|
__decorate([
|
|
203
|
-
|
|
199
|
+
HTTPMethod({
|
|
204
200
|
path: '/-/npm/v1/tokens/token/:tokenKey',
|
|
205
|
-
method:
|
|
201
|
+
method: HTTPMethodEnum.DELETE,
|
|
206
202
|
}),
|
|
207
|
-
__param(0,
|
|
208
|
-
__param(1,
|
|
203
|
+
__param(0, Context()),
|
|
204
|
+
__param(1, HTTPParam()),
|
|
209
205
|
__metadata("design:type", Function),
|
|
210
206
|
__metadata("design:paramtypes", [Object, String]),
|
|
211
207
|
__metadata("design:returntype", Promise)
|
|
212
208
|
], TokenController.prototype, "removeToken", null);
|
|
213
209
|
__decorate([
|
|
214
|
-
|
|
210
|
+
HTTPMethod({
|
|
215
211
|
path: '/-/npm/v1/tokens',
|
|
216
|
-
method:
|
|
212
|
+
method: HTTPMethodEnum.GET,
|
|
217
213
|
}),
|
|
218
|
-
__param(0,
|
|
214
|
+
__param(0, Context()),
|
|
219
215
|
__metadata("design:type", Function),
|
|
220
216
|
__metadata("design:paramtypes", [Object]),
|
|
221
217
|
__metadata("design:returntype", Promise)
|
|
222
218
|
], TokenController.prototype, "listTokens", null);
|
|
223
219
|
__decorate([
|
|
224
|
-
|
|
220
|
+
HTTPMethod({
|
|
225
221
|
path: '/-/npm/v1/tokens/gat',
|
|
226
|
-
method:
|
|
222
|
+
method: HTTPMethodEnum.POST,
|
|
227
223
|
})
|
|
228
224
|
// Create granular access token through HTTP interface
|
|
229
225
|
// https://docs.npmjs.com/about-access-tokens#about-granular-access-tokens
|
|
@@ -232,32 +228,33 @@ __decorate([
|
|
|
232
228
|
// 2. Optional to submit description, allowScopes, allowPackages information
|
|
233
229
|
// 3. Need to implement ensureCurrentUser method in AuthAdapter, or pass in this.user
|
|
234
230
|
,
|
|
235
|
-
__param(0,
|
|
236
|
-
__param(1,
|
|
231
|
+
__param(0, Context()),
|
|
232
|
+
__param(1, HTTPBody()),
|
|
237
233
|
__metadata("design:type", Function),
|
|
238
234
|
__metadata("design:paramtypes", [Object, Object]),
|
|
239
235
|
__metadata("design:returntype", Promise)
|
|
240
236
|
], TokenController.prototype, "createGranularToken", null);
|
|
241
237
|
__decorate([
|
|
242
|
-
|
|
238
|
+
HTTPMethod({
|
|
243
239
|
path: '/-/npm/v1/tokens/gat',
|
|
244
|
-
method:
|
|
240
|
+
method: HTTPMethodEnum.GET,
|
|
245
241
|
}),
|
|
246
242
|
__metadata("design:type", Function),
|
|
247
243
|
__metadata("design:paramtypes", []),
|
|
248
244
|
__metadata("design:returntype", Promise)
|
|
249
245
|
], TokenController.prototype, "listGranularTokens", null);
|
|
250
246
|
__decorate([
|
|
251
|
-
|
|
247
|
+
HTTPMethod({
|
|
252
248
|
path: '/-/npm/v1/tokens/gat/:tokenKey',
|
|
253
|
-
method:
|
|
249
|
+
method: HTTPMethodEnum.DELETE,
|
|
254
250
|
}),
|
|
255
|
-
__param(0,
|
|
251
|
+
__param(0, HTTPParam()),
|
|
256
252
|
__metadata("design:type", Function),
|
|
257
253
|
__metadata("design:paramtypes", [String]),
|
|
258
254
|
__metadata("design:returntype", Promise)
|
|
259
255
|
], TokenController.prototype, "removeGranularToken", null);
|
|
260
|
-
|
|
261
|
-
|
|
256
|
+
TokenController = __decorate([
|
|
257
|
+
HTTPController()
|
|
262
258
|
], TokenController);
|
|
263
|
-
|
|
259
|
+
export { TokenController };
|
|
260
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVG9rZW5Db250cm9sbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vYXBwL3BvcnQvY29udHJvbGxlci9Ub2tlbkNvbnRyb2xsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMvRCxPQUFPLEVBQ0wsY0FBYyxFQUNkLFVBQVUsRUFDVixjQUFjLEVBQ2QsUUFBUSxFQUNSLFNBQVMsRUFDVCxPQUFPLEVBRVAsTUFBTSxHQUNQLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBVSxJQUFJLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUU1RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUV4RSxxQ0FBcUM7QUFDckMsa0ZBQWtGO0FBRWxGLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNuQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQ3ZELFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN2QyxVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDekMsMkJBQTJCO0lBQzNCLGNBQWMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUs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
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { EggContext } from '@eggjs/tegg';
|
|
2
|
-
import { Static } from 'egg-typebox-validate
|
|
3
|
-
import { AbstractController } from './AbstractController';
|
|
4
|
-
declare const UserRule: import("egg-typebox-validate
|
|
5
|
-
type: import("egg-typebox-validate
|
|
6
|
-
name: import("egg-typebox-validate
|
|
7
|
-
password: import("egg-typebox-validate
|
|
8
|
-
email: import("egg-typebox-validate
|
|
2
|
+
import { Static } from 'egg-typebox-validate/typebox';
|
|
3
|
+
import { AbstractController } from './AbstractController.js';
|
|
4
|
+
declare const UserRule: import("egg-typebox-validate/typebox").TObject<{
|
|
5
|
+
type: import("egg-typebox-validate/typebox").TLiteral<"user">;
|
|
6
|
+
name: import("egg-typebox-validate/typebox").TString;
|
|
7
|
+
password: import("egg-typebox-validate/typebox").TString;
|
|
8
|
+
email: import("egg-typebox-validate/typebox").TOptional<import("egg-typebox-validate/typebox").TString>;
|
|
9
9
|
}>;
|
|
10
10
|
type User = Static<typeof UserRule>;
|
|
11
11
|
export declare class UserController extends AbstractController {
|
|
@@ -36,7 +36,7 @@ export declare class UserController extends AbstractController {
|
|
|
36
36
|
readonly: boolean;
|
|
37
37
|
created: Date;
|
|
38
38
|
updated: Date;
|
|
39
|
-
type: import("../../core/entity/Token").TokenType | undefined;
|
|
39
|
+
type: import("../../core/entity/Token.js").TokenType | undefined;
|
|
40
40
|
} | {
|
|
41
41
|
username: string;
|
|
42
42
|
name?: undefined;
|
|
@@ -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);
|
|
@@ -11,15 +10,13 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
10
|
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
11
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
12
|
};
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
const UserUtil_1 = require("../../common/UserUtil");
|
|
22
|
-
const Token_1 = require("../../core/entity/Token");
|
|
13
|
+
import { HTTPController, HTTPMethod, HTTPMethodEnum, HTTPParam, HTTPBody, Context, } from '@eggjs/tegg';
|
|
14
|
+
import { UnprocessableEntityError, NotFoundError, UnauthorizedError, ForbiddenError, } from 'egg-errors';
|
|
15
|
+
import { Type } from 'egg-typebox-validate/typebox';
|
|
16
|
+
import { AbstractController } from './AbstractController.js';
|
|
17
|
+
import { LoginResultCode } from '../../common/enum/User.js';
|
|
18
|
+
import { sha512 } from '../../common/UserUtil.js';
|
|
19
|
+
import { isGranularToken } from '../../core/entity/Token.js';
|
|
23
20
|
// body: {
|
|
24
21
|
// _id: 'org.couchdb.user:dddd',
|
|
25
22
|
// name: 'dddd',
|
|
@@ -38,17 +35,17 @@ const Token_1 = require("../../core/entity/Token");
|
|
|
38
35
|
// roles: [],
|
|
39
36
|
// date: '2021-12-03T13:46:30.644Z'
|
|
40
37
|
// }
|
|
41
|
-
const UserRule =
|
|
42
|
-
type:
|
|
38
|
+
const UserRule = Type.Object({
|
|
39
|
+
type: Type.Literal('user'),
|
|
43
40
|
// date: Type.String({ format: 'date-time' }),
|
|
44
|
-
name:
|
|
41
|
+
name: Type.String({ minLength: 1, maxLength: 100 }),
|
|
45
42
|
// https://docs.npmjs.com/policies/security#password-policies
|
|
46
43
|
// Passwords should contain alpha-numeric characters and symbols.
|
|
47
44
|
// Passwords should be a minimum of 8 characters.
|
|
48
|
-
password:
|
|
49
|
-
email:
|
|
45
|
+
password: Type.String({ minLength: 8, maxLength: 100 }),
|
|
46
|
+
email: Type.Optional(Type.String({ format: 'email' })),
|
|
50
47
|
});
|
|
51
|
-
let UserController = class UserController extends
|
|
48
|
+
let UserController = class UserController extends AbstractController {
|
|
52
49
|
// https://github.com/npm/npm-profile/blob/main/lib/index.js#L127
|
|
53
50
|
async loginOrCreateUser(ctx, username, user) {
|
|
54
51
|
// headers: {
|
|
@@ -64,19 +61,19 @@ let UserController = class UserController extends AbstractController_1.AbstractC
|
|
|
64
61
|
// console.log(username, user, ctx.headers, ctx.href);
|
|
65
62
|
ctx.tValidate(UserRule, user);
|
|
66
63
|
if (username !== user.name) {
|
|
67
|
-
throw new
|
|
64
|
+
throw new UnprocessableEntityError(`username(${username}) not match user.name(${user.name})`);
|
|
68
65
|
}
|
|
69
66
|
if (this.config.cnpmcore.allowPublicRegistration === false) {
|
|
70
67
|
if (!this.config.cnpmcore.admins[user.name]) {
|
|
71
|
-
throw new
|
|
68
|
+
throw new ForbiddenError('Public registration is not allowed');
|
|
72
69
|
}
|
|
73
70
|
}
|
|
74
71
|
const result = await this.userService.login(user.name, user.password);
|
|
75
72
|
// user exists and password not match
|
|
76
|
-
if (result.code ===
|
|
77
|
-
throw new
|
|
73
|
+
if (result.code === LoginResultCode.Fail) {
|
|
74
|
+
throw new UnauthorizedError('Please check your login name and password');
|
|
78
75
|
}
|
|
79
|
-
if (result.code ===
|
|
76
|
+
if (result.code === LoginResultCode.Success) {
|
|
80
77
|
// login success
|
|
81
78
|
// TODO: 2FA feature
|
|
82
79
|
ctx.status = 201;
|
|
@@ -91,7 +88,7 @@ let UserController = class UserController extends AbstractController_1.AbstractC
|
|
|
91
88
|
// 1. login request
|
|
92
89
|
if (!user.email) {
|
|
93
90
|
// user not exists
|
|
94
|
-
throw new
|
|
91
|
+
throw new NotFoundError(`User ${user.name} not exists`);
|
|
95
92
|
}
|
|
96
93
|
// 2. create user request
|
|
97
94
|
const { user: userEntity, token } = await this.userService.create({
|
|
@@ -113,8 +110,8 @@ let UserController = class UserController extends AbstractController_1.AbstractC
|
|
|
113
110
|
const authorizedUserAndToken = await this.userRoleManager.getAuthorizedUserAndToken(ctx);
|
|
114
111
|
if (!authorizedUserAndToken)
|
|
115
112
|
return { ok: false };
|
|
116
|
-
if (authorizedUserAndToken.token.tokenKey !==
|
|
117
|
-
throw new
|
|
113
|
+
if (authorizedUserAndToken.token.tokenKey !== sha512(token)) {
|
|
114
|
+
throw new UnprocessableEntityError('invalid token');
|
|
118
115
|
}
|
|
119
116
|
await this.userService.removeToken(authorizedUserAndToken.user.userId, token);
|
|
120
117
|
return { ok: true };
|
|
@@ -123,7 +120,7 @@ let UserController = class UserController extends AbstractController_1.AbstractC
|
|
|
123
120
|
async showUser(ctx, username) {
|
|
124
121
|
const user = await this.userService.findUserByNameOrDisplayName(username);
|
|
125
122
|
if (!user) {
|
|
126
|
-
throw new
|
|
123
|
+
throw new NotFoundError(`User "${username}" not found`);
|
|
127
124
|
}
|
|
128
125
|
const authorized = await this.userRoleManager.getAuthorizedUserAndToken(ctx);
|
|
129
126
|
return {
|
|
@@ -137,7 +134,7 @@ let UserController = class UserController extends AbstractController_1.AbstractC
|
|
|
137
134
|
await this.userRoleManager.requiredAuthorizedUser(ctx, 'read');
|
|
138
135
|
const authorizedRes = await this.userRoleManager.getAuthorizedUserAndToken(ctx);
|
|
139
136
|
const { token, user } = authorizedRes;
|
|
140
|
-
if (
|
|
137
|
+
if (isGranularToken(token)) {
|
|
141
138
|
const { name, description, expiredAt, allowedPackages, allowedScopes, lastUsedAt, type } = token;
|
|
142
139
|
return {
|
|
143
140
|
username: user.displayName,
|
|
@@ -163,7 +160,7 @@ let UserController = class UserController extends AbstractController_1.AbstractC
|
|
|
163
160
|
}
|
|
164
161
|
// https://github.com/cnpm/cnpmcore/issues/64
|
|
165
162
|
async starredByUser() {
|
|
166
|
-
throw new
|
|
163
|
+
throw new ForbiddenError('npm stars is not allowed');
|
|
167
164
|
}
|
|
168
165
|
// https://github.com/cnpm/cnpmcore/issues/64
|
|
169
166
|
async showProfile(ctx) {
|
|
@@ -187,83 +184,83 @@ let UserController = class UserController extends AbstractController_1.AbstractC
|
|
|
187
184
|
async saveProfile() {
|
|
188
185
|
// Valid properties are: email, password, fullname, homepage, freenode, twitter, github
|
|
189
186
|
// { email: 'admin@cnpmjs.org', homepage: 'fengmk2' }
|
|
190
|
-
throw new
|
|
187
|
+
throw new ForbiddenError('npm profile set is not allowed');
|
|
191
188
|
}
|
|
192
189
|
};
|
|
193
|
-
exports.UserController = UserController;
|
|
194
190
|
__decorate([
|
|
195
|
-
|
|
191
|
+
HTTPMethod({
|
|
196
192
|
path: '/-/user/org.couchdb.user::username',
|
|
197
|
-
method:
|
|
193
|
+
method: HTTPMethodEnum.PUT,
|
|
198
194
|
}),
|
|
199
|
-
__param(0,
|
|
200
|
-
__param(1,
|
|
201
|
-
__param(2,
|
|
195
|
+
__param(0, Context()),
|
|
196
|
+
__param(1, HTTPParam()),
|
|
197
|
+
__param(2, HTTPBody()),
|
|
202
198
|
__metadata("design:type", Function),
|
|
203
199
|
__metadata("design:paramtypes", [Object, String, Object]),
|
|
204
200
|
__metadata("design:returntype", Promise)
|
|
205
201
|
], UserController.prototype, "loginOrCreateUser", null);
|
|
206
202
|
__decorate([
|
|
207
|
-
|
|
203
|
+
HTTPMethod({
|
|
208
204
|
path: '/-/user/token/:token',
|
|
209
|
-
method:
|
|
205
|
+
method: HTTPMethodEnum.DELETE,
|
|
210
206
|
}),
|
|
211
|
-
__param(0,
|
|
212
|
-
__param(1,
|
|
207
|
+
__param(0, Context()),
|
|
208
|
+
__param(1, HTTPParam()),
|
|
213
209
|
__metadata("design:type", Function),
|
|
214
210
|
__metadata("design:paramtypes", [Object, String]),
|
|
215
211
|
__metadata("design:returntype", Promise)
|
|
216
212
|
], UserController.prototype, "logout", null);
|
|
217
213
|
__decorate([
|
|
218
|
-
|
|
214
|
+
HTTPMethod({
|
|
219
215
|
path: '/-/user/org.couchdb.user::username',
|
|
220
|
-
method:
|
|
216
|
+
method: HTTPMethodEnum.GET,
|
|
221
217
|
}),
|
|
222
|
-
__param(0,
|
|
223
|
-
__param(1,
|
|
218
|
+
__param(0, Context()),
|
|
219
|
+
__param(1, HTTPParam()),
|
|
224
220
|
__metadata("design:type", Function),
|
|
225
221
|
__metadata("design:paramtypes", [Object, String]),
|
|
226
222
|
__metadata("design:returntype", Promise)
|
|
227
223
|
], UserController.prototype, "showUser", null);
|
|
228
224
|
__decorate([
|
|
229
|
-
|
|
225
|
+
HTTPMethod({
|
|
230
226
|
path: '/-/whoami',
|
|
231
|
-
method:
|
|
227
|
+
method: HTTPMethodEnum.GET,
|
|
232
228
|
}),
|
|
233
|
-
__param(0,
|
|
229
|
+
__param(0, Context()),
|
|
234
230
|
__metadata("design:type", Function),
|
|
235
231
|
__metadata("design:paramtypes", [Object]),
|
|
236
232
|
__metadata("design:returntype", Promise)
|
|
237
233
|
], UserController.prototype, "whoami", null);
|
|
238
234
|
__decorate([
|
|
239
|
-
|
|
235
|
+
HTTPMethod({
|
|
240
236
|
path: '/-/_view/starredByUser',
|
|
241
|
-
method:
|
|
237
|
+
method: HTTPMethodEnum.GET,
|
|
242
238
|
}),
|
|
243
239
|
__metadata("design:type", Function),
|
|
244
240
|
__metadata("design:paramtypes", []),
|
|
245
241
|
__metadata("design:returntype", Promise)
|
|
246
242
|
], UserController.prototype, "starredByUser", null);
|
|
247
243
|
__decorate([
|
|
248
|
-
|
|
244
|
+
HTTPMethod({
|
|
249
245
|
path: '/-/npm/v1/user',
|
|
250
|
-
method:
|
|
246
|
+
method: HTTPMethodEnum.GET,
|
|
251
247
|
}),
|
|
252
|
-
__param(0,
|
|
248
|
+
__param(0, Context()),
|
|
253
249
|
__metadata("design:type", Function),
|
|
254
250
|
__metadata("design:paramtypes", [Object]),
|
|
255
251
|
__metadata("design:returntype", Promise)
|
|
256
252
|
], UserController.prototype, "showProfile", null);
|
|
257
253
|
__decorate([
|
|
258
|
-
|
|
254
|
+
HTTPMethod({
|
|
259
255
|
path: '/-/npm/v1/user',
|
|
260
|
-
method:
|
|
256
|
+
method: HTTPMethodEnum.POST,
|
|
261
257
|
}),
|
|
262
258
|
__metadata("design:type", Function),
|
|
263
259
|
__metadata("design:paramtypes", []),
|
|
264
260
|
__metadata("design:returntype", Promise)
|
|
265
261
|
], UserController.prototype, "saveProfile", null);
|
|
266
|
-
|
|
267
|
-
|
|
262
|
+
UserController = __decorate([
|
|
263
|
+
HTTPController()
|
|
268
264
|
], UserController);
|
|
269
|
-
|
|
265
|
+
export { UserController };
|
|
266
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXNlckNvbnRyb2xsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9hcHAvcG9ydC9jb250cm9sbGVyL1VzZXJDb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFDTCxjQUFjLEVBQ2QsVUFBVSxFQUNWLGNBQWMsRUFDZCxTQUFTLEVBQ1QsUUFBUSxFQUNSLE9BQU8sR0FFUixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLGFBQWEsRUFDYixpQkFBaUIsRUFDakIsY0FBYyxHQUNmLE1BQU0sWUFBWSxDQUFDO0FBQ3BCLE9BQU8sRUFBVSxJQUFJLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUU1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUU3RCxVQUFVO0FBQ1Ysa0NBQWtDO0FBQ2xDLGtCQUFrQjtBQUNsQixxQkFBcUI7QUFDckIsa0JBQWtCO0FBQ2xCLGVBQWU7QUFDZixxQ0FBcUM7QUFDckMsSUFBSTtBQUNKLGtDQUFrQztBQUNsQyxJQUFJO0FBQ0osbUNBQW1DO0FBQ25DLG1CQUFtQjtBQUNuQixxQkFBcUI7QUFDckIsMkJBQTJCO0FBQzNCLGtCQUFrQjtBQUNsQixlQUFlO0FBQ2YscUNBQXFDO0FBQ3JDLElBQUk7QUFDSixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQzNCLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztJQUMxQiw4Q0FBOEM7SUFDOUMsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxTQUFT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
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EggContext } from '@eggjs/tegg';
|
|
2
|
-
import { AbstractController } from '../AbstractController';
|
|
2
|
+
import { AbstractController } from '../AbstractController.js';
|
|
3
3
|
export declare class PaddingVersionController extends AbstractController {
|
|
4
4
|
private readonly fixNoPaddingVersionService;
|
|
5
5
|
fixNoPaddingVersion(ctx: EggContext, id: string): Promise<{
|
|
@@ -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);
|
|
@@ -11,12 +10,10 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
10
|
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
11
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
12
|
};
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
const FixNoPaddingVersionService_1 = require("../../../core/service/FixNoPaddingVersionService");
|
|
19
|
-
let PaddingVersionController = class PaddingVersionController extends AbstractController_1.AbstractController {
|
|
13
|
+
import { HTTPController, HTTPMethod, HTTPMethodEnum, Inject, HTTPQuery, Context, } from '@eggjs/tegg';
|
|
14
|
+
import { AbstractController } from '../AbstractController.js';
|
|
15
|
+
import { FixNoPaddingVersionService } from '../../../core/service/FixNoPaddingVersionService.js';
|
|
16
|
+
let PaddingVersionController = class PaddingVersionController extends AbstractController {
|
|
20
17
|
async fixNoPaddingVersion(ctx, id) {
|
|
21
18
|
const isAdmin = await this.userRoleManager.isAdmin(ctx);
|
|
22
19
|
if (!isAdmin) {
|
|
@@ -41,23 +38,23 @@ let PaddingVersionController = class PaddingVersionController extends AbstractCo
|
|
|
41
38
|
};
|
|
42
39
|
}
|
|
43
40
|
};
|
|
44
|
-
exports.PaddingVersionController = PaddingVersionController;
|
|
45
41
|
__decorate([
|
|
46
|
-
|
|
47
|
-
__metadata("design:type",
|
|
42
|
+
Inject(),
|
|
43
|
+
__metadata("design:type", FixNoPaddingVersionService)
|
|
48
44
|
], PaddingVersionController.prototype, "fixNoPaddingVersionService", void 0);
|
|
49
45
|
__decorate([
|
|
50
|
-
|
|
51
|
-
method:
|
|
46
|
+
HTTPMethod({
|
|
47
|
+
method: HTTPMethodEnum.PUT,
|
|
52
48
|
path: '/-/admin/npm/fixPaddingVersion',
|
|
53
49
|
}),
|
|
54
|
-
__param(0,
|
|
55
|
-
__param(1,
|
|
50
|
+
__param(0, Context()),
|
|
51
|
+
__param(1, HTTPQuery()),
|
|
56
52
|
__metadata("design:type", Function),
|
|
57
53
|
__metadata("design:paramtypes", [Object, String]),
|
|
58
54
|
__metadata("design:returntype", Promise)
|
|
59
55
|
], PaddingVersionController.prototype, "fixNoPaddingVersion", null);
|
|
60
|
-
|
|
61
|
-
|
|
56
|
+
PaddingVersionController = __decorate([
|
|
57
|
+
HTTPController()
|
|
62
58
|
], PaddingVersionController);
|
|
63
|
-
|
|
59
|
+
export { PaddingVersionController };
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFkZGluZ1ZlcnNpb25Db250cm9sbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vYXBwL3BvcnQvY29udHJvbGxlci9hZG1pbi9QYWRkaW5nVmVyc2lvbkNvbnRyb2xsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUNMLGNBQWMsRUFDZCxVQUFVLEVBQ1YsY0FBYyxFQUNkLE1BQU0sRUFDTixTQUFTLEVBQUUsT0FBTyxHQUNuQixNQUFNLGFBQWEsQ0FBQztBQUVyQixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUcxRixJQUFNLHdCQUF3QixHQUE5QixNQUFNLHdCQUF5QixTQUFRLGtCQUFrQjtJQVF4RCxBQUFOLEtBQUssQ0FBQyxtQkFBbUIsQ0FBWSxHQUFlLEVBQWUsRUFBVTtRQUMzRSxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNiLE9BQU87Z0JBQ0wsRUFBRSxFQUFFLEtBQUs7Z0JBQ1QsS0FBSyxFQUFFLHdCQUF3QjthQUNoQyxDQUFDO1FBQ0osQ0FBQztRQUNELElBQUksS0FBeUIsQ0FBQztRQUM5QixJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ1AsS0FBSyxHQUFHLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNyQixJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDeEIsT0FBTztvQkFDTCxFQUFFLEVBQUUsS0FBSztvQkFDVCxLQUFLLEVBQUUsc0JBQXNCLEVBQUUsRUFBRTtpQkFDbEMsQ0FBQztZQUNKLENBQUM7UUFDSCxDQUFDO1FBQ0QsTUFBTSxJQUFJLENBQUMsMEJBQTBCLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0QsT0FBTztZQUNMLEVBQUUsRUFBRSxJQUFJO1NBQ1QsQ0FBQztJQUNKLENBQUM7Q0FDRixDQUFBO0FBN0JrQjtJQURoQixNQUFNLEVBQUU7OEJBQ29DLDBCQUEwQjs0RUFBQztBQU1sRTtJQUpMLFVBQVUsQ0FBQztRQUNWLE1BQU0sRUFBRSxjQUFjLENBQUMsR0FBRztRQUMxQixJQUFJLEVBQUUsZ0NBQWdDO0tBQ3ZDLENBQUM7SUFDeUIsV0FBQSxPQUFPLEVBQUUsQ0FBQTtJQUFtQixXQUFBLFNBQVMsRUFBRSxDQUFBOzs7O21FQXNCakU7QUE5QlUsd0JBQXdCO0lBRHBDLGNBQWMsRUFBRTtHQUNKLHdCQUF3QixDQStCcEMifQ==
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Hook } from '../../../core/entity/Hook';
|
|
2
|
-
import { TriggerHookTask } from '../../../core/entity/Task';
|
|
3
|
-
import { User } from '../../../core/entity/User';
|
|
4
|
-
import { HookType } from '../../../common/enum/Hook';
|
|
1
|
+
import { Hook } from '../../../core/entity/Hook.js';
|
|
2
|
+
import { TriggerHookTask } from '../../../core/entity/Task.js';
|
|
3
|
+
import { User } from '../../../core/entity/User.js';
|
|
4
|
+
import { HookType } from '../../../common/enum/Hook.js';
|
|
5
5
|
export interface HookVo {
|
|
6
6
|
id: string;
|
|
7
7
|
username: string;
|