mirror of
https://github.com/ClaytonWWilson/CS307-Team24.git
synced 2025-12-16 18:28:47 +00:00
Refactor DM enabled checking to make it re-usable
This commit is contained in:
parent
19d78596b5
commit
5560b6e13c
@ -518,21 +518,19 @@ exports.getDirectMessages = (req, res) => {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// Sends a DM from the caller to the requested DM document
|
// Returns a promise that resolves if user has DMs enabled
|
||||||
exports.sendDirectMessage = (req, res) => {
|
// and rejects if there is an error or DMs are disabled
|
||||||
return res.status(200).json({message: "Not implemented yet"})
|
isDirectMessageEnabled = (username) => {
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
let result = {};
|
||||||
|
result.code = null;
|
||||||
|
result.message = null;
|
||||||
|
if (username === null || username === undefined || username === "") {
|
||||||
|
result.code = 400;
|
||||||
|
result.message = "No user was sent in the request. The request should have a non-empty 'user' key.";
|
||||||
|
reject(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Creates a DM between the caller and the user in the request
|
|
||||||
exports.createDirectMessage = (req, res) => {
|
|
||||||
return res.status(200).json({message: "Not implemented yet"})
|
|
||||||
}
|
|
||||||
|
|
||||||
// Checks if the requested user has DMs enable or not
|
|
||||||
exports.checkDirectMessagesEnabled = (req, res) => {
|
|
||||||
username = req.body.user;
|
|
||||||
if (username === null || username === undefined) return res.status(400).json({error: "No user was sent in the request. The request should have a 'user' key."});
|
|
||||||
|
|
||||||
db.doc(`/users/${username}`)
|
db.doc(`/users/${username}`)
|
||||||
.get()
|
.get()
|
||||||
.then((doc) => {
|
.then((doc) => {
|
||||||
@ -540,18 +538,62 @@ exports.checkDirectMessagesEnabled = (req, res) => {
|
|||||||
console.log(doc.data())
|
console.log(doc.data())
|
||||||
if (doc.data().dmEnabled === true || doc.data().dmEnabled === null || doc.data().dmEnabled === undefined) {
|
if (doc.data().dmEnabled === true || doc.data().dmEnabled === null || doc.data().dmEnabled === undefined) {
|
||||||
// Assume DMs are enabled if they don't have a dmEnabled key
|
// Assume DMs are enabled if they don't have a dmEnabled key
|
||||||
return res.status(200).json({enabled: true});
|
resolve(result);
|
||||||
} else {
|
} else {
|
||||||
return res.status(200).json({enabled: false});
|
result.code = 0;
|
||||||
|
reject(result);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
console.log(`${username} is not in the database`);
|
console.log(`${username} is not in the database`);
|
||||||
return res.status(400).json({error: `${username} is not in the database`});
|
result.code = 400;
|
||||||
|
result.message = `${username} is not in the database`;
|
||||||
|
reject(result);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
|
console.log("HI")
|
||||||
console.error(err);
|
console.error(err);
|
||||||
return res.status(500).json({error: err});
|
result.code = 500;
|
||||||
|
result.message = err;
|
||||||
|
reject(result);
|
||||||
|
})
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Sends a DM from the caller to the requested DM document
|
||||||
|
exports.sendDirectMessage = (req, res) => {
|
||||||
|
return res.status(200).json({message: "Not implemented yet"})
|
||||||
|
}
|
||||||
|
|
||||||
|
// Creates a DM between the caller and the user in the request
|
||||||
|
exports.createDirectMessage = (req, res) => {
|
||||||
|
// TODO: Check if the user exists
|
||||||
|
// TODO: Check if this user has dms enabled
|
||||||
|
// TODO: Check if they have dms enabled
|
||||||
|
// TODO: Check if there is already a dm
|
||||||
|
|
||||||
|
// this.checkDirectMessagesEnabled(req, res);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Checks if the requested user has DMs enable or not
|
||||||
|
/* Request Parameters
|
||||||
|
* user: str
|
||||||
|
*/
|
||||||
|
exports.checkDirectMessagesEnabled = (req, res) => {
|
||||||
|
isDirectMessageEnabled(req.body.user)
|
||||||
|
.then(() => {
|
||||||
|
return res.status(200).json({enabled: true});
|
||||||
|
})
|
||||||
|
.catch((result) => {
|
||||||
|
console.log(result);
|
||||||
|
if (result.code === 0) {
|
||||||
|
// DMs are disabled
|
||||||
|
return res.status(200).json({enabled: false});
|
||||||
|
} else {
|
||||||
|
// Some other error occured
|
||||||
|
return res.status(result.code).json({err: result.message});
|
||||||
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user