Skip to content

Commit

Permalink
Remove makeSession and only operate on data.
Browse files Browse the repository at this point in the history
The session behavior shouldn’t be calling all of these other can-connect methods inside data-related methods.
  • Loading branch information
marshallswain committed Dec 20, 2016
1 parent d402938 commit 7724b45
Showing 1 changed file with 6 additions and 19 deletions.
25 changes: 6 additions & 19 deletions session/session.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
var connect = require('can-connect');
var errors = require('feathers-errors');
var authAgent = require('feathers-authentication-popups').authAgent;
var canEvent = require('can-event');
var decode = require('jwt-decode');
var payloadIsValid = require('../utils').payloadIsValid;
var hasValidToken = require('../utils').hasValidToken;
Expand All @@ -15,20 +14,12 @@ module.exports = connect.behavior('data/feathers-session', function () {
throw new Error('You must provide a Map instance to the feathers-session behavior. See ' + helpURL);
}

var Session = this.Map;
var feathersClient = this.feathersClient;

Object.assign(Session, canEvent);

function makeSession (connection, payload) {
var session = new Session(payload);
connection.createInstance(session);
return session;
}
var options = feathersClient.passport.options;

return {
init: function () {
var self = this;
var connection = this;
// Listen to feathers-authentication-popups messages.
authAgent.on('login', function (token) {
try {
Expand All @@ -42,28 +33,24 @@ module.exports = connect.behavior('data/feathers-session', function () {
feathersClient.authenticate({strategy: 'jwt', accessToken: token})
.then(function (data) {
var payload = decode(data.accessToken);
return makeSession(self, payload);
connection.createInstance(payload);
});
});
},
createData: function (data) {
var self = this;
return feathersClient.authenticate(data)
.then(function (data) {
var payload = decode(data.accessToken);
return makeSession(self, payload);
return decode(data.accessToken);
});
},
getData: function () {
var self = this;
return new Promise(function (resolve, reject) {
var options = feathersClient.passport.options;
var tokenLocation = options.tokenKey || options.cookie;
if (hasValidToken(tokenLocation) && !window.doneSsr) {
feathersClient.authenticate()
.then(function (data) {
var payload = decode(data.accessToken);
return makeSession(self, payload);
return resolve(payload);
})
.catch(reject);
} else {
Expand All @@ -72,7 +59,7 @@ module.exports = connect.behavior('data/feathers-session', function () {
});
},
destroyData: function () {
return feathersClient.logout();
return Promise.resolve(feathersClient.logout());
}
};
});

0 comments on commit 7724b45

Please sign in to comment.