vendredi 31 janvier 2020

AdonisJS - SyntaxError. Unexpected character ' '

I am trying to fetch all talent resource from the database but when I tried the endpoint on Postman, it returned a SyntaxError. Unexpected character '' error. I dont know where that character is coming from as postman hinted that the error is on Line 66 of my controller, but on checking the line 66 is an empty/blank line. What could possibly cause this error? My controller code (the method the API is calling is below)

async searchTalent({ request, response }) {
        try {
            const params = request.except('projectId');
            let matchedTalents = [];
            let talentIds = [];
            const {tools, fullname} = params;

            if(tools) {
                const find = await Database.raw("SELECT * FROM pro WHERE MATCH tools AGAINST ('"+ tools +"' IN NATURAL LANGUAGE MODE)");
                const talents = find[0];
                if(talents) {
                    for(let t = 0; t < talents.length; t++) {
                        const talent = talents[t];
                        if(talent.active == true) {
                            const user = await User.query().where({id: talent.userId, active: true, type: 'talent', isDeleted: false}).first();

                            if(user) {
                                if(talentIds.length > 0) {
                                    if(talentIds.includes(talent.id) === false) {
                                        user.profile = talent;
                                        talentIds.push(talent.id);
                                        matchedTalents.push(user);
                                    }
                                } else {
                                    user.profile = talent;
                                    talentIds.push(talent.id);
                                    matchedTalents.push(user);
                                }
                            }
                        }
                    }
                }
                // for (let i = 0; i < tools.length; i++) {
                //  const tool = tools[i];
                // }
            } else if(fullname) {
                const getUsers = await User.query().where('first_name', 'LIKE', '%%' + fullname + '%%').orWhere('last_name', 'LIKE', '%%' + fullname + '%%').where({ active: true}).orderBy('id', 'desc').get();

                for (let i = 0; i < getUsers.length; i++) {
                    const user = getUsers[i];
                    if(user.type == 'talent')
                    {
                        const talent = await Pro.query().where({userId: user.id}).first();

                        if(talent)
                        {
                            user.profile = talent;
                            matchedTalents.push(user);
                        }
                    }
                }
            }
​
            const data = matchedTalents;
​
            return response.json({
                data: data,
                message: data.length + ' Talents fetched',
                error: false
            })
        } catch (e) {
            Event.fire('log::error', e.message)
            return response.json({
                data: [],
                message: e.message,
                error: true
            })
        }
    }

I have tried searching and fixing since yesterday but all stackoverflow answers don't seem to address this issue.



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire