Added, reqrote and appended keys to validation schemas
This commit is contained in:
@@ -1,13 +1,8 @@
|
|||||||
defmodule Sukaato.Vschemas do
|
defmodule Sukaato.Vschemas do
|
||||||
@moduledoc """
|
@moduledoc """
|
||||||
Provide validation schemas for tail parameters
|
Provides validation schemas for tail parameters of `Validate.validate/2`.
|
||||||
of `Validate.validate`.
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@doc """
|
|
||||||
Schema for validating updates to column `:affil` on table
|
|
||||||
corresponding to `Sukaato.User`.
|
|
||||||
"""
|
|
||||||
@affil_vschema [
|
@affil_vschema [
|
||||||
required: false,
|
required: false,
|
||||||
type: :list,
|
type: :list,
|
||||||
@@ -15,78 +10,45 @@ defmodule Sukaato.Vschemas do
|
|||||||
required: true,
|
required: true,
|
||||||
type: :map,
|
type: :map,
|
||||||
map: %{
|
map: %{
|
||||||
affil_name: [required: false, type: :string],
|
name: [required: false, type: :string],
|
||||||
affil_uri: [required: true, type: :string],
|
icon_uri: [required: true, type: :string],
|
||||||
affil_icon: [required: true, type: :string],
|
icon_name: [required: true, type: :string],
|
||||||
affil_target: [required: false, type: :string, in: [
|
protocol: [required: true, type: :string],
|
||||||
"_blank",
|
address: [required: true, type: :string],
|
||||||
"_parent",
|
scheme_postfix: [required: true, type: :string]
|
||||||
"_self",
|
|
||||||
"_top"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
|
|
||||||
@doc """
|
@doc """
|
||||||
Schema for validating updates to column `:perms` on table
|
Outputs schema for validating updates to column `:affil` on table corresponding to `Sukaato.User`.
|
||||||
corresponding to `Sukaato.User`.
|
|
||||||
"""
|
"""
|
||||||
|
def affil, do: @affil_vschema
|
||||||
|
|
||||||
@perms_vschema [
|
@perms_vschema [
|
||||||
required: true,
|
required: true,
|
||||||
type: :list,
|
type: :list,
|
||||||
list: [
|
list: [
|
||||||
required: true,
|
required: true,
|
||||||
type: :string,
|
type: :integer,
|
||||||
#@TODO create function generating these numbers from first 4 numbers
|
#@TODO create function generating these numbers from first 4 numbers
|
||||||
in: [1, 2, 4, 8, 9, 10, 12, 5, 7, 3, 6, 11, 13, 14, 15]
|
in: [1, 2, 4, 8, 9, 10, 12, 5, 7, 3, 6, 11, 13, 14, 15]
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
|
|
||||||
@doc """
|
@doc """
|
||||||
Schema for validating updates to column `:pub_keys` on table
|
Outputs schema for validating updates to column `:perms` on table corresponding to `Sukaato.User`.
|
||||||
corresponding to `Sukaato.User`.
|
|
||||||
"""
|
"""
|
||||||
@pubkeys_vschema %{
|
def perms, do: @perms_vschema
|
||||||
oauth: [
|
|
||||||
required: false,
|
|
||||||
type: :list,
|
|
||||||
list: [
|
|
||||||
required: true,
|
|
||||||
type: :map,
|
|
||||||
map: %{
|
|
||||||
access_token: [required: true, type: :string],
|
|
||||||
auth_code: [required: false, type: :string],
|
|
||||||
refresh_token: [required: false, type: :string]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
],
|
|
||||||
fido2: [
|
|
||||||
required: false,
|
|
||||||
type: :map,
|
|
||||||
map: %{
|
|
||||||
u2f: [
|
|
||||||
required: false,
|
|
||||||
type: :list,
|
|
||||||
list: [
|
|
||||||
required: true,
|
|
||||||
type: :map,
|
|
||||||
map: %{
|
|
||||||
name: [required: true, type: :string],
|
|
||||||
credential: [required: true, type: :string]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
],
|
|
||||||
}
|
|
||||||
],
|
|
||||||
totp_secret: [required: false, type: :string]
|
|
||||||
}
|
|
||||||
|
|
||||||
|
@pubkeys_vschema [
|
||||||
|
required: true,
|
||||||
|
type: :map
|
||||||
|
]
|
||||||
@doc """
|
@doc """
|
||||||
Schema for validating updates to column `:resume` on table
|
Outputs schema for validating updates to column `:pub_keys` on table corresponding to `Sukaato.User`.
|
||||||
corresponding to `Sukaato.Folio`.
|
|
||||||
"""
|
"""
|
||||||
|
def pub_keys, do: @pubkeys_vschema
|
||||||
|
|
||||||
|
# @TODO change below map string keys to atoms
|
||||||
@resume_vschema %{
|
@resume_vschema %{
|
||||||
"basics" => [
|
"basics" => [
|
||||||
required: true,
|
required: true,
|
||||||
@@ -328,11 +290,11 @@ defmodule Sukaato.Vschemas do
|
|||||||
]
|
]
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
@doc """
|
@doc """
|
||||||
Schema for validating updates to column `:showcase` on table
|
Outputs schema for validating updates to column `:resume` on table corresponding to `Sukaato.Folio`.
|
||||||
corresponding to `Sukaato.Folio`.
|
|
||||||
"""
|
"""
|
||||||
|
def resume, do: @resume_vschema
|
||||||
|
|
||||||
@showcase_vschema %{
|
@showcase_vschema %{
|
||||||
audio: [
|
audio: [
|
||||||
required: false,
|
required: false,
|
||||||
@@ -400,4 +362,8 @@ defmodule Sukaato.Vschemas do
|
|||||||
]
|
]
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@doc """
|
||||||
|
Outputs schema for validating updates to column `:showcase` on table corresponding to `Sukaato.Folio`.
|
||||||
|
"""
|
||||||
|
def showcase, do: @showcase_vschema
|
||||||
end
|
end
|
||||||
|
Reference in New Issue
Block a user