11const { cam } = require ( 'tencent-cloud-sdk' ) ;
2+ const { TypeError } = require ( '../../utils/error' ) ;
23
34class Cam {
45 constructor ( credentials = { } , region ) {
@@ -7,10 +8,21 @@ class Cam {
78 this . camClient = new cam ( this . credentials ) ;
89 }
910
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+ }
1426 }
1527
1628 async DescribeRoleList ( page , limit ) {
@@ -20,7 +32,7 @@ class Cam {
2032 Page : page ,
2133 Rp : limit ,
2234 } ;
23- return await this . camClient . request ( reqParams ) ;
35+ return this . request ( reqParams ) ;
2436 }
2537
2638 async ListRolePoliciesByRoleId ( roleId , page , limit ) {
@@ -31,7 +43,7 @@ class Cam {
3143 Rp : limit ,
3244 RoleId : roleId ,
3345 } ;
34- return await this . camClient . request ( reqParams ) ;
46+ return this . request ( reqParams ) ;
3547 }
3648
3749 async CreateRole ( roleName , policiesDocument ) {
@@ -42,7 +54,7 @@ class Cam {
4254 PolicyDocument : policiesDocument ,
4355 Description : 'Serverless Framework' ,
4456 } ;
45- return await this . camClient . request ( reqParams ) ;
57+ return this . request ( reqParams ) ;
4658 }
4759
4860 // api limit qps 3/s
@@ -53,16 +65,13 @@ class Cam {
5365 AttachRoleId : roleId ,
5466 PolicyName : policyName ,
5567 } ;
56- return await this . camClient . request ( reqParams ) ;
68+ return this . request ( reqParams ) ;
5769 }
5870
5971 async CheckSCFExcuteRole ( ) {
6072 const ScfExcuteRoleName = 'QCS_SCFExcuteRole' ;
6173
6274 const roles = await this . DescribeRoleList ( 1 , 200 ) ;
63- if ( roles . Response . Error ) {
64- throw new Error ( roles . Response . Error . Message ) ;
65- }
6675
6776 const len = roles . Response . List . length ;
6877 for ( var i = 0 ; i < len ; i ++ ) {
0 commit comments