Skip to content

Instantly share code, notes, and snippets.

@angelomachado
Created January 18, 2017 17:35
Show Gist options
  • Save angelomachado/003c40064e54db63c657d20817f2d507 to your computer and use it in GitHub Desktop.
Save angelomachado/003c40064e54db63c657d20817f2d507 to your computer and use it in GitHub Desktop.
import Ember from 'ember';
import BaseAuthenticator from 'ember-simple-auth/authenticators/base';
const {
get,
inject: { service },
RSVP
} = Ember;
export default BaseAuthenticator.extend({
api: service(),
store: service(),
restore() {
return new RSVP.Promise((resolve, reject) => {
return get(this, 'api').request('/users/current').then((response) => {
if (response.errors) {
return reject(response);
} else {
return resolve({ user: response });
}
}, (reason) => {
return reject(reason);
});
});
},
authenticate(email, password) {
return new RSVP.Promise((resolve, reject) => {
return get(this, 'api').post('/users/login', {
data: {
user: {
email,
password
}
}
}).then((response) => {
if (response.errors) {
return reject(response);
} else {
return resolve({ user: response });
}
}, (reason) => {
return reject(reason);
});
});
},
invalidate() {
return new RSVP.Promise((resolve, reject) => {
return get(this, 'api').delete('/users/logout').then(() => {
get(this, 'store').unloadAll();
resolve();
}, () => {
reject();
});
});
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment