pub struct DriveMutationOutcome {
pub operation: &'static str,
pub file_id: String,
pub file_name: String,
pub status: String,
pub added_principals: Vec<String>,
pub removed_principals: Vec<String>,
pub crosses_drive_boundary: bool,
pub resolved_folder_id: Option<String>,
pub decided_by_folder_id: Option<String>,
pub decided_by_depth: Option<usize>,
pub error: Option<String>,
pub duration: Duration,
}Expand description
The outcome of one drive rename/drive move attempt.
Fields§
§operation: &'static str"rename" or "move"; becomes the record’s command.
file_id: StringThe Drive file id acted on.
file_name: StringThe file’s name at the time of the attempt.
status: StringThe domain outcome (e.g. "moved", "blocked", "already-in-folder",
"failed" — kebab-case, matching MoveResult’s
#[serde(tag = "status", rename_all = "kebab-case")]).
added_principals: Vec<String>Principals gaining access, when the visibility diff detected an
increase. Empty for rename (which never changes visibility) and
for a move with no visibility change.
removed_principals: Vec<String>Principals losing access — the decrease-side counterpart of
added_principals.
crosses_drive_boundary: boolWhether the file moved across a My Drive / Shared Drive boundary.
resolved_folder_id: Option<String>The folder the write-permission gate evaluated against (issue
#1574) — the --parent for create/upload, the target’s current
parent for edit. None for rename/move (never gated) and for
a content_edit outcome that short-circuited before the gate (a
Google-native-document refusal).
decided_by_folder_id: Option<String>The folder id of the configured rule that decided the write-gate
verdict, when one did (as opposed to the bare default policy).
Paired with decided_by_depth.
decided_by_depth: Option<usize>How many levels above resolved_folder_id that rule’s folder sits.
error: Option<String>The API/validation error, when the attempt failed.
duration: DurationWall time of the attempt.
Trait Implementations§
Source§impl Clone for DriveMutationOutcome
impl Clone for DriveMutationOutcome
Source§fn clone(&self) -> DriveMutationOutcome
fn clone(&self) -> DriveMutationOutcome
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for DriveMutationOutcome
impl RefUnwindSafe for DriveMutationOutcome
impl Send for DriveMutationOutcome
impl Sync for DriveMutationOutcome
impl Unpin for DriveMutationOutcome
impl UnsafeUnpin for DriveMutationOutcome
impl UnwindSafe for DriveMutationOutcome
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more