# `Magpie.FolderMetadata`
[🔗](https://github.com/alexcassol/magpie/blob/v0.5.1/lib/magpie/folder_metadata.ex#L1)

A folder in the user's Dropbox, as returned by the `files` endpoints
(`/files/get_metadata`, `/files/list_folder`, `/files/create_folder_v2`, ...).

Built by `Magpie.Metadata.decode/1`:

    {:ok, %Magpie.FolderMetadata{id: "id:" <> _, name: "Photos"}} =
      Magpie.Files.create_folder(client, "/Photos")

`sharing_info` (a `FolderSharingInfo` object, present when the folder is
shared) and `property_groups` are kept as the raw maps Dropbox returned.

# `t`

```elixir
@type t() :: %Magpie.FolderMetadata{
  id: String.t(),
  name: String.t(),
  parent_shared_folder_id: String.t() | nil,
  path_display: String.t() | nil,
  path_lower: String.t() | nil,
  preview_url: String.t() | nil,
  property_groups: [map()] | nil,
  shared_folder_id: String.t() | nil,
  sharing_info: map() | nil
}
```

# `from_map`

```elixir
@spec from_map(map()) :: t()
```

Builds the struct from a decoded `FolderMetadata` JSON object.

Prefer `Magpie.Metadata.decode/1`, which also handles files and deleted
entries by looking at the `".tag"`.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
