@cloudbase/cli 2.0.3 → 2.0.4-alpha.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 (199) hide show
  1. package/.editorconfig +9 -9
  2. package/.eslintignore +7 -7
  3. package/.eslintrc +35 -35
  4. package/.prettierrc.js +29 -29
  5. package/.vscode/launch.json +16 -16
  6. package/LICENSE +5 -5
  7. package/README.md +35 -35
  8. package/bin/cloudbase.js +5 -5
  9. package/bin/tcb.js +0 -0
  10. package/changelog.md +6 -6
  11. package/jest.config.js +17 -17
  12. package/lib/commands/account/login.js +18 -18
  13. package/lib/commands/storage/storage.js +1 -1
  14. package/lib/env/login.js +7 -7
  15. package/package.json +2 -2
  16. package/post-install.js +61 -61
  17. package/runtime/nodejs/bootstrap.js +255 -255
  18. package/runtime/nodejs/runtime.js +183 -183
  19. package/src/auth/index.ts +1 -1
  20. package/src/auth/login.ts +91 -91
  21. package/src/auth/logout.ts +7 -7
  22. package/src/commands/account/index.ts +2 -2
  23. package/src/commands/account/login.ts +192 -192
  24. package/src/commands/account/logout.ts +24 -24
  25. package/src/commands/env/base.ts +90 -90
  26. package/src/commands/env/create.ts +92 -92
  27. package/src/commands/env/domain.ts +186 -186
  28. package/src/commands/env/index.ts +4 -4
  29. package/src/commands/env/login.ts +235 -235
  30. package/src/commands/framework/index.ts +124 -124
  31. package/src/commands/functions/alias/getRoute.ts +76 -76
  32. package/src/commands/functions/alias/index.ts +2 -2
  33. package/src/commands/functions/alias/setRoute.ts +82 -82
  34. package/src/commands/functions/code-download.ts +100 -100
  35. package/src/commands/functions/code-update.ts +62 -62
  36. package/src/commands/functions/concurrency/delete.ts +45 -45
  37. package/src/commands/functions/concurrency/index.ts +2 -2
  38. package/src/commands/functions/concurrency/list.ts +58 -58
  39. package/src/commands/functions/concurrency/set.ts +47 -47
  40. package/src/commands/functions/config-update.ts +76 -76
  41. package/src/commands/functions/copy.ts +62 -62
  42. package/src/commands/functions/delete.ts +79 -79
  43. package/src/commands/functions/deploy.ts +293 -293
  44. package/src/commands/functions/detail.ts +138 -138
  45. package/src/commands/functions/index.ts +16 -16
  46. package/src/commands/functions/invoke.ts +121 -121
  47. package/src/commands/functions/layer/bind.ts +182 -182
  48. package/src/commands/functions/layer/common.ts +8 -8
  49. package/src/commands/functions/layer/create.ts +49 -49
  50. package/src/commands/functions/layer/delete.ts +73 -73
  51. package/src/commands/functions/layer/download.ts +92 -92
  52. package/src/commands/functions/layer/index.ts +7 -7
  53. package/src/commands/functions/layer/list.ts +94 -94
  54. package/src/commands/functions/layer/sort.ts +76 -76
  55. package/src/commands/functions/list.ts +68 -68
  56. package/src/commands/functions/log.ts +148 -148
  57. package/src/commands/functions/run.ts +249 -249
  58. package/src/commands/functions/trigger-create.ts +79 -79
  59. package/src/commands/functions/trigger-delete.ts +105 -105
  60. package/src/commands/functions/version/index.ts +1 -1
  61. package/src/commands/functions/version/list.ts +73 -73
  62. package/src/commands/functions/version/publish.ts +43 -43
  63. package/src/commands/gateway/create.ts +109 -109
  64. package/src/commands/gateway/delete.ts +81 -81
  65. package/src/commands/gateway/domain.ts +159 -159
  66. package/src/commands/gateway/index.ts +5 -5
  67. package/src/commands/gateway/list.ts +76 -76
  68. package/src/commands/gateway/switch.ts +107 -107
  69. package/src/commands/helpers/index.ts +2 -2
  70. package/src/commands/helpers/init.ts +431 -431
  71. package/src/commands/helpers/new.ts +117 -117
  72. package/src/commands/helpers/open.ts +67 -67
  73. package/src/commands/hosting/hosting.ts +360 -360
  74. package/src/commands/index.ts +13 -13
  75. package/src/commands/lowcode/app.ts +34 -34
  76. package/src/commands/lowcode/comps.ts +322 -322
  77. package/src/commands/lowcode/index.ts +1 -1
  78. package/src/commands/lowcode/utils.ts +24 -24
  79. package/src/commands/run/image/index.ts +4 -4
  80. package/src/commands/run/standalonegateway/common.ts +7 -7
  81. package/src/commands/run/standalonegateway/create.ts +85 -85
  82. package/src/commands/run/standalonegateway/destroy.ts +59 -59
  83. package/src/commands/run/standalonegateway/index.ts +4 -4
  84. package/src/commands/run/standalonegateway/list.ts +53 -53
  85. package/src/commands/run/standalonegateway/package.ts +62 -62
  86. package/src/commands/run/standalonegateway/turn.ts +63 -63
  87. package/src/commands/run/version/index.ts +4 -4
  88. package/src/commands/smart.ts +132 -132
  89. package/src/commands/storage/storage.ts +464 -464
  90. package/src/commands/third/thirdAttach.ts +49 -49
  91. package/src/completion/index.ts +13 -13
  92. package/src/decorators/captureError.ts +25 -25
  93. package/src/decorators/constants.ts +12 -12
  94. package/src/decorators/deprecate.ts +25 -25
  95. package/src/decorators/guard.ts +42 -42
  96. package/src/decorators/index.ts +7 -7
  97. package/src/decorators/injectParams.ts +54 -54
  98. package/src/decorators/params/common.ts +28 -28
  99. package/src/decorators/params/index.ts +35 -35
  100. package/src/env/domain.ts +33 -33
  101. package/src/env/index.ts +63 -63
  102. package/src/env/login.ts +80 -80
  103. package/src/error.ts +36 -36
  104. package/src/function/alias.ts +43 -43
  105. package/src/function/base.ts +253 -253
  106. package/src/function/code.ts +55 -55
  107. package/src/function/concurrency.ts +57 -57
  108. package/src/function/create.ts +78 -78
  109. package/src/function/delete.ts +42 -42
  110. package/src/function/index.ts +10 -10
  111. package/src/function/layer/attach.ts +68 -68
  112. package/src/function/layer/create.ts +63 -63
  113. package/src/function/layer/delete.ts +21 -21
  114. package/src/function/layer/download.ts +54 -54
  115. package/src/function/layer/index.ts +7 -7
  116. package/src/function/layer/list.ts +32 -32
  117. package/src/function/layer/sort.ts +24 -24
  118. package/src/function/trigger.ts +97 -97
  119. package/src/function/update.ts +35 -35
  120. package/src/function/version.ts +38 -38
  121. package/src/function/vpc.ts +22 -22
  122. package/src/gateway/index.ts +137 -137
  123. package/src/hosting.ts +212 -212
  124. package/src/index.ts +13 -13
  125. package/src/logger.ts +17 -17
  126. package/src/run/create.ts +23 -23
  127. package/src/run/delete.ts +15 -15
  128. package/src/run/image/build.ts +36 -36
  129. package/src/run/image/delete.ts +13 -13
  130. package/src/run/image/index.ts +3 -3
  131. package/src/run/image/info.ts +26 -26
  132. package/src/run/list.ts +29 -29
  133. package/src/run/repo.ts +24 -24
  134. package/src/run/standalonegateway/create.ts +24 -24
  135. package/src/run/standalonegateway/destroy.ts +19 -19
  136. package/src/run/standalonegateway/index.ts +4 -4
  137. package/src/run/standalonegateway/list.ts +74 -74
  138. package/src/run/standalonegateway/package/list.ts +24 -24
  139. package/src/run/standalonegateway/turn/index.ts +1 -1
  140. package/src/run/standalonegateway/turn/off.ts +19 -19
  141. package/src/run/standalonegateway/turn/on.ts +19 -19
  142. package/src/run/version/create.ts +68 -68
  143. package/src/run/version/delete.ts +15 -15
  144. package/src/run/version/index.ts +5 -5
  145. package/src/run/version/list.ts +16 -16
  146. package/src/run/version/modify.ts +16 -16
  147. package/src/run/version/repo.ts +27 -27
  148. package/src/run/version/update.ts +58 -58
  149. package/src/storage.ts +114 -114
  150. package/src/third/index.ts +12 -12
  151. package/src/utils/auth.ts +15 -15
  152. package/src/utils/cli-table.ts +23 -23
  153. package/src/utils/config.ts +39 -39
  154. package/src/utils/env.ts +244 -244
  155. package/src/utils/fs/del.ts +5 -5
  156. package/src/utils/fs/index.ts +71 -71
  157. package/src/utils/function-packer.ts +97 -97
  158. package/src/utils/log.ts +81 -81
  159. package/src/utils/net/cloud-api-request.ts +62 -62
  160. package/src/utils/net/credential.ts +53 -53
  161. package/src/utils/net/index.ts +4 -4
  162. package/src/utils/net/manager-service.ts +36 -36
  163. package/src/utils/net/proxy.ts +6 -6
  164. package/src/utils/notice.ts +28 -28
  165. package/src/utils/output/highlight.ts +5 -5
  166. package/src/utils/output/index.ts +2 -2
  167. package/src/utils/output/link.ts +10 -10
  168. package/src/utils/output/loading.ts +82 -82
  169. package/src/utils/parallel.ts +82 -82
  170. package/src/utils/platform/index.ts +2 -2
  171. package/src/utils/platform/mac.ts +21 -21
  172. package/src/utils/platform/os.ts +64 -64
  173. package/src/utils/platform/port.ts +10 -10
  174. package/src/utils/progress-bar.ts +38 -38
  175. package/src/utils/prompt/select.ts +59 -59
  176. package/src/utils/reporter/agree.ts +20 -20
  177. package/src/utils/reporter/download.ts +26 -26
  178. package/src/utils/reporter/index.ts +3 -3
  179. package/src/utils/reporter/usage.ts +20 -20
  180. package/src/utils/store/auth.ts +49 -49
  181. package/src/utils/store/common.ts +8 -8
  182. package/src/utils/store/db.ts +68 -68
  183. package/src/utils/store/index.ts +4 -4
  184. package/src/utils/store/usage.ts +12 -12
  185. package/src/utils/template.ts +170 -170
  186. package/src/utils/tools/encoding.ts +8 -8
  187. package/src/utils/tools/index.ts +4 -4
  188. package/src/utils/tools/object.ts +33 -33
  189. package/src/utils/tools/time.ts +38 -38
  190. package/src/utils/tools/uid.ts +19 -19
  191. package/templates/html/loginFail.html +90 -90
  192. package/templates/html/loginSuccess.html +86 -86
  193. package/templates/server/node/_gitignore +54 -54
  194. package/templates/server/node/cloudbaserc.json +10 -10
  195. package/templates/server/node/index.js +5 -5
  196. package/templates/server/node/package.json +9 -9
  197. package/tsconfig.json +19 -19
  198. package/tsconfig.test.json +13 -13
  199. package/.vscode/settings.json +0 -3
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
+ }
@@ -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
+