Current section

Files

Jump to
blossom lib blossom models verifications_codes.ex
Raw

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