Crosswake.Policy.Route (crosswake v0.1.2)

View Source

Normalized Phase 1 route policy contract.

Summary

Types

t()

@type t() :: %Crosswake.Policy.Route{
  auth_min_level: atom() | nil,
  auth_posture: Crosswake.Policy.Schema.auth_posture() | nil,
  auth_return: Crosswake.Policy.Schema.auth_return_declaration() | nil,
  cache_contract: String.t() | nil,
  capabilities: [String.t()],
  commerce: Crosswake.Policy.Schema.commerce_declaration() | nil,
  entry: Crosswake.Policy.Schema.entry(),
  gated_by: atom() | nil,
  id: String.t(),
  island_contract: String.t() | nil,
  notification_open:
    Crosswake.Policy.Schema.notification_open_declaration() | nil,
  offline: Crosswake.Policy.Schema.offline(),
  on_unavailable: :deny | {:fallback_phoenix, atom()} | nil,
  packs: [Crosswake.Policy.Schema.pack_requirement()],
  requires_recent_auth: pos_integer() | nil,
  runtime: Crosswake.Policy.Schema.runtime(),
  security: Crosswake.Policy.Schema.security() | nil,
  sync: [String.t()],
  transfers: [Crosswake.Transfer.Contracts.declaration()]
}

Functions

new(options)

@spec new(keyword()) :: {:ok, t()} | {:error, NimbleOptions.ValidationError.t()}

new!(options)

@spec new!(keyword()) :: t()