UNPKG

bamble_skills_controller

Version:

schemas for all microservices

67 lines (66 loc) 2.31 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isSkillInCategory = exports.isValidCategory = exports.getAllSkillCategories = void 0; const db_1 = require("./db"); // Function to retrieve all skill categories const getAllSkillCategories = () => { return new Promise((resolve, reject) => { const categories = Object.keys(db_1.SkillCategories); if (categories.length > 0) { let res = { data: categories, message: 'Skill categories retrieved successfully.', status: 200, statusCode: 'SKILL_CATEGORIES_RETRIEVED' }; resolve(res); } else { let notfound = { data: categories, message: 'Skill categories does not exist.', status: 404, statusCode: 'RESOURCE_NOT_FOUND' }; } }); }; exports.getAllSkillCategories = getAllSkillCategories; // Function to check if a category is valid const isValidCategory = (category) => { return new Promise((resolve, reject) => { if (db_1.SkillCategories.hasOwnProperty(category)) { resolve(true); } else { reject(`Invalid category: ${category}`); } }); }; exports.isValidCategory = isValidCategory; // Function to check if a skill is in a given category const isSkillInCategory = (skill, category) => { return new Promise((resolve, reject) => { if (db_1.SkillCategories.hasOwnProperty(category)) { const skills = db_1.SkillCategories[category]; let skillLen = skill.length; for (let i = 0; i < skillLen; i++) { if (skills.includes(skill[i])) { } else { reject(`${skill[i]} is not a valid skill for ${category} `); return; } if (i == skillLen - 1) { resolve(true); return; } } } else { reject(`Invalid category: ${category}`); return; } }); }; exports.isSkillInCategory = isSkillInCategory;