Current section
Files
Jump to
Current section
Files
lib/provider/provider.ex
defmodule PhoneVerification.Provider do
@type phone_number :: %{
required(:country_code) => non_neg_integer() | String.t(),
required(:subscriber_number) => String.t()
}
@type verification_code :: String.t()
@callback start(%{
required(:phone_number) => phone_number(),
required(:via) => :sms | :call,
optional(:locale) => String.t(),
optional(:code_length) => non_neg_integer(),
optional(:custom_code) => verification_code()
}) ::
{:ok, %{message: String.t()}} | {:error, %{message: String.t(), code: String.t()}}
@callback check(%{
required(:phone_number) => phone_number(),
required(:verification_code) => verification_code()
}) ::
{:ok, %{message: String.t()}} | {:error, %{message: String.t(), code: String.t()}}
end