-
Notifications
You must be signed in to change notification settings - Fork 26
Open
Description
Hello guys
I am trying to use this library to call a remote method inside a meteor application, the remote method required the user authenticated, I manage to accomplish the task, but being honest looks I feel that my implementation is not correct. I think I must to be using a kind of promises structure.
Here my solution. any ideas are accepted
const WebSocket = require('ws');
const DDP = require("ddp.js").default
const options = {
endpoint: "http://localhost:3300/websocket",
SocketConstructor: WebSocket
};
let token = null;
let tokenExpires = null;
let methodInstalmentsId = null;
const ddp = new DDP(options);
ddp.on("connected", () => {
console.log("Connected");
});
const myLoginParams = {
user: {
email: "example@example.com"
},
password: "STRONG PASSWORD :P"
};
const methodLoginId = ddp.method("login", [myLoginParams]);
ddp.on("result", message => {
if (message.id === methodLoginId) {
if (!message.error) {
token = message.result.token;
tokenExpires = message.result.tokenExpires;
console.log("Logged in!");
console.log(token);
console.log(tokenExpires['$date']);
// Call a secondary method after login
methodInstalmentsId = ddp.method("instalments", [{token: token}]);
} else {
console.log("Error login");
}
}
if (message.id === methodInstalmentsId) {
if (!message.error) {
console.log(message)
} else {
console.log('Error getting instalments', message)
}
}
});
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels