Skip to content

Commit ff9d048

Browse files
committed
fix(asw): add uin option
1 parent 6ffa6eb commit ff9d048

File tree

3 files changed

+14
-9
lines changed

3 files changed

+14
-9
lines changed

__tests__/asw.test.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ describe('Account', () => {
1818
name: string;
1919
resourceId?: string;
2020
role?: string;
21+
uin: string;
22+
appId: string;
2123
input?: string;
2224
} = {
2325
definition: JSON.stringify({
@@ -29,6 +31,8 @@ describe('Account', () => {
2931
},
3032
}),
3133
name: 'serverless-test',
34+
uin: process.env.TENCENT_UIN,
35+
appId: process.env.TENCENT_APP_ID,
3236
input,
3337
};
3438

@@ -100,8 +104,6 @@ describe('Account', () => {
100104
});
101105

102106
// 删除测试创建的角色
103-
if (createResult.isNewRole) {
104-
await client.cam.DeleteRole(createResult.roleName);
105-
}
107+
await client.cam.DeleteRole(createResult.roleName);
106108
});
107109
});

src/modules/asw/index.ts

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ export default class Asw {
7171
definition,
7272
name,
7373
role,
74+
uin,
7475
type = 'STANDARD',
7576
chineseName = 'serverless',
7677
description = 'Created By Serverless',
@@ -89,14 +90,13 @@ export default class Asw {
8990
};
9091

9192
let roleName = role;
92-
const accountInfo = await this.account.get();
9393

9494
if (!roleName) {
9595
// 如果上层传入 appId 直接使用上层 appId,如果没有尝试通过 accountInfo 中来获取
96-
const appId = options.appId || accountInfo.appId;
96+
const { appId } = options;
9797
roleName = await this.createRole(name, appId!);
9898
}
99-
reqParams.RoleResource = `qcs::cam::uin/${accountInfo.ownerUin}:roleName/${roleName}`;
99+
reqParams.RoleResource = `qcs::cam::uin/${uin}:roleName/${roleName}`;
100100

101101
if (input) {
102102
reqParams.Input = input;
@@ -125,6 +125,7 @@ export default class Asw {
125125
definition,
126126
name,
127127
role,
128+
uin,
128129
type = 'STANDARD',
129130
chineseName = 'serverless',
130131
description = 'Created By Serverless',
@@ -143,14 +144,14 @@ export default class Asw {
143144
};
144145

145146
let roleName = role;
146-
const accountInfo = await this.account.get();
147147

148148
if (!roleName) {
149149
// 如果上层传入 appId 直接使用上层 appId,如果没有尝试通过 accountInfo 中来获取
150-
const appId = options.appId || accountInfo.appId;
150+
const { appId } = options;
151151
roleName = await this.createRole(name, appId!);
152152
}
153-
reqParams.RoleResource = `qcs::cam::uin/${accountInfo.ownerUin}:roleName/${roleName}`;
153+
154+
reqParams.RoleResource = `qcs::cam::uin/${uin}:roleName/${roleName}`;
154155

155156
const { RequestId, FlowServiceResource } = await this.request({
156157
...reqParams,

src/modules/asw/interface.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ export interface CreateOptions {
2929
definition: string;
3030
// 状态机服务名称,必须唯一
3131
name: string;
32+
// 用户主账号 UIN
33+
uin: string;
3234
// 是否是新创建角色
3335
isNewRole?: boolean;
3436
// 角色名称

0 commit comments

Comments
 (0)