A DXContainer with additional functionality for collaboration. More...
#include <dxproject.h>
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 |
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.
|
inline |
Creates a DXProject handler for the specified remote project.
dxid | Project ID. |
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.
member | Username (of the form "user-USERNAME") of the project member whose permissions will be decreased. |
level | The 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.
invitee | Username (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"). |
level | Permission 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_update | JSON hash to be provided to /project-xxxx/update . |