2024-07-09 10:23:22 -07:00
|
|
|
/**
|
|
|
|
|
* Converts a request body parameter to a boolean.
|
|
|
|
|
* @param {string | boolean} value
|
|
|
|
|
* @returns {boolean}
|
|
|
|
|
*/
|
|
|
|
|
const ParseBoolean = (value) => {
|
|
|
|
|
if (value === true || value === "true") {
|
|
|
|
|
return true;
|
2024-07-09 10:29:11 -07:00
|
|
|
} else if (
|
|
|
|
|
value === false ||
|
|
|
|
|
value === "false" ||
|
|
|
|
|
value === null ||
|
|
|
|
|
value === undefined
|
|
|
|
|
) {
|
|
|
|
|
return false;
|
2024-07-09 10:23:22 -07:00
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
2024-09-11 11:03:39 +08:00
|
|
|
const getTokenFromHeaders = (headers) => {
|
|
|
|
|
const authorizationHeader = headers.authorization;
|
|
|
|
|
if (!authorizationHeader) throw new Error("No auth headers");
|
|
|
|
|
|
|
|
|
|
const parts = authorizationHeader.split(" ");
|
|
|
|
|
if (parts.length !== 2 || parts[0] !== "Bearer")
|
|
|
|
|
throw new Error("Invalid auth headers");
|
|
|
|
|
|
|
|
|
|
return parts[1];
|
|
|
|
|
};
|
|
|
|
|
|
2024-07-09 10:23:22 -07:00
|
|
|
module.exports = {
|
|
|
|
|
ParseBoolean,
|
2024-09-11 11:03:39 +08:00
|
|
|
getTokenFromHeaders,
|
2024-07-09 10:23:22 -07:00
|
|
|
};
|