PhoenixKitStaff.Schemas.Team (PhoenixKitStaff v0.3.0)

Copy Markdown View Source

A team inside a department.

See PhoenixKitStaff.Schemas.Department for the translations shape and read-path semantics — Team uses the same pattern.

Summary

Functions

DB-column field names that participate in the translations JSONB.

Types

t()

@type t() :: %PhoenixKitStaff.Schemas.Team{
  __meta__: term(),
  department:
    PhoenixKitStaff.Schemas.Department.t()
    | Ecto.Association.NotLoaded.t()
    | nil,
  department_uuid: UUIDv7.t() | nil,
  description: String.t() | nil,
  inserted_at: DateTime.t() | nil,
  name: String.t() | nil,
  team_memberships:
    [PhoenixKitStaff.Schemas.TeamMembership.t()]
    | Ecto.Association.NotLoaded.t(),
  translations: translations_map(),
  updated_at: DateTime.t() | nil,
  uuid: UUIDv7.t() | nil
}

translations_map()

@type translations_map() :: %{
  optional(String.t()) => %{optional(String.t()) => String.t()}
}

Functions

changeset(team, attrs)

@spec changeset(t() | Ecto.Changeset.t(t()), map()) :: Ecto.Changeset.t(t())

localized_description(t, lang)

@spec localized_description(t(), String.t() | nil) :: String.t() | nil

localized_name(t, lang)

@spec localized_name(t(), String.t() | nil) :: String.t() | nil

translatable_fields()

@spec translatable_fields() :: [String.t()]

DB-column field names that participate in the translations JSONB.