This commit is contained in:
Jeffrey Morgan 2015-05-26 10:55:54 -07:00
Родитель 52f388fce6
Коммит 2d403816c4
4 изменённых файлов: 19 добавлений и 5 удалений

Просмотреть файл

@ -24,8 +24,12 @@ module.exports = React.createClass({
}, },
componentWillUpdate: function (nextProps, nextState) { componentWillUpdate: function (nextProps, nextState) {
if (nextState.username) { if (!this.state.username && nextState.username) {
if (nextState.prompted) {
this.goBack(); this.goBack();
} else {
this.transitionTo('search');
}
} }
}, },

Просмотреть файл

@ -16,9 +16,11 @@ module.exports = React.createClass({
errors: {} errors: {}
}; };
}, },
componentDidMount: function () { componentDidMount: function () {
React.findDOMNode(this.refs.usernameInput).focus(); React.findDOMNode(this.refs.usernameInput).focus();
}, },
componentWillReceiveProps: function (nextProps) { componentWillReceiveProps: function (nextProps) {
this.setState({errors: nextProps.errors}); this.setState({errors: nextProps.errors});
}, },

Просмотреть файл

@ -12,6 +12,10 @@ module.exports = {
} }
}, },
username: function () {
return localStorage.getItem('auth.username') || null;
},
// Returns the base64 encoded index token or null if no token exists // Returns the base64 encoded index token or null if no token exists
config: function () { config: function () {
let config = localStorage.getItem('auth.config'); let config = localStorage.getItem('auth.config');
@ -107,6 +111,7 @@ module.exports = {
localStorage.setItem('auth.verified', true); localStorage.setItem('auth.verified', true);
localStorage.setItem('auth.config', new Buffer(username + ':' + password).toString('base64')); localStorage.setItem('auth.config', new Buffer(username + ':' + password).toString('base64'));
accountServerActions.loggedin({username, verified: true}); accountServerActions.loggedin({username, verified: true});
accountServerActions.prompted({prompted: true});
require('./RegHubUtil').repos(); require('./RegHubUtil').repos();
} else { } else {
accountServerActions.errors({errors: {detail: 'Did not receive login token.'}}); accountServerActions.errors({errors: {detail: 'Did not receive login token.'}});
@ -114,6 +119,7 @@ module.exports = {
} else if (response.statusCode === 401) { } else if (response.statusCode === 401) {
if (data && data.detail && data.detail.indexOf('Account not active yet') !== -1) { if (data && data.detail && data.detail.indexOf('Account not active yet') !== -1) {
accountServerActions.loggedin({username, verified: false}); accountServerActions.loggedin({username, verified: false});
accountServerActions.prompted({prompted: true});
localStorage.setItem('auth.username', username); localStorage.setItem('auth.username', username);
localStorage.setItem('auth.verified', false); localStorage.setItem('auth.verified', false);
localStorage.setItem('auth.config', new Buffer(username + ':' + password).toString('base64')); localStorage.setItem('auth.config', new Buffer(username + ':' + password).toString('base64'));
@ -158,6 +164,7 @@ module.exports = {
// TODO: save username to localstorage // TODO: save username to localstorage
if (response.statusCode === 204) { if (response.statusCode === 204) {
accountServerActions.signedup({username, verified: false}); accountServerActions.signedup({username, verified: false});
accountServerActions.prompted({prompted: true});
localStorage.setItem('auth.username', username); localStorage.setItem('auth.username', username);
localStorage.setItem('auth.verified', false); localStorage.setItem('auth.verified', false);
localStorage.setItem('auth.config', new Buffer(username + ':' + password).toString('base64')); localStorage.setItem('auth.config', new Buffer(username + ':' + password).toString('base64'));

Просмотреть файл

@ -88,7 +88,7 @@ module.exports = {
tags: function (repo) { tags: function (repo) {
hubUtil.request({ hubUtil.request({
url: `https://registry.hub.docker.com/v2/repositories/${repo}/tags` url: `https://registry.hub.docker.com/v2/repositories/v/tags`
}, (error, response, body) => { }, (error, response, body) => {
if (response.statusCode === 200) { if (response.statusCode === 200) {
let data = JSON.parse(body); let data = JSON.parse(body);
@ -104,7 +104,7 @@ module.exports = {
repositoryServerActions.reposLoading({repos: []}); repositoryServerActions.reposLoading({repos: []});
hubUtil.request({ hubUtil.request({
url: 'https://registry.hub.docker.com/v2/namespaces/', url: 'https://hub.docker.com/v2/user/orgs/',
}, (error, response, body) => { }, (error, response, body) => {
if (error) { if (error) {
repositoryServerActions.reposError({error}); repositoryServerActions.reposError({error});
@ -112,7 +112,8 @@ module.exports = {
} }
let data = JSON.parse(body); let data = JSON.parse(body);
let namespaces = data.namespaces; let namespaces = data.results.map(r => r.orgname);
namespaces.push(hubUtil.username());
async.map(namespaces, (namespace, cb) => { async.map(namespaces, (namespace, cb) => {
hubUtil.request({ hubUtil.request({
url: `https://registry.hub.docker.com/v2/repositories/${namespace}` url: `https://registry.hub.docker.com/v2/repositories/${namespace}`