-module(rocksky@dropbox).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/rocksky/dropbox.gleam").
-export([get_files/0, with_at/2, get_metadata/1, get_temporary_link/1, download_file/1]).
-if(?OTP_RELEASE >= 27).
-define(MODULEDOC(Str), -moduledoc(Str)).
-define(DOC(Str), -doc(Str)).
-else.
-define(MODULEDOC(Str), -compile([])).
-define(DOC(Str), -compile([])).
-endif.
?MODULEDOC(" `app.rocksky.dropbox.*` — read files from the user's connected Dropbox.\n").
-file("src/rocksky/dropbox.gleam", 8).
?DOC(" `app.rocksky.dropbox.getFiles` — list files. Use `with_at` for a path.\n").
-spec get_files() -> rocksky:request(gleam@dynamic:dynamic_()).
get_files() ->
rocksky:'query'(
<<"app.rocksky.dropbox.getFiles"/utf8>>,
{decoder, fun gleam@dynamic@decode:decode_dynamic/1}
).
-file("src/rocksky/dropbox.gleam", 12).
-spec with_at(rocksky:request(HSG), binary()) -> rocksky:request(HSG).
with_at(Req, At) ->
rocksky:param(Req, <<"at"/utf8>>, At).
-file("src/rocksky/dropbox.gleam", 17).
?DOC(" `app.rocksky.dropbox.getMetadata` — get metadata for a single file.\n").
-spec get_metadata(binary()) -> rocksky:request(gleam@dynamic:dynamic_()).
get_metadata(Path) ->
_pipe = rocksky:'query'(
<<"app.rocksky.dropbox.getMetadata"/utf8>>,
{decoder, fun gleam@dynamic@decode:decode_dynamic/1}
),
rocksky:param(_pipe, <<"path"/utf8>>, Path).
-file("src/rocksky/dropbox.gleam", 23).
?DOC(" `app.rocksky.dropbox.getTemporaryLink` — short-lived download link.\n").
-spec get_temporary_link(binary()) -> rocksky:request(gleam@dynamic:dynamic_()).
get_temporary_link(Path) ->
_pipe = rocksky:'query'(
<<"app.rocksky.dropbox.getTemporaryLink"/utf8>>,
{decoder, fun gleam@dynamic@decode:decode_dynamic/1}
),
rocksky:param(_pipe, <<"path"/utf8>>, Path).
-file("src/rocksky/dropbox.gleam", 30).
?DOC(
" `app.rocksky.dropbox.downloadFile` — proxy a file download by id.\n"
" Returns raw bytes; the SDK still types it as `Dynamic`.\n"
).
-spec download_file(binary()) -> rocksky:request(gleam@dynamic:dynamic_()).
download_file(File_id) ->
_pipe = rocksky:'query'(
<<"app.rocksky.dropbox.downloadFile"/utf8>>,
{decoder, fun gleam@dynamic@decode:decode_dynamic/1}
),
rocksky:param(_pipe, <<"fileId"/utf8>>, File_id).