Current section
Files
Jump to
Current section
Files
lib/polarex/schemas/organization.ex
defmodule Polarex.Organization do
@moduledoc """
Provides struct and type for a Organization
"""
@type t :: %__MODULE__{
avatar_url: String.t() | nil,
created_at: DateTime.t(),
details_submitted_at: DateTime.t() | nil,
email: String.t() | nil,
feature_settings: Polarex.OrganizationFeatureSettings.t() | nil,
id: String.t(),
modified_at: DateTime.t() | nil,
name: String.t(),
notification_settings: Polarex.OrganizationNotificationSettings.t(),
slug: String.t(),
socials: [Polarex.OrganizationSocialLink.t()],
status: String.t(),
subscription_settings: Polarex.OrganizationSubscriptionSettings.t(),
website: String.t() | nil
}
defstruct [
:avatar_url,
:created_at,
:details_submitted_at,
:email,
:feature_settings,
:id,
:modified_at,
:name,
:notification_settings,
:slug,
:socials,
:status,
:subscription_settings,
:website
]
@doc false
@spec __fields__(atom) :: keyword
def __fields__(type \\ :t)
def __fields__(:t) do
[
avatar_url: {:union, [{:string, :generic}, :null]},
created_at: {:string, :date_time},
details_submitted_at: {:union, [{:string, :date_time}, :null]},
email: {:union, [{:string, :generic}, :null]},
feature_settings: {:union, [{Polarex.OrganizationFeatureSettings, :t}, :null]},
id: {:string, :generic},
modified_at: {:union, [{:string, :date_time}, :null]},
name: {:string, :generic},
notification_settings: {Polarex.OrganizationNotificationSettings, :t},
slug: {:string, :generic},
socials: [{Polarex.OrganizationSocialLink, :t}],
status: {:enum, ["created", "onboarding_started", "under_review", "denied", "active"]},
subscription_settings: {Polarex.OrganizationSubscriptionSettings, :t},
website: {:union, [{:string, :generic}, :null]}
]
end
end