add encoders for classic feed and message types

This commit is contained in:
glyph 2022-09-19 17:58:58 +01:00
parent 056d34104f
commit 9c75595755

View File

@ -2,10 +2,14 @@
# - use the `where` conditional guard with e.g. `is_number`
defmodule SsbBfe.Encoder do
defp extract_base64_data(str) do
base64_data = String.slice(str, 1, 44)
Base.decode64(base64_data)
end
def encode_blob(blob_id) do
blob_tf_tag = SsbBfe.Types.get_blob_type(blob_id)
base64_data = String.slice(blob_id, 1, 44)
{:ok, decoded_base64_data} = Base.decode64(base64_data)
{:ok, decoded_base64_data} = extract_base64_data(blob_id)
blob_tf_tag <> decoded_base64_data
end
@ -19,4 +23,16 @@ defmodule SsbBfe.Encoder do
{:ok, decoded_base64_data} = Base.decode64(base64_data)
box_tf_tag <> decoded_base64_data
end
def encode_feed(feed_id) do
feed_tf_tag = SsbBfe.Types.get_feed_type(feed_id)
{:ok, decoded_base64_data} = extract_base64_data(feed_id)
feed_tf_tag <> decoded_base64_data
end
def encode_msg(msg_id) do
msg_tf_tag = SsbBfe.Types.get_msg_type(msg_id)
{:ok, decoded_base64_data} = extract_base64_data(msg_id)
msg_tf_tag <> decoded_base64_data
end
end