diff --git a/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/common.js b/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/common.js index 9d7e9ef86af17f3e313659c0b7ee86435bb02586..c97f09681ebb8de15b3bf80be63c57ed05dad28c 100644 --- a/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/common.js +++ b/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/common.js @@ -90,6 +90,8 @@ define([ 'jquery', 'openbis', 'underscore', 'test/dtos' ], function($, openbis, this.GlobalSearchObjectFetchOptions = dtos.GlobalSearchObjectFetchOptions; this.ObjectKindModificationSearchCriteria = dtos.ObjectKindModificationSearchCriteria; this.ObjectKindModificationFetchOptions = dtos.ObjectKindModificationFetchOptions; + this.DataSetArchiveOptions = dtos.DataSetArchiveOptions; + this.DataSetUnarchiveOptions = dtos.DataSetUnarchiveOptions; this.getDtos = function() { return dtos; diff --git a/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/dtos.js b/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/dtos.js index 822b05dabfe86fe01f1e56026980893056f56172..42041b342f48a8abe816480a48c71d3a456b3499 100644 --- a/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/dtos.js +++ b/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/dtos.js @@ -138,6 +138,8 @@ var sources = [ 'as/dto/common/update/ListUpdateValue', 'as/dto/dataset/DataSet', 'as/dto/dataset/DataSetType', + 'as/dto/dataset/archive/DataSetArchiveOptions', + 'as/dto/dataset/unarchive/DataSetUnarchiveOptions', 'as/dto/dataset/delete/DataSetDeletionOptions', 'as/dto/dataset/fetchoptions/DataSetFetchOptions', 'as/dto/dataset/fetchoptions/DataSetSortOptions', diff --git a/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/main.js b/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/main.js index c3494b93f1eca88477ab324477cc4fbcd995ca3a..b88b3c1503f430e0514f9b9a7fa99e2beecb231a 100644 --- a/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/main.js +++ b/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/main.js @@ -8,7 +8,8 @@ define([ // 'test/test-dto', 'test/test-dto-roundtrip', - 'test/test-custom-services' + 'test/test-custom-services', + 'test/test-archive-unarchive' ], function() { var testSuites = arguments; return function() { diff --git a/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/test-archive-unarchive.js b/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/test-archive-unarchive.js new file mode 100644 index 0000000000000000000000000000000000000000..6dbe8e010e7577c10962fc90c2a53e4033e18442 --- /dev/null +++ b/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/test-archive-unarchive.js @@ -0,0 +1,49 @@ +define([ 'jquery', 'underscore', 'openbis', 'test/common' ], function($, _, openbis, common) { + return function() { + QUnit.module("Archive/Unarchive") + + var testAction = function(c, fAction) { + c.start(); + + c.createFacadeAndLogin().then(function(facade) { + c.ok("Login"); + return fAction(facade).then(function(result) { + c.ok("Archived/Unarchived"); + c.finish(); + }); + }).fail(function(error) { + c.fail(error.message); + c.finish(); + }); + } + + QUnit.test("archiveDataSets()", function(assert) { + var c = new common(assert); + + var fAction = function(facade) { + return $.when(c.createDataSet(facade), c.createDataSet(facade)).then(function(permId1, permId2) { + var ids = [ permId1, permId2 ]; + return facade.archiveDataSets(ids, new c.DataSetArchiveOptions()); + }); + } + + testAction(c, fAction); + }); + + QUnit.test("unarchiveDataSets()", function(assert) { + var c = new common(assert); + + var fAction = function(facade) { + return $.when(c.createDataSet(facade), c.createDataSet(facade)).then(function(permId1, permId2) { + var ids = [ permId1, permId2 ]; + return facade.archiveDataSets(ids, new c.DataSetArchiveOptions()).then(function() { + return facade.unarchiveDataSets(ids, new c.DataSetUnarchiveOptions()); + }); + }); + } + + testAction(c, fAction); + }); + + } +}) \ No newline at end of file diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/openbis.js b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/openbis.js index 535dc9f791f37cbeb87307da266e0e3216df477b..60a4b1766e074607b07e77efea0c6e26cffbe123 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/openbis.js +++ b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/openbis.js @@ -776,6 +776,29 @@ define([ 'jquery', 'util/Json' ], function(jquery, stjsUtil) { } }); } + + this.archiveDataSets = function(ids, options) { + var thisFacade = this; + return thisFacade._private.ajaxRequest({ + url : openbisUrl, + data : { + "method" : "archiveDataSets", + "params" : [ thisFacade._private.sessionToken, ids, options ] + } + }); + } + + this.unarchiveDataSets = function(ids, options) { + var thisFacade = this; + return thisFacade._private.ajaxRequest({ + url : openbisUrl, + data : { + "method" : "unarchiveDataSets", + "params" : [ thisFacade._private.sessionToken, ids, options ] + } + }); + } + } return facade;