Packages
Strict-by-default SAML 2.0 Service Provider library for Elixir and Phoenix.
Retired package: Security issue - Critical auth bypass (GHSA-jv46-xfwm-36j7). Upgrade to 1.2.0.
Security advisory:
This version has known vulnerabilities.
View advisories
Current section
Files
Jump to
Current section
Files
lib/mix/tasks/relyra.diagnostic.ex
defmodule Mix.Tasks.Relyra.Diagnostic do
@moduledoc """
Generates a diagnostic bundle of the current Relyra state.
Writes the output to `./relyra_diagnostic_bundle.zip`.
mix relyra.diagnostic --repo MyApp.Repo
"""
@shortdoc "Generate a Relyra diagnostic bundle."
use Mix.Task
@impl true
def run(args) do
Mix.Task.run("app.start")
{opts, _argv, _invalid} =
OptionParser.parse(args,
strict: [repo: :string],
aliases: [r: :repo]
)
repo_string =
Keyword.get(opts, :repo) ||
Mix.raise("--repo is required")
repo =
try do
String.to_existing_atom(repo_string)
rescue
ArgumentError -> Mix.raise("Repo module #{repo_string} is not loaded")
end
case Relyra.Diagnostic.create_bundle(repo: repo) do
{:ok, zip_binary} ->
path = "./relyra_diagnostic_bundle.zip"
File.write!(path, zip_binary)
Mix.shell().info("relyra.diagnostic: Successfully wrote diagnostic bundle to #{path}")
:ok
{:error, error} ->
Mix.raise("relyra.diagnostic failed: #{error.message}")
end
end
end