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:

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())

Creates a DXProject handler for the specified remote project.

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.

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.

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.

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

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