diff --git a/app/scripts/services/secrets.js b/app/scripts/services/secrets.js index 7c55d2b447..8dbba3bdc1 100644 --- a/app/scripts/services/secrets.js +++ b/app/scripts/services/secrets.js @@ -29,10 +29,12 @@ angular.module("openshiftConsole") }; var decodeDockercfg = function(encodedData) { - var decodedSecretData = {}; + var decodedSecretData = { + auths: {} + }; var decodedData = JSON.parse(window.atob(encodedData)); _.each(decodedData, function(data, serverName) { - decodedSecretData[serverName] = { + decodedSecretData.auths[serverName] = { username: data.username, password: data.password, email: data.email @@ -42,16 +44,28 @@ angular.module("openshiftConsole") }; var decodeDockerconfigjson = function(encodedData) { - var decodedSecretData = {}; + var decodedSecretData = { + auths: {} + }; var decodedData = JSON.parse(window.atob(encodedData)); _.each(decodedData.auths, function(data, serverName) { + if (!data.auth) { + decodedSecretData.auths[serverName] = data; + return; + } + var usernamePassword = window.atob(data.auth).split(":"); - decodedSecretData[serverName] = { + decodedSecretData.auths[serverName] = { username: usernamePassword[0], password: usernamePassword[1], email: data.email }; }); + + if (decodedData.credsStore) { + decodedSecretData.credsStore = decodedData.credsStore; + } + return decodedSecretData; }; diff --git a/app/views/_config-file-params.html b/app/views/_config-file-params.html index 950dc86d2e..76c6b19a11 100644 --- a/app/views/_config-file-params.html +++ b/app/views/_config-file-params.html @@ -1,12 +1,26 @@ -
+

{{serverName}}

-
username
-
{{data.username}}
-
password
-
- -
-
*****
-
email
-
{{data.email}}
+
+
username
+
{{data.username}}
+
password
+
+ + + + ***** +
+
email
+
{{data.email}}
+
+
+ No username and password. +
+
+

Credentials Store

+
+ + + + *****
diff --git a/dist/scripts/scripts.js b/dist/scripts/scripts.js index 9065a62c98..ef4ff8d2d3 100644 --- a/dist/scripts/scripts.js +++ b/dist/scripts/scripts.js @@ -3074,24 +3074,30 @@ message: null }; }), angular.module("openshiftConsole").factory("SecretsService", function() { var e = function(e) { -var t = {}, n = JSON.parse(window.atob(e)); +var t = { +auths: {} +}, n = JSON.parse(window.atob(e)); return _.each(n, function(e, n) { -t[n] = { +t.auths[n] = { username: e.username, password: e.password, email: e.email }; }), t; }, t = function(e) { -var t = {}, n = JSON.parse(window.atob(e)); +var t = { +auths: {} +}, n = JSON.parse(window.atob(e)); return _.each(n.auths, function(e, n) { +if (e.auth) { var a = window.atob(e.auth).split(":"); -t[n] = { +t.auths[n] = { username: a[0], password: a[1], email: e.email }; -}), t; +} else t.auths[n] = e; +}), n.credsStore && (t.credsStore = n.credsStore), t; }; return { groupSecretsByType: function(e) { diff --git a/dist/scripts/templates.js b/dist/scripts/templates.js index 959e5bd0a9..665add2f0b 100644 --- a/dist/scripts/templates.js +++ b/dist/scripts/templates.js @@ -123,17 +123,31 @@ angular.module('openshiftConsoleTemplates', []).run(['$templateCache', function( $templateCache.put('views/_config-file-params.html', - "
\n" + + "
\n" + "

{{serverName}}

\n" + - "
username
\n" + - "
{{data.username}}
\n" + - "
password
\n" + - "
\n" + + "
\n" + + "
username
\n" + + "
{{data.username}}
\n" + + "
password
\n" + + "
\n" + + "\n" + "\n" + + "\n" + + "*****\n" + "
\n" + - "
*****
\n" + - "
email
\n" + - "
{{data.email}}
\n" + + "
email
\n" + + "
{{data.email}}
\n" + + "
\n" + + "
\n" + + "No username and password.\n" + + "
\n" + + "
\n" + + "

Credentials Store

\n" + + "
\n" + + "\n" + + "\n" + + "\n" + + "*****\n" + "
" );