Module collaboration

Source
Expand description

The collaboration API is unstable and as such will undergo breaking changes in the near future!

Structs§

Changeset
A collection of snapshots in a local database
ConnectionOptions
DatabaseConflictHandlerFail
GroupId
MergeConflict
Structure representing an individual merge conflict
NoNameChangeset
Permission
Struct representing a permission grant for a user or group on a project.
Remote
RemoteFile
A remote project file. It controls the various snapshots and raw file contents associated with the analysis.
RemoteFolder
RemoteGroup
RemoteProject
RemoteSnapshot
RemoteUser
TypeArchiveConflictHandlerFail

Traits§

DatabaseConflictHandler
Helper trait that resolves conflicts
NameChangeset
TypeArchiveConflictHandler

Functions§

active_remote
Get the single actively connected Remote (for ux simplification), if any
assign_snapshot_map
Add a snapshot to the id map in a database
default_file_path
default_project_path
Get the default directory path for a remote Project. This is based off the Setting for collaboration.directory, the project’s id, and the project’s remote’s id.
delete_data_from_keychain
download_database
download_database_with_progress
download_file
Download a file from its remote, saving all snapshots to a database in the specified location. Returns a FileContext for opening the file later.
download_file_with_progress
Download a file from its remote, saving all snapshots to a database in the specified location. Returns a FileContext for opening the file later.
download_type_archive
Download a type archive from its remote, saving all snapshots to an archive in the specified location. Returns a TypeArchive for using later.
download_type_archive_with_progress
Download a type archive from its remote, saving all snapshots to an archive in the specified location. Returns a TypeArchive for using later.
dump_database
Print debug information about a database to stdout
enterprise_remote
Get the enterprise remote.
get_data_from_keychain
get_local_snapshot_for_remote
Get the local snapshot associated with a remote snapshot (if it exists)
get_local_snapshot_from_remote_type_archive
Get the local snapshot associated with a remote snapshot (if it exists) in a Type Archive
get_remote_by_address
Get Remote by address
get_remote_by_id
Get Remote by unique id
get_remote_by_name
Get Remote by name
get_remote_file_for_local_database
Get the Remote File for a Database
get_remote_file_for_local_type_archive
Get the Remote File for a Type Archive
get_remote_for_binary_view
Get the Remote for a BinaryView
get_remote_for_local_database
Get the Remote for a Database
get_remote_for_local_type_archive
Get the Remote for a Type Archive
get_remote_project_for_local_database
Get the Remote Project for a Database, returning the Remote project from one of the connected remotes, or None if not found or if projects are not pulled
get_remote_project_for_local_type_archive
Get the Remote Project for a Type Archive
get_remote_snapshot_from_local
Get the remote snapshot associated with a local snapshot (if it exists)
get_remote_snapshot_from_local_type_archive
Get the remote snapshot associated with a local snapshot (if it exists) in a Type Archive
get_snapshot_author
Get the remote author of a local snapshot
has_collaboration_support
Check whether the client has collaboration support.
has_data_in_keychain
ignore_snapshot
Ignore a snapshot from database syncing operations
is_collaboration_database
Test if a database is valid for use in collaboration
is_collaboration_type_archive
Test if a type archive is valid for use in collaboration
is_snapshot_ignored
Test if a snapshot is ignored from the database
is_type_archive_snapshot_ignored
Test if a snapshot is ignored from the archive
known_remotes
List of known/connected Remotes
load_remotes
Load the list of known Remotes from local Settings
merge_database
Merge all leaf snapshots in a database down to a single leaf snapshot.
merge_database_with_progress
Merge all leaf snapshots in a database down to a single leaf snapshot.
merge_snapshots
Merge a pair of snapshots and create a new snapshot with the result.
merge_snapshots_with_progress
Merge a pair of snapshots and create a new snapshot with the result.
pull_database
Pull updated snapshots from the remote. Merge local changes with remote changes and potentially create a new snapshot for unsaved changes, named via name_changeset.
pull_database_with_progress
Pull updated snapshots from the remote. Merge local changes with remote changes and potentially create a new snapshot for unsaved changes, named via name_changeset.
pull_type_archive
Pull updated type archives from the remote.
pull_type_archive_with_progress
Pull updated type archives from the remote.
push_database
Push locally added snapshots to the remote
push_database_with_progress
Push locally added snapshots to the remote
push_type_archive
Push locally added snapshots to the remote
push_type_archive_with_progress
Push locally added snapshots to the remote
remove_known_remote
Remove a Remote from the list of known remotes (saved to Settings)
save_remotes
Save the list of known Remotes to local Settings
set_active_remote
Set the single actively connected Remote
set_snapshot_author
Set the remote author of a local snapshot (does not upload)
store_data_in_keychain
sync_database
Completely sync a database, pushing/pulling/merging/applying changes
sync_database_with_progress
Completely sync a database, pushing/pulling/merging/applying changes
sync_type_archive
Completely sync a type archive, pushing/pulling/merging/applying changes
sync_type_archive_with_progress
Completely sync a type archive, pushing/pulling/merging/applying changes
upload_database
Upload a file, with database, to the remote under the given project
upload_database_with_progress
Upload a file, with database, to the remote under the given project
upload_type_archive
Upload a type archive
upload_type_archive_with_progress
Upload a type archive

Type Aliases§

CollaborationPermissionLevel
MergeConflictDataType
RemoteFileType