Packages
blossom
0.16.0
0.29.3
0.29.2
0.29.1
0.29.0
0.28.0
0.27.3
0.27.2
0.27.1
0.27.0
0.26.3
0.26.2
0.26.1
0.26.0
0.25.3
0.25.2
0.25.1
0.25.0
0.24.1
0.24.0
0.23.5
0.23.4
0.23.3
0.23.2
0.23.1
0.23.0
0.22.1
0.22.0
0.21.8
0.21.7
0.21.6
0.21.5
0.21.4
0.21.3
0.21.2
0.21.1
0.21.0
0.20.4
0.20.3
0.20.2
0.20.1
0.20.0
0.19.5
0.19.4
0.19.3
0.19.2
0.19.1
0.19.0
0.18.1
0.18.0
0.17.4
0.17.3
0.17.2
0.17.1
0.17.0
0.16.0
0.15.2
0.15.1
0.15.0
0.14.0
0.13.0
0.12.2
0.12.1
0.12.0
0.11.0
0.10.1
0.10.0
0.9.2
0.9.1
0.9.0
0.8.0
0.7.0
0.6.2
0.6.1
0.6.0
0.5.1
0.5.0
0.4.0
0.3.0
0.2.0
0.1.0
Easy identity for easy authentication
Current section
Files
Jump to
Current section
Files
lib/blossom/models/verifications_codes.ex
defmodule Blossom.Models.VerificationsCodes do
alias Blossom.Models.VerificationsCodes
alias KilnCore.Builders.Model, as: Builder
def new(params, user, schema, protected) do
params
|> Map.put("user", user["sub"])
|> Builder.handle_params(protected, user)
|> schema.new()
end
def delete(id, user, schema) do
case user do
:system ->
schema.delete(id)
_ ->
case schema.get(%{"id" => id, "user" => user["sub"]}) do
[] -> {:error, :forbidden}
[_code] -> schema.delete(id)
end
end
end
defmacro __using__(opts \\ []) do
quote do
use KilnCore.Model,
schema: unquote(Keyword.get(opts, :schema))
def new(params, user) do
VerificationsCodes.new(params, user, @schema, @protected_fields)
end
def delete(id, user) do
VerificationsCodes.delete(id, user, @schema)
end
end
end
end