is there anyway to do something like put_session or assigns(conn, :key, value) in drab, defhandler?
defhandler shorten_url(socket, sender) do
long_url = sender.params["long_url_textarea"]
user_id = socket.assigns.current_user_id
order_id = socket.assigns.order_id
long_url = String.trim(long_url)
case Analytics.create_short_link(long_url) do
{:ok, results} ->
# Create bitly struct
%{id: bitlink_id, link: bitlink_url, long_url: long_url} = results
{:ok, bitly} = Bitly.create_bitly(%{bitlink_id: bitlink_id, bitlink_url: bitlink_url, long_url: long_url, total_clicks: 0, user_id: user_id, order_id: order_id})
poke socket, shorten_url: bitlink_url, long_url: long_url, bitlink_id: bitly.id
{:error, errors} ->
set_prop socket, "#long-url-error", innerHTML: "Something wrong found in your url. Make sure including http://, for example http://www.example.com"
end
end
in this code, {:ok, bitly} = Bitly.create_bitly(%{bitlink_id: bitlink_id, bitlink_url: bitlink_url, long_url: long_url, total_clicks: 0, user_id: user_id, order_id: order_id})
I want to do something like put_session(conn, :bitly_id, bitly.id) to get a bitly id in next page.
is there anyway to do something likeput_session or assigns(conn, :key, value)
in drab, defhandler?
any solution?
Thanks!