@mintlify/validation
Version:
Validates mint.json files
20 lines (19 loc) • 929 B
JavaScript
import hash from 'object-hash';
import { v4 as uuidv4 } from 'uuid';
export const mapSecurityRequirement = ({ security, refUuidMap, uuidObjectHashMap, hashedNodeMap, uuid, }) => {
const securityRequirementObject = {};
Object.entries(security).forEach(([securitySchemeName, securitySchemeScopes]) => {
// create security requirement object
// add $ref to matching security scheme from components.securitySchemes
// add scopes to the security requirement object
const refId = `#/components/securitySchemes/${securitySchemeName}`;
const refUuid = refUuidMap[refId] || uuidv4();
securityRequirementObject[securitySchemeName] = {
$ref: refUuid,
scopes: securitySchemeScopes,
};
});
const objectHash = hash(securityRequirementObject);
uuidObjectHashMap[uuid] = objectHash;
hashedNodeMap[objectHash] = securityRequirementObject;
};