use crate::{CommitId, DeleteDirectoryBehavior, DestinationBehavior, InodeId, RevisionNo};
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct PutFileOptions {
pub behavior: DestinationBehavior,
pub commit_id: Option<CommitId>,
pub message: Option<String>,
pub expected_revision_no: Option<RevisionNo>,
}
impl Default for PutFileOptions {
fn default() -> Self {
Self {
behavior: DestinationBehavior::NoReplace,
commit_id: None,
message: None,
expected_revision_no: None,
}
}
}
#[derive(Debug, Clone, PartialEq, Eq, Default)]
pub struct CreateDirectoryOptions {
pub commit_id: Option<CommitId>,
pub message: Option<String>,
pub parents: bool,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct DeleteOptions {
pub behavior: DeleteDirectoryBehavior,
pub commit_id: Option<CommitId>,
pub message: Option<String>,
pub expected_inode_id: Option<InodeId>,
}
impl Default for DeleteOptions {
fn default() -> Self {
Self {
behavior: DeleteDirectoryBehavior::NonRecursive,
commit_id: None,
message: None,
expected_inode_id: None,
}
}
}
#[derive(Debug, Clone, PartialEq, Eq, Default)]
pub struct MoveOptions {
pub behavior: DestinationBehavior,
pub commit_id: Option<CommitId>,
pub message: Option<String>,
}
#[derive(Debug, Clone, PartialEq, Eq, Default)]
pub struct CopyOptions {
pub behavior: DestinationBehavior,
pub commit_id: Option<CommitId>,
pub message: Option<String>,
}
#[derive(Debug, Clone, PartialEq, Eq, Default)]
pub struct RestoreRevisionOptions {
pub commit_id: Option<CommitId>,
pub message: Option<String>,
}
#[derive(Debug, Clone, PartialEq, Eq, Default)]
pub struct UndeleteOptions {
pub commit_id: Option<CommitId>,
pub message: Option<String>,
}