getUserPoolConfigInfo()

in source/api/services/admin/lib/user.js [392:466]


        getUserPoolConfigInfo(function(err, poolinfo) {
            if (err) {
                return cb(err, null);
            }

            let params = {
                UserPoolId: poolinfo,
                Username: userId
            };

            let cognitoidentityserviceprovider = new AWS.CognitoIdentityServiceProvider();
            cognitoidentityserviceprovider.adminGetUser(params, function(err, data) {
                if (err) {
                    console.log(err);
                    return cb({code: 502, message: "Failed to get user."}, null);
                }

                let _user = {
                    user_id: data.Username,
                    display_name: '',
                    email: '',
                    role: 'Member',
                    accesskey: '',
                    enabled: data.Enabled,
                    created_at: data.UserCreateDate,
                    updated_at: data.UserLastModifiedDate
                };
                let _nm = _.where(data.UserAttributes, {
                    Name: 'custom:display_name'
                });
                if (_nm.length > 0) {
                    _user.display_name = _nm[0].Value;

                } else {
                    let _nm = _.where(data.UserAttributes, {
                        Name: 'name'
                    });
                    let _fn = _.where(data.UserAttributes, {
                        Name: 'family_name'
                    });

                    if (_nm.length > 0 && _fn.length > 0) {
                        _user.display_name = `${_nm[0].Value} ${_fn[0].Value}`;
                    } else if (_nm.length > 0) {
                        _user.display_name = _nm[0].Value;
                    } else if (_fn.length > 0) {
                        _user.display_name = _fn[0].Value;
                    }
                }

                let _ak = _.where(data.UserAttributes, {
                    Name: 'custom:accesskey'
                });
                if (_ak.length > 0) {
                    _user.accesskey = _ak[0].Value;
                }

                let _em = _.where(data.UserAttributes, {
                    Name: 'email'
                });
                if (_em.length > 0) {
                    _user.email = _em[0].Value;
                }

                let _role = _.where(data.UserAttributes, {
                    Name: 'custom:role'
                });
                if (_role.length > 0) {
                    _user.role = _role[0].Value;
                }

                return cb(null, _user);

            });
        });