Following diagram represents the interaction between signup, Auth and User modules.
Pay attention to some of the following in above diagram:
As per the above diagram, the details and code samples for three files are presented below:
// Import the Auth module
//
var Auth = require('./Auth');
// Create an Auth object
//
var auth = new Auth();
//
// Calls login API on Auth object
// Returns a promise object
//
var loginPromise = auth.login({username:'ashukla', password:'pass123'});
//
// Once the state of Promise is fulfilled/resolved or rejected,
// following is executed
//
loginPromise.then(function(response){
console.log("User name: " + response.firstname);
console.log("Completed async operation...");
}, function(error) {
console.log(error.message);
});
console.log("Completed sync operation...");
// Promise needs to be imported when executing a module using Node
//
var Promise = require("promise");
var User = require("./User");
var userService;
function Auth() {
userService = new User();
}
Auth.prototype.login = function(user) {
return new Promise(function(resolve, reject) {
if(user.username != "" && user.password != "") {
resolve(userService.get(user));
} else {
if(user.username == ""){
reject({status:1, message: "Username is invalid"});
} else {
reject({status:2, message: "Password is invalid"});
}
}
});
}
module.exports = Auth;
// Promise needs to be imported when executing a module using Node
//
var Promise = require("promise");
function User() {
}
User.prototype.get = function(user) {
return new Promise(function(resolve, reject) {
setTimeout(function() {
resolve({username: user.username,
firstname: 'Ajitesh',
lastname: 'Shukla',
age: 40,
location: 'Hyderabad',
twitter: 'vitalflux',
url: 'http://www.vitalflux.com'});
}, 5000);
});
};
module.exports = User;
In recent years, artificial intelligence (AI) has evolved to include more sophisticated and capable agents,…
Adaptive learning helps in tailoring learning experiences to fit the unique needs of each student.…
With the increasing demand for more powerful machine learning (ML) systems that can handle diverse…
Anxiety is a common mental health condition that affects millions of people around the world.…
In machine learning, confounder features or variables can significantly affect the accuracy and validity of…
Last updated: 26 Sept, 2024 Credit card fraud detection is a major concern for credit…