dropbox-sdk 0.20.3

Rust bindings to the Dropbox API, generated by Stone from the official spec.
Documentation
namespace common

alias EmailAddress = String(max_length=255, pattern="^['#&A-Za-z0-9._%+-]+@[A-Za-z0-9-][A-Za-z0-9.-]*\\.[A-Za-z]{2,15}$")

alias NamePart = String(max_length=50, min_length=1, pattern="[^\/:?*<>\"|]*")

alias OptionalNamePart = String(max_length=50, pattern="[^\/:?*<>\"|]*")

alias DisplayName = String(pattern="[^\/:?*<>\"|]*")

alias DisplayNameLegacy = String

alias NamespaceId = String(pattern="[-_0-9a-zA-Z:]+")

alias SharedFolderId = NamespaceId

alias SessionId = String

alias LanguageCode = String(min_length=2)

union PathRoot
    home
        "Paths are relative to the authenticating user's home namespace,
        whether or not that user belongs to a team."
    root NamespaceId
        "Paths are relative to the authenticating user's root namespace
        (This results in :field:`PathRootError.invalid_root` if the
        user's root namespace has changed.)."
    namespace_id NamespaceId
        "Paths are relative to given namespace id (This results in
        :field:`PathRootError.no_permission` if you don't have access
        to this namespace.)."

struct RootInfo
    "Information about current user's root."
    union
        team TeamRootInfo
        user UserRootInfo
    root_namespace_id NamespaceId
        "The namespace ID for user's root namespace. It will be the namespace ID
        of the shared team root if the user is member of a team with a separate team root,
        or the user root if user is member of a team with separate distinct roots for users.
        Otherwise it will be the same as :field:`RootInfo.home_namespace_id`."
    home_namespace_id NamespaceId
        "The namespace ID for user's home namespace."

    example default
        user = default

struct DropboxDuration
    seconds Int64
    nanos Int32

struct TeamRootInfo extends RootInfo
    "Root info when user is member of a team with a separate root namespace ID."
    home_path String
        "The path for user's home directory under the shared team root."

struct UserRootInfo extends RootInfo
    "Root info when user is not member of a team or
    the user is a member of a team and the team does not have a separate root namespace."
    home_path String?
        "The path for user's home directory under the distinct user root."

    example default
        home_namespace_id = "3235641"
        root_namespace_id = "3235641"

union PathRootError
    invalid_root RootInfo
        "The root namespace id in Dropbox-API-Path-Root header is not valid. The value
        of this error is the user's latest root info."
    no_permission
        "You don't have permission to access the namespace id in Dropbox-API-Path-Root
        header."


# Annotates fields to serialize a subset of total fields, depending on caller type
annotation InternalOnly = Omitted("internal")

# Annotates fields to redact information before storing in logs

# Annotates fields for documentation changes
annotation Deprecated = Deprecated()
annotation Preview = Preview()

alias DropboxTimestamp = Timestamp("%Y-%m-%dT%H:%M:%SZ")

alias Date = Timestamp("%Y-%m-%d")