Minor changes
This commit is contained in:
@@ -2,6 +2,9 @@ defmodule Logsrv do
|
||||
@moduledoc """
|
||||
Documentation for `Logsrv`.
|
||||
"""
|
||||
def hello do
|
||||
:world
|
||||
end
|
||||
|
||||
def dir do
|
||||
Application.get_env(:logsrv, :dir) <> "/"
|
||||
@@ -43,6 +46,12 @@ defmodule Logsrv do
|
||||
{conflicts(journals()), conflicts(pages())}
|
||||
end
|
||||
|
||||
def conflicts! do
|
||||
[conflicts(journals()), conflicts(pages())]
|
||||
|> List.flatten()
|
||||
end
|
||||
|
||||
|
||||
def conflicts(list) do
|
||||
list
|
||||
|> Enum.filter( fn (fd) ->
|
||||
@@ -58,7 +67,7 @@ defmodule Logsrv do
|
||||
|> Enum.map( fn(fd) ->
|
||||
%{
|
||||
:type => :journal,
|
||||
:date => fd |> Logsrv.Helpers.to_date,
|
||||
:date => fd |> Logsrv.Helpers.to_date!,
|
||||
:file => fd,
|
||||
:diff => compare(dir(:journals) <> fd),
|
||||
}
|
||||
@@ -76,4 +85,13 @@ defmodule Logsrv do
|
||||
|
||||
end
|
||||
|
||||
def add_thought(:journals, data) do
|
||||
journal_date = data.date
|
||||
date_formatted = journal_date
|
||||
|> Calendar.strftime("%Y_%m_%d")
|
||||
content = data.content
|
||||
|
||||
{:ok, date_formatted}
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
@@ -5,6 +5,12 @@ defmodule Logsrv.Helpers do
|
||||
end
|
||||
|
||||
def to_date(str) do
|
||||
str
|
||||
|> String.replace(~r/\..*/,"")
|
||||
|> String.replace("_","-")
|
||||
|> Date.from_iso8601()
|
||||
end
|
||||
def to_date!(str) do
|
||||
str
|
||||
|> String.replace(~r/\..*/,"")
|
||||
|> String.replace("_","-")
|
||||
|
||||
@@ -22,7 +22,40 @@ defmodule Logsrv.Router do
|
||||
|
||||
# Handler for GET request with "/" path
|
||||
get "/" do
|
||||
|
||||
send_resp(conn, 200, "OK")
|
||||
|
||||
end
|
||||
|
||||
# Handler for GET request to "/status"
|
||||
get "/status" do
|
||||
|
||||
most_recent = Logsrv.journals
|
||||
|> Enum.sort
|
||||
|> List.last
|
||||
|> Logsrv.Helpers.to_date
|
||||
|
||||
conflicts = Logsrv.conflicts! |> length
|
||||
|
||||
status = case conflicts do
|
||||
0 ->
|
||||
:ok
|
||||
_ ->
|
||||
:conflicts
|
||||
end
|
||||
|
||||
summary = %{
|
||||
:status => status,
|
||||
:journals => Logsrv.journals |> length,
|
||||
:pages => Logsrv.pages|> length,
|
||||
:most_recent => most_recent,
|
||||
:conflicts => conflicts
|
||||
}
|
||||
|> Jason.encode!
|
||||
|
||||
conn
|
||||
|> put_resp_content_type("application/json")
|
||||
|> send_resp(200, summary)
|
||||
end
|
||||
|
||||
get "/journals" do
|
||||
|
||||
Reference in New Issue
Block a user