mirror of
https://github.com/elisspace/FxLifeSheet.git
synced 2026-08-29 15:44:00 +00:00
71 lines
1.4 KiB
Ruby
71 lines
1.4 KiB
Ruby
require "sinatra"
|
|
require_relative "./api"
|
|
require "pry"
|
|
|
|
api = API.new
|
|
|
|
get "/" do
|
|
File.read("frontend.html")
|
|
end
|
|
|
|
def json_response
|
|
content_type 'application/json'
|
|
response['Access-Control-Allow-Origin'] = 'http://127.0.0.1:8000'
|
|
end
|
|
|
|
get "/data" do
|
|
json_response
|
|
|
|
JSON.pretty_generate(api.fetch(
|
|
key: params.fetch("key"),
|
|
group_by: params.fetch("group_by", "month"),
|
|
start_date: params.fetch("start_date", ENV["DEFAULT_MIN_DATE"].strip)
|
|
))
|
|
end
|
|
|
|
get "/keys" do
|
|
json_response
|
|
|
|
JSON.pretty_generate(api.list_keys)
|
|
end
|
|
|
|
get "/github_style" do
|
|
json_response
|
|
|
|
JSON.pretty_generate(api.github_style(
|
|
key: params.fetch("key"),
|
|
start_date: params.fetch("start_date", ENV["DEFAULT_MIN_DATE"].strip)
|
|
))
|
|
end
|
|
|
|
get "/pie_data" do
|
|
json_response
|
|
|
|
JSON.pretty_generate(api.pie_data(
|
|
key: params.fetch("key"),
|
|
start_date: params["start_date"],
|
|
end_date: params["end_date"],
|
|
))
|
|
end
|
|
|
|
get "/bucket_options_list" do
|
|
json_response
|
|
|
|
JSON.pretty_generate(api.bucket_options_list(
|
|
by: params.fetch("by"),
|
|
start_date: params.fetch("start_date", ENV["DEFAULT_MIN_DATE"].strip),
|
|
numeric: params.fetch("numeric", "true") == "true"
|
|
))
|
|
end
|
|
|
|
get "/bucket" do
|
|
json_response
|
|
|
|
JSON.pretty_generate(api.bucket(
|
|
by: params.fetch("by"),
|
|
bucket_border: params.fetch("bucketBorder"),
|
|
start_date: params.fetch("start_date", ENV["DEFAULT_MIN_DATE"].strip),
|
|
numeric: params.fetch("numeric", "true") == "true"
|
|
))
|
|
end
|