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 | 1x 1x 1x 1x 1x 1x 1x 1x | 'use strict'; const logger = require('../../services/logger'); module.exports = function(Skill) { Skill.skillSuggestions = async language => { 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.skill; if (!skill) return validSkills; const resourceId = skillTranslation.skill.ResourceId; const skillCount = skillTranslationsJSON.reduce((count, tr) => { if (!tr.skill) return count; if (tr.Name === name && tr.skill.ResourceId !== resourceId) return count + 1; return count; }, 0); return skillCount > 1 ? [...validSkills, name] : validSkills; }, []); return validSuggestions; } catch (error) { logger.error(`Error getting skill suggestions, ${error}`); } return []; }; Skill.remoteMethod('skillSuggestions', { http: {verb: 'get'}, accepts: { arg: 'language', type: 'string' }, returns: { arg: 'skills', type: 'array' } }); Skill.getSkills = function(resourceId, cb) { Skill.find( { include: 'skillTranslations', where: { ResourceId: resourceId } }, function(err, result) { if (err) return cb(err); return cb(null, result); } ); }; 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}`); } }; Skill.remoteMethod('getAllSkills', { http: {verb: 'get'}, returns: { arg: 'skills', type: 'array' } }); }; |