Packages

a collection of inspiring statuses and methods to return them.

Current section

Files

Jump to
statuses lib statuses.ex
Raw

lib/statuses.ex

defmodule Statuses do
@moduledoc """
The `Statuses` module create a list of
statuses to be used in Elixir projects
"""
@doc """
Returns list of the statuses
"""
@spec get_statuses() :: list(Status.t())
def get_statuses() do
[
%Status{
code: 1,
desc:
"A person verified by a 3rd party OAuth provider or by confirming their email address",
text: :verified
},
%Status{
code: 2,
desc: "All items are uncategorized when they are first created. (Yes, US spelling)",
text: :uncategorized
},
%Status{
code: 3,
desc: "An App, Item or Person can be active; this is the default state for an App",
text: :active
},
%Status{code: 4, desc: "Items marked as done are complete", text: "done"},
%Status{
code: 5,
desc: "A flagged App, Item or Person requires admin attention",
text: :flagged
},
%Status{
code: 6,
desc:
"Soft-deleted items that no longer appear in UI but are kept for audit trail purposes",
text: :deleted
},
%Status{
code: 7,
desc: "When an email or item is ready to be started/sent is still pending",
text: :pending
},
%Status{
code: 8,
desc: "An email that has been sent but not yet opened",
text: :sent
},
%Status{code: 9, desc: "When an email is opened by the recipient", text: :opened},
%Status{
code: 10,
desc: "Temporary email bounce e.g. because inbox is full",
text: :bounce_transient
},
%Status{
code: 11,
desc: "Permanent email bounce e.g. when inbox doesn't exist",
text: :bounce_permanent
},
%Status{code: 200, desc: "successful HTTP request", text: :ok},
%Status{
code: 307,
desc: "the request should be repeated with another URI",
text: :temporary_redirect
},
%Status{
code: 308,
desc: "all future requests should be directed to the given URI",
text: :permanent_redirect
},
%Status{
code: 400,
desc: "server cannot or will not process the request due to an apparent client error",
text: :bad_request
},
%Status{
code: 401,
desc: "when authentication is required and has failed",
text: :unauthorized
},
%Status{code: 403, desc: "request forbidden", text: :forbidden},
%Status{code: 404, desc: "requested resource could not be found", text: :not_found},
%Status{
code: 429,
desc: "has sent too many requests in a given amount of time",
text: :too_many_requests
},
%Status{
code: 500,
desc: "an unexpected condition was encountered",
text: :internal_server_error
}
]
end
@doc """
Returns the list of statuses as json
"""
def statuses_to_json(), do: Jason.encode!(get_statuses())
end