Adds tests across previously-uncovered or under-covered modules: - Mix tasks: backfill_checks, copy_mibs, import_mibs (new test files) - Status pages: StatusIncident changeset (new file) - Webhook signature verification on AgentReleaseWebhookController - CloudflareBanWorker: HTTP-stubbed success / 5xx / transport-error paths - FirmwareVersionFetcherWorker: stubbed perform/0 success + non-200 + tx error - Geoip.Import: production --production code path (HTTP-stubbed) - AgentLive.Show: superuser restart_agent + update_agent + non-superuser paths - NetworkMapLive: node_clicked, deep-link node, topology_updated PubSub - PreseemInsightsLive: toggle_select, deselect_all, filter, dismiss-twice - AlertQuery: 1-arity defaults variants - ProfileWatcher: yaml + reload-trigger event passthrough - MobileAuthController: verify_qr_token success + get/revoke session - HealthController: redis-configured branch - RedisHealthCheck: un-tag :integration tests now that Redis is local - FourOhFourTracker: un-skip module (Redis available) - PingExecutor: un-tag local-only tests + KeyError surface + clamp branch - CheckExecutorWorker: dispatch tcp/dns/ssl/ping branches - UserResetPasswordController: drop dead edit/update + their template Also removes dead code: edit/update actions on UserResetPasswordController and the unused edit.html.heex template — both routed via LiveView.
30 lines
771 B
Elixir
30 lines
771 B
Elixir
defmodule ToweropsWeb.UserResetPasswordController do
|
|
@moduledoc false
|
|
|
|
use ToweropsWeb, :controller
|
|
|
|
alias Towerops.Accounts
|
|
|
|
def new(conn, _params) do
|
|
form = Phoenix.Component.to_form(%{}, as: "user")
|
|
render(conn, :new, form: form)
|
|
end
|
|
|
|
def create(conn, %{"user" => %{"email" => email}}) do
|
|
_ =
|
|
if user = Accounts.get_user_by_email(email) do
|
|
Accounts.deliver_user_reset_password_instructions(
|
|
user,
|
|
&url(~p"/users/reset-password/#{&1}")
|
|
)
|
|
end
|
|
|
|
# Always return success message to prevent email enumeration
|
|
conn
|
|
|> put_flash(
|
|
:info,
|
|
"If your email is in our system, you will receive password reset instructions shortly."
|
|
)
|
|
|> redirect(to: ~p"/users/log-in")
|
|
end
|
|
end
|