1
1
const { cam } = require ( 'tencent-cloud-sdk' ) ;
2
+ const { TypeError } = require ( '../../utils/error' ) ;
2
3
3
4
class Cam {
4
5
constructor ( credentials = { } , region ) {
@@ -7,10 +8,21 @@ class Cam {
7
8
this . camClient = new cam ( this . credentials ) ;
8
9
}
9
10
10
- async sleep ( ms ) {
11
- return new Promise ( ( resolve ) => {
12
- setTimeout ( resolve , ms ) ;
13
- } ) ;
11
+ async request ( data ) {
12
+ try {
13
+ const res = await this . camClient . request ( data ) ;
14
+
15
+ if ( res . Response && res . Response . Error ) {
16
+ throw new TypeError (
17
+ `API_CAM_${ data . Action } ` ,
18
+ JSON . stringify ( res . Response ) ,
19
+ res . Response . RequestId ,
20
+ ) ;
21
+ }
22
+ return res ;
23
+ } catch ( e ) {
24
+ throw new TypeError ( `API_CAM_${ data . Action } ` , e . message , e . stack ) ;
25
+ }
14
26
}
15
27
16
28
async DescribeRoleList ( page , limit ) {
@@ -20,7 +32,7 @@ class Cam {
20
32
Page : page ,
21
33
Rp : limit ,
22
34
} ;
23
- return await this . camClient . request ( reqParams ) ;
35
+ return this . request ( reqParams ) ;
24
36
}
25
37
26
38
async ListRolePoliciesByRoleId ( roleId , page , limit ) {
@@ -31,7 +43,7 @@ class Cam {
31
43
Rp : limit ,
32
44
RoleId : roleId ,
33
45
} ;
34
- return await this . camClient . request ( reqParams ) ;
46
+ return this . request ( reqParams ) ;
35
47
}
36
48
37
49
async CreateRole ( roleName , policiesDocument ) {
@@ -42,7 +54,7 @@ class Cam {
42
54
PolicyDocument : policiesDocument ,
43
55
Description : 'Serverless Framework' ,
44
56
} ;
45
- return await this . camClient . request ( reqParams ) ;
57
+ return this . request ( reqParams ) ;
46
58
}
47
59
48
60
// api limit qps 3/s
@@ -53,16 +65,13 @@ class Cam {
53
65
AttachRoleId : roleId ,
54
66
PolicyName : policyName ,
55
67
} ;
56
- return await this . camClient . request ( reqParams ) ;
68
+ return this . request ( reqParams ) ;
57
69
}
58
70
59
71
async CheckSCFExcuteRole ( ) {
60
72
const ScfExcuteRoleName = 'QCS_SCFExcuteRole' ;
61
73
62
74
const roles = await this . DescribeRoleList ( 1 , 200 ) ;
63
- if ( roles . Response . Error ) {
64
- throw new Error ( roles . Response . Error . Message ) ;
65
- }
66
75
67
76
const len = roles . Response . List . length ;
68
77
for ( var i = 0 ; i < len ; i ++ ) {
0 commit comments