Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 | 1x 1x 1x 1x 1x 1x 1x 1x | 'use strict'; const logger = require('../../services/logger'); module.exports = function(Skill) { Skill.skillSuggestions = async language => { if (!language) throw new Error('Language is required!'); try { const skillTranslations = await Skill.app.models.skillTranslations.find({ include: 'skill', where: {LanguageId: language} }); const skillTranslationsJSON = skillTranslations.map(tr => tr.toJSON()); const validSuggestions = skillTranslationsJSON.reduce((validSkills, skillTranslation) => { const name = skillTranslation.Name; if (validSkills.includes(name)) return validSkills; const { skill } = skillTranslation; if (!skill) return validSkills; for (const tr of skillTranslationsJSON) { if (tr.skill && (tr.Name === name)) { validSkills = [...validSkills, name]; } } return validSkills; }, []); return validSuggestions; } catch (error) { logger.error(`Error getting skill suggestions, ${error}`); throw error; } }; Skill.remoteMethod('skillSuggestions', { http: {verb: 'get'}, accepts: { arg: 'language', type: 'string' }, returns: { arg: 'skills', type: 'array' } }); Skill.getSkills = function(resourceId, cb) { if (!resourceId) throw new Error('Resource ID is required!'); try { Skill.find({ include: 'skillTranslations', where: { ResourceId: resourceId } }, function(err, result) { if (err) return cb(err); return cb(null, result); } ); } catch (error) { logger.error(`Error getting skills, ${error}`); throw error; } }; Skill.remoteMethod('getSkills', { http: {verb: 'get'}, accepts: [ { arg: 'resourceId', type: 'number' } ], returns: { arg: 'result', type: 'object' } }); Skill.getAllSkills = async () => { try { return await Skill.find({include: 'skillTranslations'}); } catch (error) { logger.error(`Error getting skills, ${error}`); throw error; } }; Skill.remoteMethod('getAllSkills', { http: {verb: 'get'}, returns: { arg: 'skills', type: 'array' } }); }; |