UNPKG

bamble_skills_controller

Version:

schemas for all microservices

72 lines (57 loc) 1.99 kB
import { GeneralObject, RESPONSE_TYPE } from "../types/index"; import { SkillCategories } from "./db"; // Function to retrieve all skill categories export const getAllSkillCategories = (): Promise<RESPONSE_TYPE> => { return new Promise((resolve, reject) => { const categories = Object.keys(SkillCategories); if (categories.length > 0) { let res: RESPONSE_TYPE = { data: categories, message: 'Skill categories retrieved successfully.', status: 200, statusCode: 'SKILL_CATEGORIES_RETRIEVED' } resolve(res); } else { let notfound: RESPONSE_TYPE = { data: categories, message: 'Skill categories does not exist.', status: 404, statusCode: 'RESOURCE_NOT_FOUND' } } }); }; // Function to check if a category is valid export const isValidCategory = (category: string): Promise<boolean> => { return new Promise((resolve, reject) => { if (SkillCategories.hasOwnProperty(category)) { resolve(true); } else { reject(`Invalid category: ${category}`); } }); }; // Function to check if a skill is in a given category export const isSkillInCategory = (skill :string[], category :any) : Promise<boolean | string> => { return new Promise((resolve, reject) => { if (SkillCategories.hasOwnProperty(category)) { const skills = 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; } }); };