Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const fetch = require("node-fetch");
- fetch(
- "https://candidate.hubteam.com/candidateTest/v3/problem/dataset?userKey=8270d53c6a7e40205f4743b15c15"
- )
- .then(res => res.json())
- .then(data => {
- messages = data["messages"];
- ourUser = data["userId"];
- let users = data["users"];
- let userIDS = {};
- users.forEach(function(hash) {
- userIDS[hash["id"]] = {
- totalMessages: 0,
- mostRecentMessageTimestamp: new Date(1910, 1, 1),
- mostRecentMessage: "",
- mostRecentMessageUserId: null
- };
- });
- messages.forEach(function(message) {
- if (
- message["toUserId"] === ourUser ||
- message["fromUserId"] === ourUser
- ) {
- key = message["fromUserId"];
- if (
- userIDS[message["fromUserId"]] === undefined &&
- message["fromUserId"] === ourUser
- ) {
- key = message["toUserId"];
- }
- userIDS[key]["totalMessages"]++;
- currRecent = new Date(userIDS[key]["mostRecentMessageTimestamp"]);
- timestampDate = new Date(message.timestamp);
- if (currRecent < timestampDate) {
- userIDS[key]["mostRecentMessageTimestamp"] = message.timestamp;
- userIDS[key]["mostRecentMessage"] = message.content;
- userIDS[key]["mostRecentMessageUserId"] = message["fromUserId"];
- }
- }
- });
- let conversations = [];
- let keys = Object.keys(userIDS);
- keys.forEach(function(id) {
- let avatar = undefined;
- let firstName = undefined;
- let lastName = undefined;
- users.forEach(function(user) {
- if (user["id"] == id) {
- avatar = user["avatar"];
- firstName = user["firstName"];
- lastName = user["lastName"];
- }
- });
- conversations.push({
- avatar: avatar,
- firstName: firstName,
- lastName: lastName,
- mostRecentMessage: {
- content: userIDS[id]["mostRecentMessage"],
- timestamp: userIDS[id]["mostRecentMessageTimestamp"],
- userId: userIDS[id]["mostRecentMessageUserId"]
- },
- totalMessages: userIDS[id]["totalMessages"],
- userId: id
- });
- });
- conversations.sort(function(a, b) {
- var keyA = new Date(a["mostRecentMessage"]["timestamp"]),
- keyB = new Date(b["mostRecentMessage"]["timestamp"]);
- // Compare the 2 dates
- if (keyA < keyB) return 1;
- if (keyA > keyB) return -1;
- return 0;
- });
- let postData = { conversations };
- // fetch(
- // "https://candidate.hubteam.com/candidateTest/v3/problem/result?userKey=8270d53c6a7e40205f4743b15c15",
- // {
- // method: "post",
- // headers: {
- // "Content-Type": "application/json"
- // },
- // body: JSON.stringify(postData)
- // }
- // )
- // .then(res => res.json())
- // .then(data => console.log(data));
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement