aboutsummaryrefslogtreecommitdiff
path: root/shardweb/lib/shard_uri.ex
diff options
context:
space:
mode:
authorAlex Auvolat <alex@adnab.me>2018-11-05 15:03:31 +0100
committerAlex Auvolat <alex@adnab.me>2018-11-05 15:03:31 +0100
commit72906c6bb473ea605235c84b6d01c318f7b6cef8 (patch)
tree904bb90dea4642ccce55a20145a2349f4f7aaf25 /shardweb/lib/shard_uri.ex
parenta26dd9284352000cca6338b68c03594dcd900494 (diff)
downloadshard-72906c6bb473ea605235c84b6d01c318f7b6cef8.tar.gz
shard-72906c6bb473ea605235c84b6d01c318f7b6cef8.zip
File shard quite complete (but not perfect)
Diffstat (limited to 'shardweb/lib/shard_uri.ex')
-rw-r--r--shardweb/lib/shard_uri.ex42
1 files changed, 0 insertions, 42 deletions
diff --git a/shardweb/lib/shard_uri.ex b/shardweb/lib/shard_uri.ex
deleted file mode 100644
index 71c0904..0000000
--- a/shardweb/lib/shard_uri.ex
+++ /dev/null
@@ -1,42 +0,0 @@
-defmodule ShardURI do
- @moduledoc"""
- Convert Shard manifests to and from strings.
- """
-
- def from_manifest(m) do
- case m do
- %SApp.Chat.Manifest{channel: chan} -> "shard:chat:#{chan}"
- %SApp.Chat.PrivChat.Manifest{pk_list: pk_list} ->
- "shard:privchat:#{pk_list|>Enum.map(&Base.encode16/1)|>Enum.join(",")}"
- %SApp.Identity.Manifest{pk: pk} ->
- "shard:identity:#{pk|>Base.encode16}"
- %SApp.Directory.Manifest{owner: owner, public: true, name: name} ->
- "shard:dir:pub:#{owner|>Base.encode16}:#{name}"
- %SApp.Directory.Manifest{owner: owner, public: false, name: name} ->
- "shard:dir:priv:#{owner|>Base.encode16}:#{name}"
- end
- end
-
- def to_manifest(p) do
- case p do
- "shard:chat:" <> chan ->
- %SApp.Chat.Manifest{channel: chan}
- "shard:privchat:" <> pklist ->
- pklist
- |> String.split(",")
- |> Enum.map(&parse_pk/1)
- |> SApp.Chat.PrivChat.Manifest.new()
- "shard:identity:" <> pk ->
- %SApp.Identity.Manifest{pk: parse_pk pk}
- "shard:dir:pub:" <> <<pk::bytes-size(64)>> <> ":" <> name ->
- %SApp.Directory.Manifest{owner: parse_pk(pk), public: true, name: name}
- "shard:dir:priv:" <> <<pk::bytes-size(64)>> <> ":" <> name ->
- %SApp.Directory.Manifest{owner: parse_pk(pk), public: false, name: name}
- end
- end
-
- def parse_pk(pkstr) do
- 64 = byte_size pkstr
- Base.decode16! pkstr
- end
-end