diff options
author | href <href@random.sh> | 2019-01-26 16:58:23 +0100 |
---|---|---|
committer | href <href@random.sh> | 2019-01-26 16:58:23 +0100 |
commit | d6015338c8fea62602e969a498b80c2a5b754909 (patch) | |
tree | f2356913c85880acf9801ed17152ea283f4a2e31 | |
parent | 6383fa3a5d1a269315001b445dafc73a059dd8cb (diff) | |
download | pleroma-d6015338c8fea62602e969a498b80c2a5b754909.tar.gz |
Flake: support integers in from_string/1
Some previously issued stateless tokens have integer ids in them.
-rw-r--r-- | lib/pleroma/flake_id.ex | 4 | ||||
-rw-r--r-- | test/flake_id_test.exs | 1 |
2 files changed, 5 insertions, 0 deletions
diff --git a/lib/pleroma/flake_id.ex b/lib/pleroma/flake_id.ex index 26399ae05..69482f69a 100644 --- a/lib/pleroma/flake_id.ex +++ b/lib/pleroma/flake_id.ex @@ -33,6 +33,10 @@ defmodule Pleroma.FlakeId do def to_string(s), do: s + def from_string(int) when is_integer(int) do + from_string(Kernel.to_string(int)) + end + for i <- [-1, 0] do def from_string(unquote(i)), do: <<0::integer-size(128)>> def from_string(unquote(Kernel.to_string(i))), do: <<0::integer-size(128)>> diff --git a/test/flake_id_test.exs b/test/flake_id_test.exs index 8e969fd1c..ca2338041 100644 --- a/test/flake_id_test.exs +++ b/test/flake_id_test.exs @@ -11,6 +11,7 @@ defmodule Pleroma.FlakeIdTest do test "from_string/1" do fake_flake = <<0::integer-size(64), 42::integer-size(64)>> assert from_string("42") == fake_flake + assert from_string(42) == fake_flake end test "zero or -1 is a null flake" do |