Packages
ckeditor5_phoenix
1.15.4
1.28.2
1.28.1
1.28.0
1.27.2
1.27.1
1.27.0
1.26.0
1.25.1
1.25.0
1.24.2
1.24.1
1.24.0
1.23.0
1.22.0
1.21.0
1.20.0
1.19.0
1.18.0
1.17.2
1.17.1
1.17.0
1.16.1
1.16.0
1.15.8
1.15.7
1.15.6
1.15.5
1.15.4
1.15.3
1.15.2
1.15.1
1.15.0
1.14.2
1.14.1
1.14.0
1.13.0
1.12.0
1.11.0
1.10.2
1.10.1
1.10.0
1.9.0
1.8.0
1.7.0
1.6.0
1.5.0
1.4.1
1.4.0
1.3.0
1.2.1
1.2.0
1.1.0
1.0.8
1.0.7
CKEditor 5 integration for Phoenix Framework
Current section
Files
Jump to
Current section
Files
lib/license/extractor.ex
defmodule CKEditor5.License.Extractor do
@moduledoc false
alias CKEditor5.Errors
@doc """
Extracts distribution channel from license key.
"""
def distribution_channel("GPL"), do: {:ok, "sh"}
def distribution_channel(key) do
with parts when length(parts) == 3 <- String.split(key, "."),
[_header, payload, _signature] <- parts,
{:ok, decoded_payload} <- Base.url_decode64(payload, padding: false),
{:ok, json} <- Jason.decode(decoded_payload) do
{:ok, Map.get(json, "distributionChannel")}
else
_ -> {:error, %Errors.InvalidLicenseKey{key: key}}
end
end
end