async _getLinkedItem()

in src/server/services/cla.js [213:244]


    async _getLinkedItem(repo, owner, token, repoId, orgId) {
        token = token || config.server.github.token

        if (owner && !repo) {
            return await orgService.get({
                org: owner
            })
        }

        if (!orgId && !repoId) {
            const ghRepo = await repoService.getGHRepo({
                owner: owner,
                repo: repo,
                token: token
            })
            repoId = ghRepo.id
            orgId = ghRepo.owner.id
        }
        try {
            const linkedRepo = await repoService.get({ repoId: repoId })
            if (linkedRepo) {
                return linkedRepo
            }
            throw 'There is no linked repo'
        } catch (error) {
            const linkedOrg = await orgService.get({ orgId: orgId })
            if (linkedOrg) {
                return linkedOrg
            }
            throw new Error(`could not find linked item for owner ${owner} and repo ${repo}`)
        }
    }