@cloudbase/cli 1.12.7-alpha.4 → 2.0.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/.editorconfig +9 -9
- package/.eslintignore +7 -7
- package/.eslintrc +35 -35
- package/.prettierrc.js +29 -29
- package/.vscode/launch.json +16 -16
- package/.vscode/settings.json +3 -0
- package/LICENSE +5 -5
- package/README.md +35 -35
- package/bin/cloudbase.js +5 -5
- package/bin/tcb.js +0 -0
- package/changelog.md +6 -6
- package/jest.config.js +17 -17
- package/lib/commands/account/login.js +18 -18
- package/lib/commands/run/create.js +6 -1
- package/lib/commands/run/delete.js +6 -1
- package/lib/commands/run/image/common.js +1 -1
- package/lib/commands/run/image/delete.js +5 -0
- package/lib/commands/run/image/download.js +5 -0
- package/lib/commands/run/image/list.js +5 -0
- package/lib/commands/run/image/upload.js +5 -0
- package/lib/commands/run/index.js +1 -0
- package/lib/commands/run/list.js +7 -1
- package/lib/commands/run/service/config.js +112 -0
- package/lib/commands/run/service/create.js +140 -0
- package/lib/commands/run/service/deploy.js +145 -0
- package/lib/commands/run/service/index.js +21 -0
- package/lib/commands/run/service/list.js +115 -0
- package/lib/commands/run/service/update.js +132 -0
- package/lib/commands/run/version/common.js +1 -1
- package/lib/commands/run/version/create.js +5 -0
- package/lib/commands/run/version/delete.js +5 -0
- package/lib/commands/run/version/list.js +5 -0
- package/lib/commands/run/version/modify.js +5 -0
- package/lib/commands/run/version/update.js +5 -0
- package/lib/commands/storage/storage.js +1 -1
- package/lib/constant.js +20 -1
- package/lib/env/login.js +7 -7
- package/lib/help.js +40 -38
- package/lib/run/index.js +1 -0
- package/lib/run/service/common.js +163 -0
- package/lib/run/service/config.js +70 -0
- package/lib/run/service/create.js +67 -0
- package/lib/run/service/deployPackage.js +87 -0
- package/lib/run/service/index.js +23 -0
- package/lib/run/service/list.js +31 -0
- package/lib/run/service/showLogs.js +116 -0
- package/lib/run/service/update.js +83 -0
- package/lib/utils/checkTcbrEnv.js +74 -0
- package/lib/utils/commonParamsCheck.js +48 -0
- package/lib/utils/index.js +3 -0
- package/lib/utils/tcbrApi/callTcbrApi.js +38 -0
- package/lib/utils/tcbrApi/index.js +17 -0
- package/lib/utils/tcbrApi/tcbr-cloud-api/cloud-api-service.js +268 -0
- package/lib/utils/tcbrApi/tcbr-cloud-api/error.js +17 -0
- package/lib/utils/tcbrApi/tcbr-cloud-api/index.js +17 -0
- package/lib/utils/tcbrApi/tcbr-cloud-api/request.js +40 -0
- package/lib/utils/tcbrApi/tcbr-cloud-api-request.js +61 -0
- package/lib/utils/validator.js +32 -1
- package/package.json +88 -88
- package/post-install.js +61 -61
- package/runtime/nodejs/bootstrap.js +255 -255
- package/runtime/nodejs/runtime.js +183 -183
- package/src/auth/index.ts +1 -1
- package/src/auth/login.ts +91 -91
- package/src/auth/logout.ts +7 -7
- package/src/commands/account/index.ts +2 -2
- package/src/commands/account/login.ts +192 -192
- package/src/commands/account/logout.ts +24 -24
- package/src/commands/common.ts +246 -246
- package/src/commands/env/base.ts +90 -90
- package/src/commands/env/create.ts +92 -92
- package/src/commands/env/domain.ts +186 -186
- package/src/commands/env/index.ts +4 -4
- package/src/commands/env/login.ts +235 -235
- package/src/commands/framework/index.ts +124 -124
- package/src/commands/functions/alias/getRoute.ts +76 -76
- package/src/commands/functions/alias/index.ts +2 -2
- package/src/commands/functions/alias/setRoute.ts +82 -82
- package/src/commands/functions/code-download.ts +100 -100
- package/src/commands/functions/code-update.ts +62 -62
- package/src/commands/functions/concurrency/delete.ts +45 -45
- package/src/commands/functions/concurrency/index.ts +2 -2
- package/src/commands/functions/concurrency/list.ts +58 -58
- package/src/commands/functions/concurrency/set.ts +47 -47
- package/src/commands/functions/config-update.ts +76 -76
- package/src/commands/functions/copy.ts +62 -62
- package/src/commands/functions/delete.ts +79 -79
- package/src/commands/functions/deploy.ts +293 -293
- package/src/commands/functions/detail.ts +138 -138
- package/src/commands/functions/index.ts +16 -16
- package/src/commands/functions/invoke.ts +121 -121
- package/src/commands/functions/layer/bind.ts +182 -182
- package/src/commands/functions/layer/common.ts +8 -8
- package/src/commands/functions/layer/create.ts +49 -49
- package/src/commands/functions/layer/delete.ts +73 -73
- package/src/commands/functions/layer/download.ts +92 -92
- package/src/commands/functions/layer/index.ts +7 -7
- package/src/commands/functions/layer/list.ts +94 -94
- package/src/commands/functions/layer/sort.ts +76 -76
- package/src/commands/functions/list.ts +68 -68
- package/src/commands/functions/log.ts +148 -148
- package/src/commands/functions/run.ts +249 -249
- package/src/commands/functions/trigger-create.ts +79 -79
- package/src/commands/functions/trigger-delete.ts +105 -105
- package/src/commands/functions/version/index.ts +1 -1
- package/src/commands/functions/version/list.ts +73 -73
- package/src/commands/functions/version/publish.ts +43 -43
- package/src/commands/gateway/create.ts +109 -109
- package/src/commands/gateway/delete.ts +81 -81
- package/src/commands/gateway/domain.ts +159 -159
- package/src/commands/gateway/index.ts +5 -5
- package/src/commands/gateway/list.ts +76 -76
- package/src/commands/gateway/switch.ts +107 -107
- package/src/commands/helpers/index.ts +2 -2
- package/src/commands/helpers/init.ts +431 -431
- package/src/commands/helpers/new.ts +117 -117
- package/src/commands/helpers/open.ts +67 -67
- package/src/commands/hosting/hosting.ts +360 -360
- package/src/commands/index.ts +13 -13
- package/src/commands/lowcode/app.ts +34 -34
- package/src/commands/lowcode/comps.ts +322 -322
- package/src/commands/lowcode/index.ts +1 -1
- package/src/commands/lowcode/utils.ts +24 -24
- package/src/commands/run/create.ts +9 -2
- package/src/commands/run/delete.ts +8 -2
- package/src/commands/run/image/common.ts +1 -1
- package/src/commands/run/image/delete.ts +8 -1
- package/src/commands/run/image/download.ts +7 -1
- package/src/commands/run/image/index.ts +4 -4
- package/src/commands/run/image/list.ts +7 -2
- package/src/commands/run/image/upload.ts +8 -1
- package/src/commands/run/index.ts +2 -1
- package/src/commands/run/list.ts +11 -3
- package/src/commands/run/service/config.ts +81 -0
- package/src/commands/run/service/create.ts +118 -0
- package/src/commands/run/service/deploy.ts +121 -0
- package/src/commands/run/service/index.ts +5 -0
- package/src/commands/run/service/list.ts +94 -0
- package/src/commands/run/service/update.ts +104 -0
- package/src/commands/run/standalonegateway/common.ts +7 -7
- package/src/commands/run/standalonegateway/create.ts +85 -85
- package/src/commands/run/standalonegateway/destroy.ts +59 -59
- package/src/commands/run/standalonegateway/index.ts +4 -4
- package/src/commands/run/standalonegateway/list.ts +53 -53
- package/src/commands/run/standalonegateway/package.ts +62 -62
- package/src/commands/run/standalonegateway/turn.ts +63 -63
- package/src/commands/run/version/common.ts +1 -1
- package/src/commands/run/version/create.ts +8 -1
- package/src/commands/run/version/delete.ts +8 -2
- package/src/commands/run/version/index.ts +4 -4
- package/src/commands/run/version/list.ts +7 -1
- package/src/commands/run/version/modify.ts +8 -1
- package/src/commands/run/version/update.ts +8 -1
- package/src/commands/smart.ts +132 -132
- package/src/commands/storage/storage.ts +464 -464
- package/src/commands/third/thirdAttach.ts +49 -49
- package/src/completion/index.ts +13 -13
- package/src/constant.ts +35 -1
- package/src/decorators/captureError.ts +25 -25
- package/src/decorators/constants.ts +12 -12
- package/src/decorators/deprecate.ts +25 -25
- package/src/decorators/guard.ts +42 -42
- package/src/decorators/index.ts +7 -7
- package/src/decorators/injectParams.ts +54 -54
- package/src/decorators/params/common.ts +28 -28
- package/src/decorators/params/index.ts +35 -35
- package/src/env/domain.ts +33 -33
- package/src/env/index.ts +63 -63
- package/src/env/login.ts +80 -80
- package/src/error.ts +36 -36
- package/src/function/alias.ts +43 -43
- package/src/function/base.ts +253 -253
- package/src/function/code.ts +55 -55
- package/src/function/concurrency.ts +57 -57
- package/src/function/create.ts +78 -78
- package/src/function/delete.ts +42 -42
- package/src/function/index.ts +10 -10
- package/src/function/layer/attach.ts +68 -68
- package/src/function/layer/create.ts +63 -63
- package/src/function/layer/delete.ts +21 -21
- package/src/function/layer/download.ts +54 -54
- package/src/function/layer/index.ts +7 -7
- package/src/function/layer/list.ts +32 -32
- package/src/function/layer/sort.ts +24 -24
- package/src/function/trigger.ts +97 -97
- package/src/function/update.ts +35 -35
- package/src/function/version.ts +38 -38
- package/src/function/vpc.ts +22 -22
- package/src/gateway/index.ts +137 -137
- package/src/help.ts +50 -48
- package/src/hosting.ts +212 -212
- package/src/index.ts +13 -13
- package/src/logger.ts +17 -17
- package/src/run/create.ts +23 -23
- package/src/run/delete.ts +15 -15
- package/src/run/image/build.ts +36 -36
- package/src/run/image/delete.ts +13 -13
- package/src/run/image/index.ts +3 -3
- package/src/run/image/info.ts +26 -26
- package/src/run/index.ts +2 -1
- package/src/run/list.ts +29 -29
- package/src/run/repo.ts +24 -24
- package/src/run/service/common.ts +206 -0
- package/src/run/service/config.ts +77 -0
- package/src/run/service/create.ts +52 -0
- package/src/run/service/deployPackage.ts +63 -0
- package/src/run/service/index.ts +7 -0
- package/src/run/service/list.ts +29 -0
- package/src/run/service/showLogs.ts +98 -0
- package/src/run/service/update.ts +81 -0
- package/src/run/standalonegateway/create.ts +24 -24
- package/src/run/standalonegateway/destroy.ts +19 -19
- package/src/run/standalonegateway/index.ts +4 -4
- package/src/run/standalonegateway/list.ts +74 -74
- package/src/run/standalonegateway/package/list.ts +24 -24
- package/src/run/standalonegateway/turn/index.ts +1 -1
- package/src/run/standalonegateway/turn/off.ts +19 -19
- package/src/run/standalonegateway/turn/on.ts +19 -19
- package/src/run/version/create.ts +68 -68
- package/src/run/version/delete.ts +15 -15
- package/src/run/version/index.ts +5 -5
- package/src/run/version/list.ts +16 -16
- package/src/run/version/modify.ts +16 -16
- package/src/run/version/repo.ts +27 -27
- package/src/run/version/update.ts +58 -58
- package/src/storage.ts +114 -114
- package/src/third/index.ts +12 -12
- package/src/types.ts +128 -2
- package/src/utils/auth.ts +15 -15
- package/src/utils/checkTcbrEnv.ts +67 -0
- package/src/utils/cli-table.ts +23 -23
- package/src/utils/commonParamsCheck.ts +65 -0
- package/src/utils/config.ts +39 -39
- package/src/utils/env.ts +244 -244
- package/src/utils/fs/del.ts +5 -5
- package/src/utils/fs/index.ts +71 -71
- package/src/utils/function-packer.ts +97 -97
- package/src/utils/index.ts +5 -1
- package/src/utils/log.ts +81 -81
- package/src/utils/net/cloud-api-request.ts +62 -62
- package/src/utils/net/credential.ts +53 -53
- package/src/utils/net/http-request.ts +84 -84
- package/src/utils/net/index.ts +4 -4
- package/src/utils/net/manager-service.ts +36 -36
- package/src/utils/net/proxy.ts +6 -6
- package/src/utils/notice.ts +28 -28
- package/src/utils/output/highlight.ts +5 -5
- package/src/utils/output/index.ts +2 -2
- package/src/utils/output/link.ts +10 -10
- package/src/utils/output/loading.ts +82 -82
- package/src/utils/parallel.ts +82 -82
- package/src/utils/platform/index.ts +2 -2
- package/src/utils/platform/mac.ts +21 -21
- package/src/utils/platform/os.ts +64 -64
- package/src/utils/platform/port.ts +10 -10
- package/src/utils/progress-bar.ts +38 -38
- package/src/utils/prompt/select.ts +59 -59
- package/src/utils/reporter/agree.ts +20 -20
- package/src/utils/reporter/download.ts +26 -26
- package/src/utils/reporter/index.ts +3 -3
- package/src/utils/reporter/usage.ts +20 -20
- package/src/utils/store/auth.ts +49 -49
- package/src/utils/store/common.ts +8 -8
- package/src/utils/store/db.ts +68 -68
- package/src/utils/store/index.ts +4 -4
- package/src/utils/store/usage.ts +12 -12
- package/src/utils/tcbrApi/callTcbrApi.ts +28 -0
- package/src/utils/tcbrApi/index.ts +1 -0
- package/src/utils/tcbrApi/tcbr-cloud-api/cloud-api-service.ts +363 -0
- package/src/utils/tcbrApi/tcbr-cloud-api/error.ts +30 -0
- package/src/utils/tcbrApi/tcbr-cloud-api/index.ts +1 -0
- package/src/utils/tcbrApi/tcbr-cloud-api/request.ts +28 -0
- package/src/utils/tcbrApi/tcbr-cloud-api-request.ts +66 -0
- package/src/utils/template.ts +170 -170
- package/src/utils/tools/encoding.ts +8 -8
- package/src/utils/tools/index.ts +4 -4
- package/src/utils/tools/object.ts +33 -33
- package/src/utils/tools/time.ts +38 -38
- package/src/utils/tools/uid.ts +19 -19
- package/src/utils/validator.ts +64 -32
- package/templates/html/loginFail.html +90 -90
- package/templates/html/loginSuccess.html +86 -86
- package/templates/server/node/_gitignore +54 -54
- package/templates/server/node/cloudbaserc.json +10 -10
- package/templates/server/node/index.js +5 -5
- package/templates/server/node/package.json +9 -9
- package/tsconfig.json +19 -19
- package/tsconfig.test.json +13 -13
- package/types/commands/run/index.d.ts +1 -0
- package/types/commands/run/service/config.d.ts +14 -0
- package/types/commands/run/service/create.d.ts +13 -0
- package/types/commands/run/service/deploy.d.ts +13 -0
- package/types/commands/run/service/index.d.ts +5 -0
- package/types/commands/run/service/list.d.ts +13 -0
- package/types/commands/run/service/update.d.ts +13 -0
- package/types/constant.d.ts +18 -0
- package/types/run/index.d.ts +1 -0
- package/types/run/service/common.d.ts +32 -0
- package/types/run/service/config.d.ts +23 -0
- package/types/run/service/create.d.ts +7 -0
- package/types/run/service/deployPackage.d.ts +11 -0
- package/types/run/service/index.d.ts +7 -0
- package/types/run/service/list.d.ts +2 -0
- package/types/run/service/showLogs.d.ts +2 -0
- package/types/run/service/update.d.ts +2 -0
- package/types/types.d.ts +116 -2
- package/types/utils/checkTcbrEnv.d.ts +3 -0
- package/types/utils/commonParamsCheck.d.ts +3 -0
- package/types/utils/index.d.ts +3 -0
- package/types/utils/tcbrApi/callTcbrApi.d.ts +1 -0
- package/types/utils/tcbrApi/index.d.ts +1 -0
- package/types/utils/tcbrApi/tcbr-cloud-api/cloud-api-service.d.ts +51 -0
- package/types/utils/tcbrApi/tcbr-cloud-api/error.d.ts +20 -0
- package/types/utils/tcbrApi/tcbr-cloud-api/index.d.ts +1 -0
- package/types/utils/tcbrApi/tcbr-cloud-api/request.d.ts +4 -0
- package/types/utils/tcbrApi/tcbr-cloud-api-request.d.ts +9 -0
- package/types/utils/validator.d.ts +4 -0
package/src/env/domain.ts
CHANGED
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
import { CloudApiService } from '../utils/net'
|
|
2
|
-
|
|
3
|
-
const tcbService = CloudApiService.getInstance('tcb')
|
|
4
|
-
|
|
5
|
-
// 拉取安全域名列表
|
|
6
|
-
export async function getEnvAuthDomains({ envId }) {
|
|
7
|
-
const { Domains = [] }: any = await tcbService.request(
|
|
8
|
-
'DescribeAuthDomains',
|
|
9
|
-
{
|
|
10
|
-
EnvId: envId
|
|
11
|
-
}
|
|
12
|
-
)
|
|
13
|
-
|
|
14
|
-
return Domains
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
// 添加环境安全域名
|
|
18
|
-
export async function createEnvDomain({ envId, domains }) {
|
|
19
|
-
await tcbService.request('CreateAuthDomain', {
|
|
20
|
-
EnvId: envId,
|
|
21
|
-
Domains: domains
|
|
22
|
-
})
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
// 删除环境安全域名
|
|
26
|
-
export async function deleteEnvDomain({ envId, domainIds }) {
|
|
27
|
-
const { Deleted }: any = await tcbService.request('DeleteAuthDomain', {
|
|
28
|
-
EnvId: envId,
|
|
29
|
-
DomainIds: domainIds
|
|
30
|
-
})
|
|
31
|
-
|
|
32
|
-
return Deleted
|
|
33
|
-
}
|
|
1
|
+
import { CloudApiService } from '../utils/net'
|
|
2
|
+
|
|
3
|
+
const tcbService = CloudApiService.getInstance('tcb')
|
|
4
|
+
|
|
5
|
+
// 拉取安全域名列表
|
|
6
|
+
export async function getEnvAuthDomains({ envId }) {
|
|
7
|
+
const { Domains = [] }: any = await tcbService.request(
|
|
8
|
+
'DescribeAuthDomains',
|
|
9
|
+
{
|
|
10
|
+
EnvId: envId
|
|
11
|
+
}
|
|
12
|
+
)
|
|
13
|
+
|
|
14
|
+
return Domains
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
// 添加环境安全域名
|
|
18
|
+
export async function createEnvDomain({ envId, domains }) {
|
|
19
|
+
await tcbService.request('CreateAuthDomain', {
|
|
20
|
+
EnvId: envId,
|
|
21
|
+
Domains: domains
|
|
22
|
+
})
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
// 删除环境安全域名
|
|
26
|
+
export async function deleteEnvDomain({ envId, domainIds }) {
|
|
27
|
+
const { Deleted }: any = await tcbService.request('DeleteAuthDomain', {
|
|
28
|
+
EnvId: envId,
|
|
29
|
+
DomainIds: domainIds
|
|
30
|
+
})
|
|
31
|
+
|
|
32
|
+
return Deleted
|
|
33
|
+
}
|
package/src/env/index.ts
CHANGED
|
@@ -1,63 +1,63 @@
|
|
|
1
|
-
import { CloudApiService, getMangerService } from '../utils/net'
|
|
2
|
-
export * from './domain'
|
|
3
|
-
export * from './login'
|
|
4
|
-
|
|
5
|
-
const tcbService = CloudApiService.getInstance('tcb')
|
|
6
|
-
|
|
7
|
-
// 初始化云开发服务
|
|
8
|
-
// 当用户没开通云开发服务时,需要调用此接口初始化云开发服务
|
|
9
|
-
export async function initTcb(skey: string) {
|
|
10
|
-
const res: any = await tcbService.request('InitTcb', {
|
|
11
|
-
Skey: skey
|
|
12
|
-
})
|
|
13
|
-
return res
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
// 创建新环境
|
|
17
|
-
export async function createEnv({ alias, paymentMode }) {
|
|
18
|
-
const { env } = await getMangerService()
|
|
19
|
-
|
|
20
|
-
return env.createEnv({
|
|
21
|
-
paymentMode,
|
|
22
|
-
name: alias
|
|
23
|
-
})
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
// 获取环境信息
|
|
27
|
-
export async function getEnvInfo(envId: string) {
|
|
28
|
-
const { EnvList } = await tcbService.request('DescribeEnvs', {
|
|
29
|
-
EnvId: envId
|
|
30
|
-
})
|
|
31
|
-
|
|
32
|
-
return EnvList?.length ? EnvList[0] : {}
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
// 列出所有环境
|
|
36
|
-
export async function listEnvs(options: { source?: string[] } = {}): Promise<any[]> {
|
|
37
|
-
const { source } = options
|
|
38
|
-
const res: any = await tcbService.request('DescribeEnvs', {
|
|
39
|
-
IsVisible: false,
|
|
40
|
-
Channels: ['dcloud']
|
|
41
|
-
})
|
|
42
|
-
let { EnvList = [] } = res
|
|
43
|
-
// 过滤为指定 source 环境
|
|
44
|
-
if (source && Array.isArray(source)) {
|
|
45
|
-
EnvList = EnvList.filter((item) => source.includes(item.Source))
|
|
46
|
-
}
|
|
47
|
-
return EnvList
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
// 修改环境信息
|
|
51
|
-
export async function updateEnvInfo({ envId, alias }) {
|
|
52
|
-
await tcbService.request('ModifyEnv', {
|
|
53
|
-
EnvId: envId,
|
|
54
|
-
Alias: alias
|
|
55
|
-
})
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
// 获取 Qcloud 环境数量上限
|
|
59
|
-
export async function getEnvLimit(source = 'qcloud') {
|
|
60
|
-
return tcbService.request('DescribeEnvLimit', {
|
|
61
|
-
Source: source
|
|
62
|
-
})
|
|
63
|
-
}
|
|
1
|
+
import { CloudApiService, getMangerService } from '../utils/net'
|
|
2
|
+
export * from './domain'
|
|
3
|
+
export * from './login'
|
|
4
|
+
|
|
5
|
+
const tcbService = CloudApiService.getInstance('tcb')
|
|
6
|
+
|
|
7
|
+
// 初始化云开发服务
|
|
8
|
+
// 当用户没开通云开发服务时,需要调用此接口初始化云开发服务
|
|
9
|
+
export async function initTcb(skey: string) {
|
|
10
|
+
const res: any = await tcbService.request('InitTcb', {
|
|
11
|
+
Skey: skey
|
|
12
|
+
})
|
|
13
|
+
return res
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
// 创建新环境
|
|
17
|
+
export async function createEnv({ alias, paymentMode }) {
|
|
18
|
+
const { env } = await getMangerService()
|
|
19
|
+
|
|
20
|
+
return env.createEnv({
|
|
21
|
+
paymentMode,
|
|
22
|
+
name: alias
|
|
23
|
+
})
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// 获取环境信息
|
|
27
|
+
export async function getEnvInfo(envId: string) {
|
|
28
|
+
const { EnvList } = await tcbService.request('DescribeEnvs', {
|
|
29
|
+
EnvId: envId
|
|
30
|
+
})
|
|
31
|
+
|
|
32
|
+
return EnvList?.length ? EnvList[0] : {}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// 列出所有环境
|
|
36
|
+
export async function listEnvs(options: { source?: string[] } = {}): Promise<any[]> {
|
|
37
|
+
const { source } = options
|
|
38
|
+
const res: any = await tcbService.request('DescribeEnvs', {
|
|
39
|
+
IsVisible: false,
|
|
40
|
+
Channels: ['dcloud']
|
|
41
|
+
})
|
|
42
|
+
let { EnvList = [] } = res
|
|
43
|
+
// 过滤为指定 source 环境
|
|
44
|
+
if (source && Array.isArray(source)) {
|
|
45
|
+
EnvList = EnvList.filter((item) => source.includes(item.Source))
|
|
46
|
+
}
|
|
47
|
+
return EnvList
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
// 修改环境信息
|
|
51
|
+
export async function updateEnvInfo({ envId, alias }) {
|
|
52
|
+
await tcbService.request('ModifyEnv', {
|
|
53
|
+
EnvId: envId,
|
|
54
|
+
Alias: alias
|
|
55
|
+
})
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// 获取 Qcloud 环境数量上限
|
|
59
|
+
export async function getEnvLimit(source = 'qcloud') {
|
|
60
|
+
return tcbService.request('DescribeEnvLimit', {
|
|
61
|
+
Source: source
|
|
62
|
+
})
|
|
63
|
+
}
|
package/src/env/login.ts
CHANGED
|
@@ -1,80 +1,80 @@
|
|
|
1
|
-
import crypto from 'crypto'
|
|
2
|
-
import { CloudApiService } from '../utils/net'
|
|
3
|
-
import { CloudBaseError } from '../error'
|
|
4
|
-
|
|
5
|
-
const publicRsaKey = `
|
|
6
|
-
-----BEGIN PUBLIC KEY-----
|
|
7
|
-
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC0ZLB0ZpWWFsHPnDDw++Nc2wI3
|
|
8
|
-
nl2uyOrIJ5FUfxt4GAmt1Faf5pgMxAnL9exEUrrUDUX8Ri1R0KyfnHQQwCvKt8T8
|
|
9
|
-
bgILIJe9UB8e9dvFqgqH2oA8Vqwi0YqDcvFLFJk2BJbm/0QYtZ563FumW8LEXAgu
|
|
10
|
-
UeHi/0OZN9vQ33jWMQIDAQAB
|
|
11
|
-
-----END PUBLIC KEY-----
|
|
12
|
-
`
|
|
13
|
-
function rsaEncrypt(data: string): string {
|
|
14
|
-
const buffer = Buffer.from(data)
|
|
15
|
-
const encrypted = crypto.publicEncrypt(
|
|
16
|
-
{
|
|
17
|
-
key: publicRsaKey,
|
|
18
|
-
padding: crypto.constants.RSA_PKCS1_PADDING
|
|
19
|
-
},
|
|
20
|
-
buffer
|
|
21
|
-
)
|
|
22
|
-
return encrypted.toString('base64')
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
const tcbService = CloudApiService.getInstance('tcb')
|
|
26
|
-
|
|
27
|
-
// 拉取登录配置列表
|
|
28
|
-
export async function getLoginConfigList({ envId }) {
|
|
29
|
-
const { ConfigList = [] }: any = await tcbService.request('DescribeLoginConfigs', {
|
|
30
|
-
EnvId: envId
|
|
31
|
-
})
|
|
32
|
-
|
|
33
|
-
return ConfigList
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
// 创建登录方式
|
|
37
|
-
export async function createLoginConfig({ envId, platform, appId, appSecret }) {
|
|
38
|
-
const validPlatform = ['WECHAT-OPEN', 'WECHAT-PUBLIC', 'ANONYMOUS']
|
|
39
|
-
if (!validPlatform.includes(platform)) {
|
|
40
|
-
throw new CloudBaseError(
|
|
41
|
-
`Invalid platform value: ${platform}. Now only support 'WECHAT-OPEN', 'WECHAT-PUBLIC', 'ANONYMOUS`
|
|
42
|
-
)
|
|
43
|
-
}
|
|
44
|
-
const params: any = {
|
|
45
|
-
EnvId: envId,
|
|
46
|
-
// 平台 “ANONYMOUS" "WECHAT-OPEN" "WECHAT-PUBLIC"
|
|
47
|
-
Platform: platform,
|
|
48
|
-
PlatformId: appId,
|
|
49
|
-
PlatformSecret: rsaEncrypt(appSecret),
|
|
50
|
-
Status: 'ENABLE'
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
await tcbService.request('CreateLoginConfig', params)
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
// 更新登录方式
|
|
57
|
-
export async function updateLoginConfig({
|
|
58
|
-
configId,
|
|
59
|
-
envId,
|
|
60
|
-
status = 'ENABLE',
|
|
61
|
-
appId = '',
|
|
62
|
-
appSecret = ''
|
|
63
|
-
}) {
|
|
64
|
-
const validStatus = ['ENABLE', 'DISABLE']
|
|
65
|
-
if (!validStatus.includes(status)) {
|
|
66
|
-
throw new CloudBaseError(
|
|
67
|
-
`Invalid status value: ${status}. Only support 'ENABLE', 'DISABLE'`
|
|
68
|
-
)
|
|
69
|
-
}
|
|
70
|
-
const params: any = {
|
|
71
|
-
EnvId: envId,
|
|
72
|
-
ConfigId: configId,
|
|
73
|
-
Status: status
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
appId && (params.PlatformId = appId)
|
|
77
|
-
appSecret && (params.PlatformSecret = rsaEncrypt(appSecret))
|
|
78
|
-
|
|
79
|
-
await tcbService.request('UpdateLoginConfig', params)
|
|
80
|
-
}
|
|
1
|
+
import crypto from 'crypto'
|
|
2
|
+
import { CloudApiService } from '../utils/net'
|
|
3
|
+
import { CloudBaseError } from '../error'
|
|
4
|
+
|
|
5
|
+
const publicRsaKey = `
|
|
6
|
+
-----BEGIN PUBLIC KEY-----
|
|
7
|
+
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC0ZLB0ZpWWFsHPnDDw++Nc2wI3
|
|
8
|
+
nl2uyOrIJ5FUfxt4GAmt1Faf5pgMxAnL9exEUrrUDUX8Ri1R0KyfnHQQwCvKt8T8
|
|
9
|
+
bgILIJe9UB8e9dvFqgqH2oA8Vqwi0YqDcvFLFJk2BJbm/0QYtZ563FumW8LEXAgu
|
|
10
|
+
UeHi/0OZN9vQ33jWMQIDAQAB
|
|
11
|
+
-----END PUBLIC KEY-----
|
|
12
|
+
`
|
|
13
|
+
function rsaEncrypt(data: string): string {
|
|
14
|
+
const buffer = Buffer.from(data)
|
|
15
|
+
const encrypted = crypto.publicEncrypt(
|
|
16
|
+
{
|
|
17
|
+
key: publicRsaKey,
|
|
18
|
+
padding: crypto.constants.RSA_PKCS1_PADDING
|
|
19
|
+
},
|
|
20
|
+
buffer
|
|
21
|
+
)
|
|
22
|
+
return encrypted.toString('base64')
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
const tcbService = CloudApiService.getInstance('tcb')
|
|
26
|
+
|
|
27
|
+
// 拉取登录配置列表
|
|
28
|
+
export async function getLoginConfigList({ envId }) {
|
|
29
|
+
const { ConfigList = [] }: any = await tcbService.request('DescribeLoginConfigs', {
|
|
30
|
+
EnvId: envId
|
|
31
|
+
})
|
|
32
|
+
|
|
33
|
+
return ConfigList
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// 创建登录方式
|
|
37
|
+
export async function createLoginConfig({ envId, platform, appId, appSecret }) {
|
|
38
|
+
const validPlatform = ['WECHAT-OPEN', 'WECHAT-PUBLIC', 'ANONYMOUS']
|
|
39
|
+
if (!validPlatform.includes(platform)) {
|
|
40
|
+
throw new CloudBaseError(
|
|
41
|
+
`Invalid platform value: ${platform}. Now only support 'WECHAT-OPEN', 'WECHAT-PUBLIC', 'ANONYMOUS`
|
|
42
|
+
)
|
|
43
|
+
}
|
|
44
|
+
const params: any = {
|
|
45
|
+
EnvId: envId,
|
|
46
|
+
// 平台 “ANONYMOUS" "WECHAT-OPEN" "WECHAT-PUBLIC"
|
|
47
|
+
Platform: platform,
|
|
48
|
+
PlatformId: appId,
|
|
49
|
+
PlatformSecret: rsaEncrypt(appSecret),
|
|
50
|
+
Status: 'ENABLE'
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
await tcbService.request('CreateLoginConfig', params)
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// 更新登录方式
|
|
57
|
+
export async function updateLoginConfig({
|
|
58
|
+
configId,
|
|
59
|
+
envId,
|
|
60
|
+
status = 'ENABLE',
|
|
61
|
+
appId = '',
|
|
62
|
+
appSecret = ''
|
|
63
|
+
}) {
|
|
64
|
+
const validStatus = ['ENABLE', 'DISABLE']
|
|
65
|
+
if (!validStatus.includes(status)) {
|
|
66
|
+
throw new CloudBaseError(
|
|
67
|
+
`Invalid status value: ${status}. Only support 'ENABLE', 'DISABLE'`
|
|
68
|
+
)
|
|
69
|
+
}
|
|
70
|
+
const params: any = {
|
|
71
|
+
EnvId: envId,
|
|
72
|
+
ConfigId: configId,
|
|
73
|
+
Status: status
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
appId && (params.PlatformId = appId)
|
|
77
|
+
appSecret && (params.PlatformSecret = rsaEncrypt(appSecret))
|
|
78
|
+
|
|
79
|
+
await tcbService.request('UpdateLoginConfig', params)
|
|
80
|
+
}
|
package/src/error.ts
CHANGED
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
interface Options {
|
|
2
|
-
exit?: number
|
|
3
|
-
original?: Error | undefined
|
|
4
|
-
code?: string | number
|
|
5
|
-
requestId?: string
|
|
6
|
-
action?: string
|
|
7
|
-
meta?: Record<string, any>
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export class CloudBaseError extends Error {
|
|
11
|
-
readonly exit: number
|
|
12
|
-
readonly message: string
|
|
13
|
-
readonly name = 'CloudBaseError'
|
|
14
|
-
readonly original: Error | undefined
|
|
15
|
-
readonly code: string | number
|
|
16
|
-
readonly requestId: string
|
|
17
|
-
readonly action: string
|
|
18
|
-
readonly meta: any
|
|
19
|
-
|
|
20
|
-
constructor(message: string, options: Options = {}) {
|
|
21
|
-
super()
|
|
22
|
-
this.message = message
|
|
23
|
-
const {
|
|
24
|
-
code = '',
|
|
25
|
-
action = '',
|
|
26
|
-
original = null,
|
|
27
|
-
requestId = '',
|
|
28
|
-
meta = {}
|
|
29
|
-
} = options
|
|
30
|
-
this.original = original
|
|
31
|
-
this.code = code
|
|
32
|
-
this.requestId = requestId
|
|
33
|
-
this.action = action
|
|
34
|
-
this.meta = meta
|
|
35
|
-
}
|
|
36
|
-
}
|
|
1
|
+
interface Options {
|
|
2
|
+
exit?: number
|
|
3
|
+
original?: Error | undefined
|
|
4
|
+
code?: string | number
|
|
5
|
+
requestId?: string
|
|
6
|
+
action?: string
|
|
7
|
+
meta?: Record<string, any>
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export class CloudBaseError extends Error {
|
|
11
|
+
readonly exit: number
|
|
12
|
+
readonly message: string
|
|
13
|
+
readonly name = 'CloudBaseError'
|
|
14
|
+
readonly original: Error | undefined
|
|
15
|
+
readonly code: string | number
|
|
16
|
+
readonly requestId: string
|
|
17
|
+
readonly action: string
|
|
18
|
+
readonly meta: any
|
|
19
|
+
|
|
20
|
+
constructor(message: string, options: Options = {}) {
|
|
21
|
+
super()
|
|
22
|
+
this.message = message
|
|
23
|
+
const {
|
|
24
|
+
code = '',
|
|
25
|
+
action = '',
|
|
26
|
+
original = null,
|
|
27
|
+
requestId = '',
|
|
28
|
+
meta = {}
|
|
29
|
+
} = options
|
|
30
|
+
this.original = original
|
|
31
|
+
this.code = code
|
|
32
|
+
this.requestId = requestId
|
|
33
|
+
this.action = action
|
|
34
|
+
this.meta = meta
|
|
35
|
+
}
|
|
36
|
+
}
|
package/src/function/alias.ts
CHANGED
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
import { CloudBaseError } from '../error'
|
|
2
|
-
import { IUpdateFunctionAliasConfig, IGetFunctionAlias, IGetFunctionAliasRes } from '../types'
|
|
3
|
-
import { getFunctionService } from './base'
|
|
4
|
-
|
|
5
|
-
// 设置函数流量配置信息(ALIAS 配置)
|
|
6
|
-
export async function setFunctionAliasConfig(options: IUpdateFunctionAliasConfig) {
|
|
7
|
-
const { envId, functionName, name, functionVersion, description, routingConfig } = options
|
|
8
|
-
|
|
9
|
-
const scfService = await getFunctionService(envId)
|
|
10
|
-
|
|
11
|
-
try {
|
|
12
|
-
await scfService.updateFunctionAliasConfig({
|
|
13
|
-
functionName,
|
|
14
|
-
name,
|
|
15
|
-
functionVersion,
|
|
16
|
-
description,
|
|
17
|
-
routingConfig
|
|
18
|
-
})
|
|
19
|
-
} catch (e) {
|
|
20
|
-
throw new CloudBaseError(`[${functionName}] 设置函数流量配置失败: ${e.message}`, {
|
|
21
|
-
code: e.code
|
|
22
|
-
})
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
// 查询函数别名配置信息
|
|
27
|
-
export async function getFunctionAliasConfig(options: IGetFunctionAlias): Promise<IGetFunctionAliasRes> {
|
|
28
|
-
const { envId, functionName, name } = options
|
|
29
|
-
|
|
30
|
-
const scfService = await getFunctionService(envId)
|
|
31
|
-
|
|
32
|
-
try {
|
|
33
|
-
return scfService.getFunctionAlias({
|
|
34
|
-
functionName,
|
|
35
|
-
name
|
|
36
|
-
})
|
|
37
|
-
} catch (e) {
|
|
38
|
-
throw new CloudBaseError(`[${functionName}] 查询函数别名配置失败: ${e.message}`, {
|
|
39
|
-
code: e.code
|
|
40
|
-
})
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
|
|
1
|
+
import { CloudBaseError } from '../error'
|
|
2
|
+
import { IUpdateFunctionAliasConfig, IGetFunctionAlias, IGetFunctionAliasRes } from '../types'
|
|
3
|
+
import { getFunctionService } from './base'
|
|
4
|
+
|
|
5
|
+
// 设置函数流量配置信息(ALIAS 配置)
|
|
6
|
+
export async function setFunctionAliasConfig(options: IUpdateFunctionAliasConfig) {
|
|
7
|
+
const { envId, functionName, name, functionVersion, description, routingConfig } = options
|
|
8
|
+
|
|
9
|
+
const scfService = await getFunctionService(envId)
|
|
10
|
+
|
|
11
|
+
try {
|
|
12
|
+
await scfService.updateFunctionAliasConfig({
|
|
13
|
+
functionName,
|
|
14
|
+
name,
|
|
15
|
+
functionVersion,
|
|
16
|
+
description,
|
|
17
|
+
routingConfig
|
|
18
|
+
})
|
|
19
|
+
} catch (e) {
|
|
20
|
+
throw new CloudBaseError(`[${functionName}] 设置函数流量配置失败: ${e.message}`, {
|
|
21
|
+
code: e.code
|
|
22
|
+
})
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// 查询函数别名配置信息
|
|
27
|
+
export async function getFunctionAliasConfig(options: IGetFunctionAlias): Promise<IGetFunctionAliasRes> {
|
|
28
|
+
const { envId, functionName, name } = options
|
|
29
|
+
|
|
30
|
+
const scfService = await getFunctionService(envId)
|
|
31
|
+
|
|
32
|
+
try {
|
|
33
|
+
return scfService.getFunctionAlias({
|
|
34
|
+
functionName,
|
|
35
|
+
name
|
|
36
|
+
})
|
|
37
|
+
} catch (e) {
|
|
38
|
+
throw new CloudBaseError(`[${functionName}] 查询函数别名配置失败: ${e.message}`, {
|
|
39
|
+
code: e.code
|
|
40
|
+
})
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|