Marketplace móvil para negocios locales mexicanos. Estructura inicial: - apps/backend (NestJS API) - apps/frontend (React Web) - apps/mobile (Expo/React Native) - apps/mcp-server (Claude MCP Server) - apps/whatsapp-service (WhatsApp Business API) - database/ (PostgreSQL DDL) - docs/ (Documentación) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
93 lines
2.0 KiB
JavaScript
93 lines
2.0 KiB
JavaScript
var req = exports = module.exports = {};
|
|
|
|
/**
|
|
* Initiate a login session for `user`.
|
|
*
|
|
* Options:
|
|
* - `session` Save login state in session, defaults to _true_
|
|
*
|
|
* Examples:
|
|
*
|
|
* req.logIn(user, { session: false });
|
|
*
|
|
* req.logIn(user, function(err) {
|
|
* if (err) { throw err; }
|
|
* // session saved
|
|
* });
|
|
*
|
|
* @param {User} user
|
|
* @param {Object} options
|
|
* @param {Function} done
|
|
* @api public
|
|
*/
|
|
req.login =
|
|
req.logIn = function(user, options, done) {
|
|
if (typeof options == 'function') {
|
|
done = options;
|
|
options = {};
|
|
}
|
|
options = options || {};
|
|
|
|
var property = this._userProperty || 'user';
|
|
var session = (options.session === undefined) ? true : options.session;
|
|
|
|
this[property] = user;
|
|
if (session && this._sessionManager) {
|
|
if (typeof done != 'function') { throw new Error('req#login requires a callback function'); }
|
|
|
|
var self = this;
|
|
this._sessionManager.logIn(this, user, options, function(err) {
|
|
if (err) { self[property] = null; return done(err); }
|
|
done();
|
|
});
|
|
} else {
|
|
done && done();
|
|
}
|
|
};
|
|
|
|
/**
|
|
* Terminate an existing login session.
|
|
*
|
|
* @api public
|
|
*/
|
|
req.logout =
|
|
req.logOut = function(options, done) {
|
|
if (typeof options == 'function') {
|
|
done = options;
|
|
options = {};
|
|
}
|
|
options = options || {};
|
|
|
|
var property = this._userProperty || 'user';
|
|
|
|
this[property] = null;
|
|
if (this._sessionManager) {
|
|
if (typeof done != 'function') { throw new Error('req#logout requires a callback function'); }
|
|
|
|
this._sessionManager.logOut(this, options, done);
|
|
} else {
|
|
done && done();
|
|
}
|
|
};
|
|
|
|
/**
|
|
* Test if request is authenticated.
|
|
*
|
|
* @return {Boolean}
|
|
* @api public
|
|
*/
|
|
req.isAuthenticated = function() {
|
|
var property = this._userProperty || 'user';
|
|
return (this[property]) ? true : false;
|
|
};
|
|
|
|
/**
|
|
* Test if request is unauthenticated.
|
|
*
|
|
* @return {Boolean}
|
|
* @api public
|
|
*/
|
|
req.isUnauthenticated = function() {
|
|
return !this.isAuthenticated();
|
|
};
|