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. |
1.8.11