diff --git a/server/media/media.js b/server/media/media.js index 1f207ea14..7cb8a1b5d 100644 --- a/server/media/media.js +++ b/server/media/media.js @@ -7,11 +7,21 @@ const { DELETE_MEDIA_DOCUMENTS } = require("../graphql-client/queries"); const cloudinary = require("cloudinary").v2; cloudinary.config(process.env.CLOUDINARY_URL); +/** + * @description Creates a signed upload URL for Cloudinary. + * @param req + * @param res + */ const createSignedUploadURL = (req, res) => { logger.log("media-signed-upload", "DEBUG", req.user.email, null, null); res.send(cloudinary.utils.api_sign_request(req.body, process.env.CLOUDINARY_API_SECRET)); }; +/** + * @description Downloads files from Cloudinary. + * @param req + * @param res + */ const downloadFiles = (req, res) => { const { ids } = req.body; @@ -25,6 +35,12 @@ const downloadFiles = (req, res) => { res.send(url); }; +/** + * @description Deletes files from Cloudinary and Apollo. + * @param req + * @param res + * @returns {Promise} + */ const deleteFiles = async (req, res) => { const { ids } = req.body; @@ -89,6 +105,12 @@ const deleteFiles = async (req, res) => { } }; +/** + * @description Renames keys in Cloudinary and updates the database. + * @param req + * @param res + * @returns {Promise} + */ const renameKeys = async (req, res) => { const { documents, tojobid } = req.body; diff --git a/server/media/util/base64UrlEncode.js b/server/media/util/base64UrlEncode.js index 4094148b3..24537cb2c 100644 --- a/server/media/util/base64UrlEncode.js +++ b/server/media/util/base64UrlEncode.js @@ -1,3 +1,8 @@ +/** + * @description Converts a string to a base64url encoded string. + * @param str + * @returns {string} + */ const base64UrlEncode = (str) => Buffer.from(str).toString("base64").replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, ""); diff --git a/server/media/util/createHmacSha256.js b/server/media/util/createHmacSha256.js index 05b7d52a3..6be9d6022 100644 --- a/server/media/util/createHmacSha256.js +++ b/server/media/util/createHmacSha256.js @@ -2,6 +2,11 @@ const crypto = require("crypto"); const imgproxyKey = process.env.IMGPROXY_KEY; +/** + * @description Creates a HMAC SHA-256 hash of the given data. + * @param data + * @returns {string} + */ const createHmacSha256 = (data) => crypto.createHmac("sha256", imgproxyKey).update(data).digest("base64url"); module.exports = createHmacSha256;