async countCLA()

in src/server/api/cla.js [127:162]


    async countCLA(req) {
        let params = req.args
        try {

            if (params.gist && params.gist.gist_url && params.gist.gist_version && (params.repoId || params.orgId)) {
                throw 'invalid parameters provided'
            }
            const item = await this.getLinkedItem(req)
            if (!item) {
                throw new Error('no item found')
            }
            params.token = item.token
            params.sharedGist = item.sharedGist
            if (item.orgId) {
                params.orgId = item.orgId
            } else if (item.repoId) {
                params.repoId = item.repoId
            }
            params.gist = params.gist && params.gist.gist_url ? params.gist : {
                gist_url: item.gist
            }
            const gist = await cla.getGist(params)
            if (!gist) {
                let error = `No gist found ${removeToken(req.args)}`
                logger.warn(new Error(error).stack)
                throw error
            }
            params.gist.gist_version = gist.history[0].version
        } catch (e) {
            logger.info(`${e} There is no such item for args: ${removeToken(req.args)}`)
            throw (`${e} There is no such item`)
        }

        const clas = await cla.getAll(params)
        return clas.length
    }