From aa1097f55f9f2a333c9159680bb87d8285f22636 Mon Sep 17 00:00:00 2001 From: Josemi Date: Fri, 9 Aug 2024 16:27:56 +0200 Subject: [PATCH 1/2] clients: Update OpenCGA clients #TASK-6636 --- src/core/clients/opencga/api/ClinicalAnalysis.js | 4 ++-- src/core/clients/opencga/api/File.js | 2 +- src/core/clients/opencga/api/GA4GH.js | 4 ++-- src/core/clients/opencga/api/Job.js | 2 +- src/core/clients/opencga/api/Organization.js | 2 ++ src/core/clients/opencga/api/Project.js | 2 +- src/core/clients/opencga/api/Study.js | 4 +++- src/core/clients/opencga/api/User.js | 2 +- 8 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/core/clients/opencga/api/ClinicalAnalysis.js b/src/core/clients/opencga/api/ClinicalAnalysis.js index f2e403145..d5796f0b5 100644 --- a/src/core/clients/opencga/api/ClinicalAnalysis.js +++ b/src/core/clients/opencga/api/ClinicalAnalysis.js @@ -834,7 +834,7 @@ export default class ClinicalAnalysis extends OpenCGAParentClass { * @returns {Promise} Promise object in the form of RestResponse instance. */ clearInterpretation(clinicalAnalysis, interpretations, params) { - return this._post("analysis/clinical", clinicalAnalysis, "interpretation", interpretations, "clear", params); + return this._post("analysis/clinical", clinicalAnalysis, "interpretation", interpretations, "clear", null, params); } /** Delete interpretation @@ -859,7 +859,7 @@ export default class ClinicalAnalysis extends OpenCGAParentClass { * @returns {Promise} Promise object in the form of RestResponse instance. */ revertInterpretation(clinicalAnalysis, interpretation, version, params) { - return this._post("analysis/clinical", clinicalAnalysis, "interpretation", interpretation, "revert", {version, ...params}); + return this._post("analysis/clinical", clinicalAnalysis, "interpretation", interpretation, "revert", null, {version, ...params}); } /** Update interpretation fields diff --git a/src/core/clients/opencga/api/File.js b/src/core/clients/opencga/api/File.js index 3e1abab6f..cfedee4d9 100644 --- a/src/core/clients/opencga/api/File.js +++ b/src/core/clients/opencga/api/File.js @@ -266,7 +266,7 @@ export default class File extends OpenCGAParentClass { * @returns {Promise} Promise object in the form of RestResponse instance. */ upload(params) { - return this._post("files", null, null, null, "upload", params); + return this._post("files", null, null, null, "upload", null, params); } /** Return the acl defined for the file or folder. If member is provided, it will only return the acl for the member. diff --git a/src/core/clients/opencga/api/GA4GH.js b/src/core/clients/opencga/api/GA4GH.js index 02af95b13..222eaa7c6 100644 --- a/src/core/clients/opencga/api/GA4GH.js +++ b/src/core/clients/opencga/api/GA4GH.js @@ -39,7 +39,7 @@ export default class GA4GH extends OpenCGAParentClass { * @returns {Promise} Promise object in the form of RestResponse instance. */ searchReads() { - return this._post("ga4gh", null, "reads", null, "search"); + return this._post("ga4gh", null, "reads", null, "search", null); } /** Fetch alignment files using HTSget protocol @@ -78,7 +78,7 @@ export default class GA4GH extends OpenCGAParentClass { * @returns {Promise} Promise object in the form of RestResponse instance. */ searchVariants() { - return this._post("ga4gh", null, "variants", null, "search"); + return this._post("ga4gh", null, "variants", null, "search", null); } } \ No newline at end of file diff --git a/src/core/clients/opencga/api/Job.js b/src/core/clients/opencga/api/Job.js index f0ebb6401..bb88f18dd 100644 --- a/src/core/clients/opencga/api/Job.js +++ b/src/core/clients/opencga/api/Job.js @@ -213,7 +213,7 @@ export default class Job extends OpenCGAParentClass { * @returns {Promise} Promise object in the form of RestResponse instance. */ kill(job, params) { - return this._post("jobs", job, null, null, "kill", params); + return this._post("jobs", job, null, null, "kill", null, params); } /** Show the first lines of a log file (up to a limit) diff --git a/src/core/clients/opencga/api/Organization.js b/src/core/clients/opencga/api/Organization.js index 1580a4a78..09b794292 100644 --- a/src/core/clients/opencga/api/Organization.js +++ b/src/core/clients/opencga/api/Organization.js @@ -97,6 +97,8 @@ export default class Organization extends OpenCGAParentClass { * @param {Object} [params] - The Object containing the following optional parameters: * @param {String} [params.include] - Fields included in the response, whole JSON path must be provided. * @param {String} [params.exclude] - Fields excluded in the response, whole JSON path must be provided. + * @param {"ADD SET REMOVE"} [params.tagsAction = "ADD"] - Action to be performed if the array of tags is being updated. The default + * value is ADD. * @param {Boolean} [params.includeResult = "false"] - Flag indicating to include the created or updated document result in the response. * The default value is false. * @returns {Promise} Promise object in the form of RestResponse instance. diff --git a/src/core/clients/opencga/api/Project.js b/src/core/clients/opencga/api/Project.js index 524221df8..041fa7ed6 100644 --- a/src/core/clients/opencga/api/Project.js +++ b/src/core/clients/opencga/api/Project.js @@ -85,7 +85,7 @@ export default class Project extends OpenCGAParentClass { * @returns {Promise} Promise object in the form of RestResponse instance. */ incRelease(project) { - return this._post("projects", project, null, null, "incRelease"); + return this._post("projects", project, null, null, "incRelease", null); } /** Fetch all the studies contained in the project diff --git a/src/core/clients/opencga/api/Study.js b/src/core/clients/opencga/api/Study.js index 9e013fef0..bbe53e93d 100644 --- a/src/core/clients/opencga/api/Study.js +++ b/src/core/clients/opencga/api/Study.js @@ -219,6 +219,8 @@ export default class Study extends OpenCGAParentClass { * @param {Object} [params] - The Object containing the following optional parameters: * @param {String} [params.include] - Fields included in the response, whole JSON path must be provided. * @param {String} [params.exclude] - Fields excluded in the response, whole JSON path must be provided. + * @param {"ADD SET REMOVE"} [params.tagsAction = "ADD"] - Action to be performed if the array of tags is being updated. The default + * value is ADD. * @param {Boolean} [params.includeResult = "false"] - Flag indicating to include the created or updated document result in the response. * The default value is false. * @returns {Promise} Promise object in the form of RestResponse instance. @@ -279,7 +281,7 @@ export default class Study extends OpenCGAParentClass { * @returns {Promise} Promise object in the form of RestResponse instance. */ uploadTemplates(study, params) { - return this._post("studies", study, "templates", null, "upload", params); + return this._post("studies", study, "templates", null, "upload", null, params); } /** Delete template diff --git a/src/core/clients/opencga/api/User.js b/src/core/clients/opencga/api/User.js index 843416dd1..32b28182c 100644 --- a/src/core/clients/opencga/api/User.js +++ b/src/core/clients/opencga/api/User.js @@ -39,7 +39,7 @@ export default class User extends OpenCGAParentClass { * @returns {Promise} Promise object in the form of RestResponse instance. */ anonymous(organization) { - return this._post("users", null, null, null, "anonymous", organization); + return this._post("users", null, null, null, "anonymous", null, organization); } /** Create a new user From dba119786067ce902a71934eda137c8b12085ffb Mon Sep 17 00:00:00 2001 From: Josemi Date: Fri, 9 Aug 2024 16:28:50 +0200 Subject: [PATCH 2/2] clients: Remove old hack added when no body object is provided in POST requests #TASK-6636 --- src/core/clients/opencga/opencga-parent-class.js | 7 ------- 1 file changed, 7 deletions(-) diff --git a/src/core/clients/opencga/opencga-parent-class.js b/src/core/clients/opencga/opencga-parent-class.js index 14e74f6ee..ca670dc10 100644 --- a/src/core/clients/opencga/opencga-parent-class.js +++ b/src/core/clients/opencga/opencga-parent-class.js @@ -58,13 +58,6 @@ export default class OpenCGAParentClass { } _post(category1, ids1, category2, ids2, action, body, params = {}, options = {}) { - // Clear and Revert actions do not need a body, but needs a params - if (category2 === "interpretation" && (action === "clear" || action === "revert")) { - // eslint-disable-next-line no-param-reassign - params = body; - // eslint-disable-next-line no-param-reassign - body = {}; - } const host = this._config.host; const version = this._config.version; // const rpc = this._config.mode;