1 |
|
2 | 'use strict'
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 | const logSymbols = require('log-symbols')
|
15 |
|
16 | const logUpdates = require('./utils/log-updates.js')
|
17 |
|
18 | function authenticate (
|
19 | config /* : BlinkMRCServer */,
|
20 | blinkMobileIdentity /* : BlinkMobileIdentity */,
|
21 | env /* : string */
|
22 | ) /* : Promise<AWSCredentials> */ {
|
23 | const stopUpdates = logUpdates(() => 'Authenticating...')
|
24 | return blinkMobileIdentity.assumeAWSRole({
|
25 | bmProject: config.project,
|
26 | command: 'logs',
|
27 | environment: env
|
28 | })
|
29 | .then((results) => {
|
30 | stopUpdates((logUpdater) => logUpdater(logSymbols.success, 'Authentication complete!'))
|
31 | return results
|
32 | })
|
33 | .catch((err) => {
|
34 | stopUpdates((logUpdater) => logUpdater(logSymbols.error, 'Authentication failed...'))
|
35 | return Promise.reject(err)
|
36 | })
|
37 | }
|
38 |
|
39 | module.exports = {
|
40 | authenticate
|
41 | }
|