Как я могу загрузить определение типа из AWS .CognitoIdentityServiceProvider? - PullRequest
1 голос
/ 27 апреля 2020

Я использую aws-sdk, и у меня есть:

const cognitoidentityserviceprovider = new CognitoIdentityServiceProvider({region: 'us-east-1'})

@Injectable()
export class UsersService {

    async find(): Promise<any[]> {
        const SECRET_CREDENTIALS = await secretsmanager.getSecretValue({ SecretId: 'Secrets' }).promise()
        const SECRET_CREDENTIALS_PARSED = JSON.parse(SECRET_CREDENTIALS.SecretString)

        let identities = await cognitoidentityserviceprovider.listUsers({
            UserPoolId: SECRET_CREDENTIALS_PARSED.COGNITO_POOL
        }).promise()


        return identities.Users
    }

}

Я хочу правильно установить тип. Как я могу импортировать тип ListUsersResponse?

1 Ответ

1 голос
/ 09 мая 2020

Импорт ListUsersResponse:

import {ListUsersResponse} from 'aws-sdk/clients/cognitoidentityserviceprovider';


Другие типы потенциальных интересов могут быть импортированы из этого же места. Иллюстрация на основе кода в вопросе:

import * as AWS from 'aws-sdk';
import {ListUsersResponse, UserType} from 'aws-sdk/clients/cognitoidentityserviceprovider';
const cognitoidentityserviceprovider = new AWS.CognitoIdentityServiceProvider()

export class UsersService {
    async find(): Promise<UserType[]> { 
        let identities = await cognitoidentityserviceprovider.listUsers({
            UserPoolId: "<USER_POOL>"
        })
        .promise()
        .then((result: ListUsersResponse) => result);

        return identities.Users
    }
}
...