diff --git a/server/controllers/project.controller.js b/server/controllers/project.controller.js index 86c340ea40..21bb410182 100644 --- a/server/controllers/project.controller.js +++ b/server/controllers/project.controller.js @@ -173,6 +173,23 @@ export async function projectForUserExists(username, projectId) { return project != null; } +/** + * @param {string} username + * @param {string} projectId - the database id or the slug or the project + * @return {Promise} + */ +export async function getProjectForUser(username, projectId) { + const user = await User.findByUsername(username); + if (!user) return { exists: false }; + const project = await Project.findOne({ + user: user._id, + $or: [{ _id: projectId }, { slug: projectId }] + }); + return project != null + ? { exists: true, userProject: project } + : { exists: false }; +} + /** * Adds URLs referenced in + + +
+
+ + + + `; +} + /** * Send a 404 page if `exists` is false. * @param {import('express').e.Request} req