1
0
mirror of https://github.com/elisspace/FxLifeSheet.git synced 2026-08-29 15:44:00 +00:00
Files
FxLifeSheet/visual_playground/server.rb
2022-02-06 20:09:36 +01:00

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