Guest User

Untitled

a guest
Feb 19th, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.65 KB | None | 0 0
  1. def reboot(conn, %{"url" => url, "port" => port, "user" => user, "password" => password} = _params) do
  2. with %User{} <- conn.assigns[:current_user] do
  3. with %Porcelain.Result{err: nil, out: output, status: 0} <- Porcelain.shell("nvr_reboot #{url} #{port} #{user} #{password}") do
  4. String.match?(output, ~r/success/)
  5. |> case do
  6. true -> conn |> put_status(201) |> json(%{reboot: true})
  7. _ -> render_error(conn, 400, "Failed to reboot NVR.")
  8. end
  9. else
  10. _ -> render_error(conn, 400, "Failed to reboot NVR.")
  11. end
  12. else
  13. nil ->
  14. render_error(conn, 401, "Unauthorized")
  15. end
  16. end
Add Comment
Please, Sign In to add comment