Packages

A client library to interact with Rushfiles.

Current section

Files

Jump to
rushie lib file_meta.ex
Raw

lib/file_meta.ex

defmodule Rushie.FileMeta do
@moduledoc """
Represents metadata for a file in Rushfiles
"""
defstruct upload_name: "",
user: "",
subshare?: false,
file?: false,
internal_name: "",
share_id: "",
sub_share_ids: [],
tick: 0,
share_tick: 0,
parent_id: "",
file_size: 0,
public_name: "",
creation_time: "",
last_access_time: "",
last_write_time: "",
attributes: 0,
deleted?: false
@doc """
Parse a RfVirtualFile object from Rushfiles
"""
def parse_file_meta(file_map) do
%__MODULE__{
upload_name: get_in(file_map, ["UploadName"]),
user: get_in(file_map, ["User"]),
subshare?: get_in(file_map, ["IsSubshare"]),
file?: get_in(file_map, ["IsFile"]),
internal_name: get_in(file_map, ["InternalName"]),
share_id: get_in(file_map, ["ShareId"]),
sub_share_ids: get_in(file_map, ["SubShareIds"]),
tick: get_in(file_map, ["Tick"]),
share_tick: get_in(file_map, ["ShareTick"]),
parent_id: get_in(file_map, ["ParrentId"]),
file_size: get_in(file_map, ["EndOfFile"]),
public_name: get_in(file_map, ["PublicName"]),
creation_time: get_in(file_map, ["CreationTime"]),
last_access_time: get_in(file_map, ["LastAccessTime"]),
last_write_time: get_in(file_map, ["LastWriteTime"]),
attributes: get_in(file_map, ["Attributes"]),
deleted?: get_in(file_map, ["Deleted"])
}
end
end