dropbox-sdk 0.19.1

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

import common
import async

alias TagText = String(min_length=1, max_length=32, pattern="[\\w]+")

union Tag
    "Tag that can be added in multiple ways."

    user_generated_tag UserGeneratedTag
        "Tag generated by the user."

    example default
        user_generated_tag = default


struct UserGeneratedTag
    tag_text TagText

    example default
        tag_text = "my_tag"


union BaseTagError
    path LookupError


#####################################
#      Add Tag to an item
#####################################
struct AddTagArg
    path Path
        "Path to the item to be tagged."

    tag_text TagText
        "The value of the tag to add. Will be automatically converted to lowercase letters."

    example default
        path = "/Prime_Numbers.txt"
        tag_text = "my_tag"

union AddTagError extends BaseTagError
    too_many_tags
        "The item already has the maximum supported number of tags."

route tags/add(AddTagArg, Void, AddTagError)
    "Add a tag to an item. A tag is a string. The strings are automatically converted to lowercase letters. No more than 20 tags can be added to a given item."

    attrs
        auth = "user"
        is_preview = true
        scope = "files.metadata.write"


#####################################
#      Remove Tag from a item
#####################################

struct RemoveTagArg
    path Path
        "Path to the item to tag."

    tag_text TagText
        "The tag to remove. Will be automatically converted to lowercase letters."

    example default
        path = "/Prime_Numbers.txt"
        tag_text = "my_tag"

union RemoveTagError extends BaseTagError
    tag_not_present
        "That tag doesn't exist at this path."

route tags/remove(RemoveTagArg, Void, RemoveTagError)
    "Remove a tag from an item."

    attrs
        auth = "user"
        is_preview = true
        scope = "files.metadata.write"

###############################################
#      Get tags by item
###############################################
struct GetTagsArg
    paths List(Path)
        "Path to the items."

    example default
        paths = ["/Prime_Numbers.txt"]

struct PathToTags
    path Path
        "Path of the item."
    tags List(Tag)
        "Tags assigned to this item."
    example default
        path = "/Prime_Numbers.txt"
        tags = [default]

struct GetTagsResult
    paths_to_tags List(PathToTags)
        "List of paths and their corresponding tags."

    example default
        paths_to_tags = [default]

route tags/get(GetTagsArg, GetTagsResult, BaseTagError)
    "Get list of tags assigned to items."

    attrs
        auth = "user"
        is_preview = true
        scope = "files.metadata.read"