All Classes Namespaces Files Functions Variables Pages
Public Member Functions | List of all members
dx::DXProject Class Reference

A DXContainer with additional functionality for collaboration. More...

#include <dxproject.h>

Inheritance diagram for dx::DXProject:
dx::DXContainer

Public Member Functions

 DXProject (const std::string &dxid=config::CURRENT_PROJECT())
 
void update (const dx::JSON &to_update) const
 
void destroy () const
 
void invite (const std::string &invitee, const std::string &level) const
 
void decreasePerms (const std::string &member, const std::string &level) const
 
- Public Member Functions inherited from dx::DXContainer
 DXContainer (const std::string &dxid=config::CURRENT_PROJECT())
 
void setID (const std::string &dxid)
 
std::string getID () const
 
 operator std::string ()
 
dx::JSON describe (bool folders=false) const
 
void move (const dx::JSON &objects, const dx::JSON &folders, const std::string &dest_folder) const
 
void clone (const dx::JSON &objects, const dx::JSON &folders, const std::string &dest_container, const std::string &dest_folder="/") const
 
void newFolder (const std::string &folder, bool parents=false) const
 
dx::JSON listFolder (const std::string &folder="/") const
 
void moveFolder (const std::string &folder, const std::string &dest_folder) const
 
void removeFolder (const std::string &folder, const bool recurse=false) const
 
void moveObjects (const dx::JSON &objects, const std::string &dest_folder) const
 
void removeObjects (const dx::JSON &objects) const
 
void cloneFolder (const std::string &folder, const std::string &dest_container, const std::string &dest_folder) const
 
void cloneObjects (const dx::JSON &objects, const std::string &dest_container, const std::string &dest_folder) const
 

Detailed Description

A DXContainer with additional functionality for collaboration.

In most day-to-day operations on the DNAnexus Platform, users will interact directly with projects rather than generic containers.

Constructor & Destructor Documentation

dx::DXProject::DXProject ( const std::string &  dxid = config::CURRENT_PROJECT())
inline

Creates a DXProject handler for the specified remote project.

Parameters
dxidProject ID.

Member Function Documentation

void dx::DXProject::decreasePerms ( const std::string &  member,
const std::string &  level 
) const

Decreases the permissions of the specified user in the remote project.

See the /project-xxxx/decreasePermissions API method for more info.

Parameters
memberUsername (of the form "user-USERNAME") of the project member whose permissions will be decreased.
levelThe new permission level for the user ("VIEW", "CONTRIBUTE", "ADMINISTER").
void dx::DXProject::destroy ( ) const

Destroys the remote project. All objects in the project are removed. Any jobs running in the project context are terminated.

void dx::DXProject::invite ( const std::string &  invitee,
const std::string &  level 
) const

Invites another person (or PUBLIC) to the remote project. If the invitee is another person, they will receive the specified permission when they accept the invitation.

See the /project-xxxx/invite API method for more info.

Parameters
inviteeUsername (of the form "user-USERNAME") or email of the person to be invited to the project. Use "PUBLIC" to make the project publicly available (in which case level must be set to "VIEW").
levelPermission level that the invitee would get ("VIEW", "CONTRIBUTE", "ADMINISTER").
void dx::DXProject::update ( const dx::JSON &  to_update) const

Updates the remote project with the provided options, as specified in the /project-xxxx/update method.

Parameters
to_updateJSON hash to be provided to /project-xxxx/update.

The documentation for this class was generated from the following files: