diff --git a/packages/cozy-jobs-cli/CHANGELOG.md b/packages/cozy-jobs-cli/CHANGELOG.md index db440c212..6943bfe6d 100644 --- a/packages/cozy-jobs-cli/CHANGELOG.md +++ b/packages/cozy-jobs-cli/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.4.2](https://github.com/cozy/cozy-konnector-libs/compare/cozy-jobs-cli@2.4.1...cozy-jobs-cli@2.4.2) (2024-05-23) + +**Note:** Version bump only for package cozy-jobs-cli + + + + + ## [2.4.1](https://github.com/cozy/cozy-konnector-libs/compare/cozy-jobs-cli@2.4.0...cozy-jobs-cli@2.4.1) (2024-03-20) **Note:** Version bump only for package cozy-jobs-cli diff --git a/packages/cozy-jobs-cli/package.json b/packages/cozy-jobs-cli/package.json index 2880df9fd..1ea9d64e5 100644 --- a/packages/cozy-jobs-cli/package.json +++ b/packages/cozy-jobs-cli/package.json @@ -1,6 +1,6 @@ { "name": "cozy-jobs-cli", - "version": "2.4.1", + "version": "2.4.2", "description": "Manage cozy jobs", "main": "index.js", "repository": { @@ -29,7 +29,7 @@ "cozy-client": "45.14.1", "cozy-device-helper": "^2.1.0", "cozy-flags": "^2.8.7", - "cozy-konnector-libs": "^5.10.1", + "cozy-konnector-libs": "^5.11.0", "cozy-logger": "1.9.0", "node-fetch": "2.7.0", "open": "8.4.0", diff --git a/packages/cozy-konnector-libs/CHANGELOG.md b/packages/cozy-konnector-libs/CHANGELOG.md index 38da68e5c..93c272fef 100644 --- a/packages/cozy-konnector-libs/CHANGELOG.md +++ b/packages/cozy-konnector-libs/CHANGELOG.md @@ -3,6 +3,22 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [5.11.0](https://github.com/cozy/cozy-konnector-libs/compare/cozy-konnector-libs@5.10.1...cozy-konnector-libs@5.11.0) (2024-05-23) + + +### Bug Fixes + +* Lint error Assignment to function parameter 'params' ([916f926](https://github.com/cozy/cozy-konnector-libs/commit/916f92632be28de1bcb51c6bd105fe3c513363ca)) + + +### Features + +* Allow to use a custom requestInstance in solveCaptcha ([df699bc](https://github.com/cozy/cozy-konnector-libs/commit/df699bc8a4831ebcf41275952eea8f6db3b646d3)) + + + + + ## [5.10.1](https://github.com/cozy/cozy-konnector-libs/compare/cozy-konnector-libs@5.10.0...cozy-konnector-libs@5.10.1) (2024-03-20) diff --git a/packages/cozy-konnector-libs/package.json b/packages/cozy-konnector-libs/package.json index 3e83433fa..b8ebb38fa 100644 --- a/packages/cozy-konnector-libs/package.json +++ b/packages/cozy-konnector-libs/package.json @@ -1,6 +1,6 @@ { "name": "cozy-konnector-libs", - "version": "5.10.1", + "version": "5.11.0", "description": "All the libs needed by a cozy v3 konnector", "main": "dist/index.js", "repository": { diff --git a/packages/cozy-konnector-libs/src/libs/solveCaptcha.js b/packages/cozy-konnector-libs/src/libs/solveCaptcha.js index 433cbc6fc..c7d9dcd31 100644 --- a/packages/cozy-konnector-libs/src/libs/solveCaptcha.js +++ b/packages/cozy-konnector-libs/src/libs/solveCaptcha.js @@ -50,16 +50,17 @@ const DEFAULT_TIMEOUT = connectorStartTime + 3 * m // 3 minutes by default to le * ``` * @alias module:solveCaptcha */ -const solveCaptcha = async (params = {}) => { +const solveCaptcha = async (userParams = {}) => { const defaultParams = { type: 'recaptcha', timeout: DEFAULT_TIMEOUT, - withFullSolution: false + withFullSolution: false, + requestInstance: request } let solution let resultAttribute = 'gRecaptchaResponse' - params = { ...defaultParams, ...params } + const params = { ...defaultParams, ...userParams } const secrets = JSON.parse(process.env.COZY_PARAMETERS || '{}').secret @@ -69,7 +70,8 @@ const solveCaptcha = async (params = {}) => { solution = await solveWithAntiCaptcha( { websiteKey, websiteURL, type: 'NoCaptchaTaskProxyless' }, params.timeout, - secrets + secrets, + params ) } else if (params.type === 'recaptchav3') { checkMandatoryParams(params, [ @@ -88,7 +90,8 @@ const solveCaptcha = async (params = {}) => { type: 'RecaptchaV3TaskProxyless' }, params.timeout, - secrets + secrets, + params ) } else if (params.type === 'hcaptcha') { checkMandatoryParams(params, ['websiteKey', 'websiteURL']) @@ -100,7 +103,8 @@ const solveCaptcha = async (params = {}) => { type: 'HCaptchaTaskProxyless' }, params.timeout, - secrets + secrets, + params ) } else if (params.type === 'image') { checkMandatoryParams(params, ['body']) @@ -109,7 +113,8 @@ const solveCaptcha = async (params = {}) => { solution = await solveWithAntiCaptcha( { body: params.body, type: 'ImageToTextTask' }, params.timeout, - secrets + secrets, + params ) } if (params.withFullSolution) { @@ -132,7 +137,8 @@ function checkMandatoryParams(params = {}, mandatoryParams = []) { async function solveWithAntiCaptcha( taskParams, timeout = DEFAULT_TIMEOUT, - secrets + secrets, + params ) { const antiCaptchaApiUrl = 'https://api.anti-captcha.com' let gRecaptchaResponse = null @@ -142,23 +148,29 @@ async function solveWithAntiCaptcha( const clientKey = secrets.antiCaptchaClientKey if (clientKey) { log('debug', ' Creating captcha resolution task...') - const task = await request.post(`${antiCaptchaApiUrl}/createTask`, { - body: { - clientKey, - task: taskParams - }, - json: true - }) + const task = await params.requestInstance.post( + `${antiCaptchaApiUrl}/createTask`, + { + body: { + clientKey, + task: taskParams + }, + json: true + } + ) if (task && task.taskId) { log('debug', ` Task id : ${task.taskId}`) while (!gRecaptchaResponse) { - const resp = await request.post(`${antiCaptchaApiUrl}/getTaskResult`, { - body: { - clientKey, - taskId: task.taskId - }, - json: true - }) + const resp = await params.requestInstance.post( + `${antiCaptchaApiUrl}/getTaskResult`, + { + body: { + clientKey, + taskId: task.taskId + }, + json: true + } + ) if (resp.status === 'ready') { if (resp.errorId) { log('error', `Anticaptcha error: ${JSON.stringify(resp)}`)