Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ public abstract class OpenCgaCompleter implements Completer {
.map(Candidate::new)
.collect(toList());

private List<Candidate> adminList = asList( "audit-group-by","catalog-install","catalog-jwt","resource-fetch","users-create","users-import","users-permissions","users-search","users-sync","update-groups-users")
private List<Candidate> adminList = asList( "audit-group-by","catalog-install","catalog-jwt","organizations-list","resource-fetch","users-create","users-import","users-permissions","users-search","users-sync","update-groups-users")
.stream()
.map(Candidate::new)
.collect(toList());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -180,6 +180,7 @@ public OpencgaCliOptionsParser() {
adminSubCommands.addCommand("audit-group-by", adminCommandOptions.groupByAuditCommandOptions);
adminSubCommands.addCommand("catalog-install", adminCommandOptions.installCatalogCommandOptions);
adminSubCommands.addCommand("catalog-jwt", adminCommandOptions.jwtCatalogCommandOptions);
adminSubCommands.addCommand("organizations-list", adminCommandOptions.listOrganizationsCommandOptions);
adminSubCommands.addCommand("resource-fetch", adminCommandOptions.fetchResourceCommandOptions);
adminSubCommands.addCommand("users-create", adminCommandOptions.createUsersCommandOptions);
adminSubCommands.addCommand("users-import", adminCommandOptions.importUsersCommandOptions);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,9 @@ public void execute() throws Exception {
case "catalog-jwt":
queryResponse = jwtCatalog();
break;
case "organizations-list":
queryResponse = listOrganizations();
break;
case "resource-fetch":
queryResponse = fetchResource();
break;
Expand Down Expand Up @@ -175,6 +178,13 @@ private RestResponse<ObjectMap> jwtCatalog() throws Exception {
return openCGAClient.getAdminClient().jwtCatalog(jWTParams, queryParams);
}

private RestResponse<String> listOrganizations() throws Exception {
logger.debug("Executing listOrganizations in Admin command line");

AdminCommandOptions.ListOrganizationsCommandOptions commandOptions = adminCommandOptions.listOrganizationsCommandOptions;
return openCGAClient.getAdminClient().listOrganizations();
}

private RestResponse<Job> fetchResource() throws Exception {
logger.debug("Executing fetchResource in Admin command line");

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ public class AdminCommandOptions {
public GroupByAuditCommandOptions groupByAuditCommandOptions;
public InstallCatalogCommandOptions installCatalogCommandOptions;
public JwtCatalogCommandOptions jwtCatalogCommandOptions;
public ListOrganizationsCommandOptions listOrganizationsCommandOptions;
public FetchResourceCommandOptions fetchResourceCommandOptions;
public CreateUsersCommandOptions createUsersCommandOptions;
public ImportUsersCommandOptions importUsersCommandOptions;
Expand All @@ -52,6 +53,7 @@ public AdminCommandOptions(CommonCommandOptions commonCommandOptions, JCommander
this.groupByAuditCommandOptions = new GroupByAuditCommandOptions();
this.installCatalogCommandOptions = new InstallCatalogCommandOptions();
this.jwtCatalogCommandOptions = new JwtCatalogCommandOptions();
this.listOrganizationsCommandOptions = new ListOrganizationsCommandOptions();
this.fetchResourceCommandOptions = new FetchResourceCommandOptions();
this.createUsersCommandOptions = new CreateUsersCommandOptions();
this.importUsersCommandOptions = new ImportUsersCommandOptions();
Expand Down Expand Up @@ -137,6 +139,14 @@ public class JwtCatalogCommandOptions {

}

@Parameters(commandNames = {"organizations-list"}, commandDescription ="List current Organizations")
public class ListOrganizationsCommandOptions {

@ParametersDelegate
public CommonCommandOptions commonOptions = commonCommandOptions;

}

@Parameters(commandNames = {"resource-fetch"}, commandDescription ="Fetch resources from the public server and save them into the OpenCGA local installation")
public class FetchResourceCommandOptions {

Expand Down
7 changes: 7 additions & 0 deletions opencga-client/src/main/R/R/Admin-methods.R
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
#' | groupByAudit | /{apiVersion}/admin/audit/groupBy | count, limit, fields[*], entity[*], action, before, after, date |
#' | installCatalog | /{apiVersion}/admin/catalog/install | body[*] |
#' | jwtCatalog | /{apiVersion}/admin/catalog/jwt | organization, body[*] |
#' | listOrganizations | /{apiVersion}/admin/organizations/list | |
#' | fetchResource | /{apiVersion}/admin/resource/fetch | jobId, jobDescription, jobDependsOn, jobTags, jobScheduledStartTime, jobPriority, jobDryRun, body[*] |
#' | createUsers | /{apiVersion}/admin/users/create | body[*] |
#' | importUsers | /{apiVersion}/admin/users/import | organization, body[*] |
Expand Down Expand Up @@ -66,6 +67,12 @@ setMethod("adminClient", "OpencgaR", function(OpencgaR, user, endpointName, para
jwtCatalog=fetchOpenCGA(object=OpencgaR, category="admin", categoryId=NULL, subcategory="catalog",
subcategoryId=NULL, action="jwt", params=params, httpMethod="POST", as.queryParam=NULL, ...),

#' @section Endpoint /{apiVersion}/admin/organizations/list:
#' List current Organizations.

listOrganizations=fetchOpenCGA(object=OpencgaR, category="admin", categoryId=NULL, subcategory="organizations",
subcategoryId=NULL, action="list", params=params, httpMethod="GET", as.queryParam=NULL, ...),

#' @section Endpoint /{apiVersion}/admin/resource/fetch:
#' Fetch resources from the public server and save them into the OpenCGA local installation.
#' @param jobId Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,16 @@ public RestResponse<ObjectMap> jwtCatalog(JWTParams data, ObjectMap params) thro
return execute("admin", null, "catalog", null, "jwt", params, POST, ObjectMap.class);
}

/**
* List current Organizations.
* @return a RestResponse object.
* @throws ClientException ClientException if there is any server error.
*/
public RestResponse<String> listOrganizations() throws ClientException {
ObjectMap params = new ObjectMap();
return execute("admin", null, "organizations", null, "list", params, GET, String.class);
}

/**
* Fetch resources from the public server and save them into the OpenCGA local installation.
* @param data Download-resources tool parameters.
Expand Down
8 changes: 8 additions & 0 deletions opencga-client/src/main/javascript/Admin.js
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,14 @@ export default class Admin extends OpenCGAParentClass {
return this._post("admin", null, "catalog", null, "jwt", data, params);
}

/** List current Organizations
*
* @returns {Promise} Promise object in the form of RestResponse instance.
*/
listOrganizations() {
return this._get("admin", null, "organizations", null, "list");
}

/** Fetch resources from the public server and save them into the OpenCGA local installation
* @param {Object} data - Download-resources tool parameters.
* @param {Object} [params] - The Object containing the following optional parameters:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,14 @@ def jwt_catalog(self, data=None, **options):

return self._post(category='admin', resource='jwt', subcategory='catalog', data=data, **options)

def list_organizations(self, **options):
"""
List current Organizations.
PATH: /{apiVersion}/admin/organizations/list
"""

return self._get(category='admin', resource='list', subcategory='organizations', **options)

def fetch_resource(self, data=None, **options):
"""
Fetch resources from the public server and save them into the OpenCGA
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,18 @@ public AdminWSServer(@Context UriInfo uriInfo, @Context HttpServletRequest httpS

//******************************** USERS **********************************//

@GET
@Path("/organizations/list")
@ApiOperation(value = "List current Organizations", response = String.class)
public Response organizationList() {
try {
return createOkResponse(catalogManager.getAdminManager().getOrganizationIds(token));
} catch (CatalogException e) {
return createErrorResponse(e);
}

}

@GET
@Path("/users/search")
@ApiOperation(value = "User search method", response = Sample.class)
Expand Down