-module(rocksky@like).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/rocksky/like.gleam").
-export([like_song/1, dislike_song/1, like_shout/1, dislike_shout/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.like.*` — like / dislike songs and shouts.\n").
-file("src/rocksky/like.gleam", 8).
-spec uri_body(binary()) -> gleam@json:json().
uri_body(Uri) ->
gleam@json:object([{<<"uri"/utf8>>, gleam@json:string(Uri)}]).
-file("src/rocksky/like.gleam", 13).
?DOC(" `app.rocksky.like.likeSong` — like the song at `uri`.\n").
-spec like_song(binary()) -> rocksky:request(rocksky@generated@types:song_view_basic()).
like_song(Uri) ->
_pipe = rocksky:procedure(
<<"app.rocksky.like.likeSong"/utf8>>,
rocksky@decoders:song()
),
rocksky:body(_pipe, uri_body(Uri)).
-file("src/rocksky/like.gleam", 19).
?DOC(" `app.rocksky.like.dislikeSong` — remove a like from the song at `uri`.\n").
-spec dislike_song(binary()) -> rocksky:request(rocksky@generated@types:song_view_basic()).
dislike_song(Uri) ->
_pipe = rocksky:procedure(
<<"app.rocksky.like.dislikeSong"/utf8>>,
rocksky@decoders:song()
),
rocksky:body(_pipe, uri_body(Uri)).
-file("src/rocksky/like.gleam", 25).
?DOC(" `app.rocksky.like.likeShout` — like the shout at `uri`.\n").
-spec like_shout(binary()) -> rocksky:request(rocksky@types:shout()).
like_shout(Uri) ->
_pipe = rocksky:procedure(
<<"app.rocksky.like.likeShout"/utf8>>,
rocksky@decoders:shout()
),
rocksky:body(_pipe, uri_body(Uri)).
-file("src/rocksky/like.gleam", 31).
?DOC(" `app.rocksky.like.dislikeShout` — remove a like from the shout at `uri`.\n").
-spec dislike_shout(binary()) -> rocksky:request(rocksky@types:shout()).
dislike_shout(Uri) ->
_pipe = rocksky:procedure(
<<"app.rocksky.like.dislikeShout"/utf8>>,
rocksky@decoders:shout()
),
rocksky:body(_pipe, uri_body(Uri)).