Skip to content

Commit

Permalink
ZKUI-19: Format the code by using prettier
Browse files Browse the repository at this point in the history
  • Loading branch information
ChengYanJin committed Oct 27, 2021
1 parent 1ae0d13 commit 69693cb
Show file tree
Hide file tree
Showing 231 changed files with 18,595 additions and 14,684 deletions.
5 changes: 5 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"singleQuote": true,
"tabWidth": 2,
"trailingComma": "all"
}
226 changes: 123 additions & 103 deletions src/js/IAMClient.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,115 +6,135 @@ import IAM from 'aws-sdk/clients/iam';
import type { IAMClient as IAMClientInterface } from '../types/iam';
import { getClients } from '../react/utils/actions';

export function getAssumeRoleWithWebIdentityIAM(state: AppState, accountName: string): Promise<IAMClient> {
const { oidc, auth, configuration } = state;
const { stsClient } = getClients(state);
const accounts = configuration.latest.users;
const account = accounts.find(a => a.userName === accountName);

if (!account || !oidc || !oidc.user)
return Promise.reject();
const assumeRoleParams = {
idToken: oidc.user.id_token,
RoleSessionName:'app1',
roleArn: `arn:aws:iam::${account.id}:role/roleForB`,
export function getAssumeRoleWithWebIdentityIAM(
state: AppState,
accountName: string,
): Promise<IAMClient> {
const { oidc, auth, configuration } = state;
const { stsClient } = getClients(state);
const accounts = configuration.latest.users;
const account = accounts.find(a => a.userName === accountName);

if (!account || !oidc || !oidc.user) return Promise.reject();
const assumeRoleParams = {
idToken: oidc.user.id_token,
RoleSessionName: 'app1',
roleArn: `arn:aws:iam::${account.id}:role/roleForB`,
};
return stsClient.assumeRoleWithWebIdentity(assumeRoleParams).then(creds => {
const params = {
accessKey: creds.Credentials.AccessKeyId,
secretKey: creds.Credentials.SecretAccessKey,
sessionToken: creds.Credentials.SessionToken,
};
return stsClient.assumeRoleWithWebIdentity(assumeRoleParams)
.then(creds => {
const params = {
accessKey: creds.Credentials.AccessKeyId,
secretKey: creds.Credentials.SecretAccessKey,
sessionToken: creds.Credentials.SessionToken,
};
const iamClient = new IAMClient(auth.config.iamEndpoint);
iamClient.login(params);
return iamClient;
});
const iamClient = new IAMClient(auth.config.iamEndpoint);
iamClient.login(params);
return iamClient;
});
}

export default class IAMClient implements IAMClientInterface {
constructor(endpoint) {
this.endpoint = endpoint;
}

login(creds: Credentials) {
this.client = new IAM({
// endpoint: 'https://iam.amazonaws.com',
endpoint: this.endpoint,
accessKeyId: creds.accessKey,
secretAccessKey: creds.secretKey,
sessionToken: creds.sessionToken,
region: 'us-east-1',
});
}

logout() {
if (this.client)
this.client.config.update({ accessKeyId: '', secretAccessKey: '', sessionToken: '' });
}

createAccessKey(userName) {
return this.client.createAccessKey({
UserName: userName,
}).promise();
}

createUser(userName) {
return this.client.createUser({
UserName: userName,
}).promise();
}

deleteAccessKey(accessKey, userName) {
const params = {
AccessKeyId: accessKey,
UserName: userName,
};
return this.client.deleteAccessKey(params).promise();
}

deleteUser(userName) {
return this.client.deleteUser({
UserName: userName,
}).promise();
}

getUser(userName) {
return this.client.getUser({
UserName: userName,
}).promise();
}

listOwnAccessKeys() {
return this.client.listAccessKeys().promise();
}

listAccessKeys(userName) {
return this.client.listAccessKeys({
UserName: userName,
}).promise();
}

listAttachedUserPolicies(userName) {
return this.client.listAttachedUserPolicies({
UserName: userName,
}).promise();
}

listGroupsForUser(userName) {
return this.client.listGroupsForUser({
UserName: userName,
}).promise();
}

listUsers() {
return this.client.listUsers({
MaxItems: 20,
}).promise();
}
constructor(endpoint) {
this.endpoint = endpoint;
}

login(creds: Credentials) {
this.client = new IAM({
// endpoint: 'https://iam.amazonaws.com',
endpoint: this.endpoint,
accessKeyId: creds.accessKey,
secretAccessKey: creds.secretKey,
sessionToken: creds.sessionToken,
region: 'us-east-1',
});
}

logout() {
if (this.client)
this.client.config.update({
accessKeyId: '',
secretAccessKey: '',
sessionToken: '',
});
}

createAccessKey(userName) {
return this.client
.createAccessKey({
UserName: userName,
})
.promise();
}

createUser(userName) {
return this.client
.createUser({
UserName: userName,
})
.promise();
}

deleteAccessKey(accessKey, userName) {
const params = {
AccessKeyId: accessKey,
UserName: userName,
};
return this.client.deleteAccessKey(params).promise();
}

deleteUser(userName) {
return this.client
.deleteUser({
UserName: userName,
})
.promise();
}

getUser(userName) {
return this.client
.getUser({
UserName: userName,
})
.promise();
}

listOwnAccessKeys() {
return this.client.listAccessKeys().promise();
}

listAccessKeys(userName) {
return this.client
.listAccessKeys({
UserName: userName,
})
.promise();
}

listAttachedUserPolicies(userName) {
return this.client
.listAttachedUserPolicies({
UserName: userName,
})
.promise();
}

listGroupsForUser(userName) {
return this.client
.listGroupsForUser({
UserName: userName,
})
.promise();
}

listUsers() {
return this.client
.listUsers({
MaxItems: 20,
})
.promise();
}
}


// OFFLILE
// export default class IAMClient {
// constructor() {
Expand Down
Loading

0 comments on commit 69693cb

Please sign in to comment.