-
Notifications
You must be signed in to change notification settings - Fork 27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Problem with babel #26
Comments
You may want to make an exception and not run your models through a transpiler like Though I am curious how are you using the constructor without the |
i exactly use aqua source, this is my code https://github.com/jedireza/aqua/blob/master/server/models/session.js |
That's the model. However it sounds like how that model get's instantiated is the problem (not using a Sharing a reproducible code snippet that I can run to get the same error would be most helpful. |
'use strict';
const Async = require('async');
const Bcrypt = require('bcrypt');
const Joi = require('joi');
const MongoModels = require('mongo-models');
const Uuid = require('uuid');
class Session extends MongoModels {
static generateKeyHash(callback) {
const key = Uuid.v4();
Async.auto({
salt: function (done) {
Bcrypt.genSalt(10, done);
},
hash: ['salt', function (results, done) {
Bcrypt.hash(key, results.salt, done);
}]
}, (err, results) => {
if (err) {
return callback(err);
}
callback(null, {
key,
hash: results.hash
});
});
}
static create(userId, callback) {
const self = this;
Async.auto({
keyHash: this.generateKeyHash.bind(this),
newSession: ['keyHash', function (results, done) {
const document = {
userId,
key: results.keyHash.hash,
time: new Date()
};
self.insertOne(document, done);
}],
clean: ['newSession', function (results, done) {
const query = {
userId,
key: { $ne: results.keyHash.hash }
};
self.deleteOne(query, done);
}]
}, (err, results) => {
if (err) {
return callback(err);
}
results.newSession[0].key = results.keyHash.key;
callback(null, results.newSession[0]);
});
}
static findByCredentials(id, key, callback) {
const self = this;
Async.auto({
session: function (done) {
self.findById(id, done);
},
keyMatch: ['session', function (results, done) {
if (!results.session) {
return done(null, false);
}
const source = results.session.key;
Bcrypt.compare(key, source, done);
}]
}, (err, results) => {
if (err) {
return callback(err);
}
if (results.keyMatch) {
return callback(null, results.session);
}
callback();
});
}
}
Session.collection = 'sessions';
Session.schema = Joi.object({
_id: Joi.object(),
userId: Joi.string(),
key: Joi.string(),
time: Joi.date()
});
Session.constructWithSchema = true;
Session.indexes = [
{ key: { userId: 1 } }
];
module.exports = Session; |
This isn't a reproducible code example, just the code that you linked to. At this point I'm unable to help since I don't have enough information to work with. I'd also venture to say that you shouldn't need to transpile your model code since it's not intended for the browser. |
if we use babel we got this error : (i convert this class to es5 and works, i think you missed something)
The text was updated successfully, but these errors were encountered: